
79  The 6th Zhejiang Provincial Collegiate Programming Contest  D
Calculating the derivative of a polynomial is an easy task. But what about calculating the derivative of , where is vector? Here we denote . To calculate the derivative of , you should know 5 rules:
Now your task is to calculate the firstderivative of for some given . Input The first line of the input contains an integer T (T <= 10), indicating the number of cases. Each test case contains two blocks.The first line of the first block contains two integers, n and m (0 < n, m <= 100), indicating the number of terms of the polynomial and the dimension of . The next n lines contain m + 1 integers each, C_{i}, p_{i1}, ..., p_{im}, indicating the coefficient and the exponent of x_{j} of the ith term. The first line of the second block contains one integer Q (0 < Q <= 100), indicating the number of queries for the given f(x). Each of the following Q lines contains m integers each, indicating the entry values of .
Note: All the values in the input are nonnegative integers not exceeding 100. Output For each query of each test case, output the resulting firstderivative vector in one line, with entries separated by one space and no extra space at the end of the line. For the result may be very big, you are only asked to output each element mod 1000000007. Add a blank line between two consecutive test cases. There must be no extra blank line at the end of output. Sample Input 2 3 2 1 2 0 3 0 2 7 0 0 2 1 4 2 3 2 2 1 1 1 9 1 0 2 1 4 2 3 Sample Output 2 24 4 18 13 1 12 2 Hint
The firstderivative of the first case is . Author: GUAN, Yao Source: The 6th Zhejiang Provincial Collegiate Programming Contest 