Dylans loves polynomial

Time Limit: 1000ms
Memory Limit: 131072KB
This problem will be judged on HDU. Original ID: 5275
64-bit integer IO format: %I64d      Java class name: Main

Description

First Dylans is given $N$ points $(x_i,y_i)$ in Rectangular Plane Coordinate System.

It guarantees that each $x$ is different.

And there are $Q$ questions.Each question are three numbers:$(L,R,x)$.

His task is to make up a polynomial that its highest coefficient is equal to $(R-L)$.

To check his polynomial,he needs to print the value($y$)of the polynomial by $x$.

Because the value and the pair of points can be very huge,so each calculate must mod $1000000007$.

All points and number $x$ in query are positive integers and not bigger than $250000$.

$2 \leq N \leq 3000,1 \leq Q \leq 3000, 1 \leq L,R \leq N,R>L$

Input

In the first line there is a number $N$.

In the next $N$ lines there are two numbers $(X_i,Y_i)$.

Then in the next line there is a number $Q$.

In the next $Q$ lines there are three numbers$(L,R,x)$

Output

For each question,output the value of polynomial.

Sample Input

4
1 1
2 2
3 3
4 4
3
1 2 1
2 3 3
2 4 1

Sample Output

1
3
1

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .