codeforces#P1195F. Geometers Anonymous Club

Geometers Anonymous Club

Description

Denis holds a Geometers Anonymous Club meeting in SIS. He has prepared $n$ convex polygons numbered from $1$ to $n$ for the club. He plans to offer members of the club to calculate Minkowski sums of these polygons. More precisely, he plans to give $q$ tasks, the $i$-th of them asks to calculate the sum of Minkowski of polygons with indices from $l_i$ to $r_i$ inclusive.

The sum of Minkowski of two sets $A$ and $B$ is the set $C = \{a + b : a \in A, b \in B\}$. It can be proven that if $A$ and $B$ are convex polygons then $C$ will also be a convex polygon.

Sum of two convex polygons

To calculate the sum of Minkowski of $p$ polygons ($p > 2$), you need to calculate the sum of Minkowski of the first $p - 1$ polygons, and then calculate the sum of Minkowski of the resulting polygon and the $p$-th polygon.

For the convenience of checking answers, Denis has decided to prepare and calculate the number of vertices in the sum of Minkowski for each task he prepared. Help him to do it.

The first line of the input contains one integer $n$ — the number of convex polygons Denis prepared ($1 \le n \le 100\,000$).

Then $n$ convex polygons follow. The description of the $i$-th polygon starts with one integer $k_i$ — the number of vertices in the $i$-th polygon ($3 \le k_i$). The next $k_i$ lines contain two integers $x_{ij}$, $y_{ij}$ each — coordinates of vertices of the $i$-th polygon in counterclockwise order ($|x_{ij}|, |y_{ij}| \le 10 ^ 9$).

It is guaranteed, that there are no three consecutive vertices lying on the same line. The total number of vertices over all polygons does not exceed $300\,000$.

The following line contains one integer $q$ — the number of tasks ($1 \le q \le 100\,000$). The next $q$ lines contain descriptions of tasks. Description of the $i$-th task contains two integers $l_i$ and $r_i$ ($1 \le l_i \le r_i \le n$).

For each task print a single integer — the number of vertices in the sum of Minkowski of polygons with indices from $l_i$ to $r_i$.

Input

The first line of the input contains one integer $n$ — the number of convex polygons Denis prepared ($1 \le n \le 100\,000$).

Then $n$ convex polygons follow. The description of the $i$-th polygon starts with one integer $k_i$ — the number of vertices in the $i$-th polygon ($3 \le k_i$). The next $k_i$ lines contain two integers $x_{ij}$, $y_{ij}$ each — coordinates of vertices of the $i$-th polygon in counterclockwise order ($|x_{ij}|, |y_{ij}| \le 10 ^ 9$).

It is guaranteed, that there are no three consecutive vertices lying on the same line. The total number of vertices over all polygons does not exceed $300\,000$.

The following line contains one integer $q$ — the number of tasks ($1 \le q \le 100\,000$). The next $q$ lines contain descriptions of tasks. Description of the $i$-th task contains two integers $l_i$ and $r_i$ ($1 \le l_i \le r_i \le n$).

Output

For each task print a single integer — the number of vertices in the sum of Minkowski of polygons with indices from $l_i$ to $r_i$.

Samples

3
3
0 0
1 0
0 1
4
1 1
1 2
0 2
0 1
3
2 2
1 2
2 1
3
1 2
2 3
1 3
5
5
6

Note

Description of the example:

First, second and third polygons from the example
Minkowski sums of the first and second, the second and third and all polygons correspondingly