问题描述 :
Given two integers N and M, we define a recursive sequence gi as follows:
(1) If 0 <= i < M, then g[i] = ai If i >= M, then g[i] = b[0]*g[i-M] + b[1]*g[i-M+1] + … + b[M-1]*g[i-1]
Now your task is very simple: Try to find g[N] mod 1,000,000,003.
输入:
The first line of input is an integer T (1 <= T <= 10), which is the number of test cases. T cases follow.
For each case, the first line are two integers M(1 <= M <= 1000) and N(M <= N <= 1,000,000,000). Two lines followed, each of which contains exactly M integers. The first M integers are a[0], a[1], …, a[M-1], and the last M integers are b[0], b[1], …, b[M-1], where 0 <= a[i], b[i] < 1,000,000,003.
输出:
The first line of input is an integer T (1 <= T <= 10), which is the number of test cases. T cases follow.
For each case, the first line are two integers M(1 <= M <= 1000) and N(M <= N <= 1,000,000,000). Two lines followed, each of which contains exactly M integers. The first M integers are a[0], a[1], …, a[M-1], and the last M integers are b[0], b[1], …, b[M-1], where 0 <= a[i], b[i] < 1,000,000,003.
样例输入:
2
1 5
1
2
2 7
0 1
1 1
样例输出:
32
13