primar

Time limit: 0.25s Memory limit: 256MB Input: primar.in Output: primar.out

Primarul orașului tocmai a aprobat un proiect pentru construirea unui ștrand la periferia localității. Zona pe care se dorește a fi amplasat ștrandul se poate identifica cu planul 2D (infinit). Aceasta conține NN arbori, aflați la coordonate întregi, cu lățimea de 11 metru. Nu există doi arbori la aceeași coordonată xx sau yy. Mai exact, xi≠xjx_i \neq x_j și yi≠yjy_i \neq y_j pentru orice i≠ji \neq j.

Ștrandul nu poate fi amplasat decât în locații de forma unui dreptunghi cu laturile paralele cu axele, care, din motive de sustenabilitate, nu trebuie să conțină în interiorul său niciunul dintre arbori.

Mai mult, deoarece bugetul pentru acest proiect este foarte generos, primarul este interesat doar de acele zone maximale (care nu pot fi extinse). Cu alte cuvinte, o regiune SS nu este validă dacă există o altă regiune S′≠SS' \neq S dreptunghiulară, cu laturile paralele cu axele, care nu conține niciun arbore, iar S⊂S′S \subset S'.

De exemplu, pentru cazul ilustrat în figura alăturată (primul din secțiunea de exemple) se disting două posibilități valide de amplasare a ștrandului: cea roșie (de arie 2×6=122 \times 6 = 12) și cea albastră (de arie 4×5=204 \times 5 = 20).

Care este suma ariilor tuturor regiunilor valide posibile?

Rezultatul se va afișa modulo 109+710^9 + 7.

Date de intrare

Fișierul de intrare primar.in conține pe prima linie NN, numărul de arbori. Pe următoarele NN linii se vor găsi câte două valori întregi xix_i, yiy_i (1≤i≤N1 \leq i \leq N) separate printr-un spațiu, reprezentând coordonatele arborilor.

Date de ieșire

Fișierul de ieșire primar.out va conține un singur număr natural, reprezentând suma ariilor tuturor regiunilor valide, modulo 109+710^9 + 7.

Restricții și precizări

  • Pentru toate subtask-urile, xi≠xjx_i \neq x_j și yi≠yjy_i \neq y_j, pentru orice i≠ji \neq j.
# Punctaj Restricții
1 12 xix_i , yi≤10y_i \leq 10 și N≤4N \leq 4
2 10 xix_i , yi≤20y_i \leq 20 și N≤20N \leq 20
3 12 xix_i , yi≤120y_i \leq 120 și N≤120N \leq 120
4 32 xix_i , yi≤500y_i \leq 500 și N≤500N \leq 500
5 18 xix_i , yi≤106y_i \leq 10^6 și N≤1 500N \leq 1 \ 500
6 16 xix_i , yi≤106y_i \leq 10^6 și N≤5 000N \leq 5 \ 000

Exemplul 1

primar.in

5
1 4
4 3
2 2
6 6
3 9

primar.out

32

Exemplul 2

primar.in

2
1 1
2 3

primar.out

0

Exemplul 3

primar.in

7
1 1
2 5
4 2
3 7
8 3
9 6
10 4

primar.out

52

Log in or sign up to be able to send submissions!