SEQ - Recursive Sequence

Sequence (ai) of natural numbers is defined as follows:

   ai = bi (for i ≤ k)
   ai = c1ai-1 + c2ai-2 + ... + ckai-k (for i > k)

where bj and cj are given natural numbers for 1 ≤ j ≤ k. Your task is to compute an for given n and output it modulo 109.

Input

On the first row there is the number C of test cases (equal to about 1000).

Each test contains four lines:

k - number of elements of (c) and (b) (1 ≤ k ≤ 10)
b1 ... bk - k natural numbers where 0 ≤ bj ≤ 109 separated by spaces
c1 ... ck - k natural numbers where 0 ≤ cj ≤ 109 separated by spaces
n - natural number (1 ≤ n ≤ 109)

Output

Exactly C lines, one for each test case: an modulo 109.

Example

Input:
3
3
5 8 2
32 54 6
2
3
1 2 3
4 5 6
6
3
24 354 6
56 57 465
98765432

Output:
8
714
257599514

Added by:Paweł Dobrzycki
Date:2005-04-29
Time limit:0.5s-3s
Source limit:8196B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All
Resource:IV Podlasian Contest in Team Programming

hide comments
2014-12-16 11:53:07 Ace.JQK
multiply matrix
2014-12-02 01:44:19 Francky
I guarantee it will be hell to take the #1 ; but possible.
--edit--> Impossible. Oups.

Last edit: 2014-12-02 01:21:04
2014-12-02 01:44:19 Gopal Viswanathan
Any Hints?
2014-12-02 01:44:19 Vipul Pandey
nice one to learn a lot of things.
2014-12-02 01:44:19 Anirudh
Are there any tricky cases in this?
2014-12-02 01:44:19 Heisenberg
learnt a lot solving this problem :)
2014-12-02 01:44:19 যোবায়ের
after solving this, try https://www.spoj.pl/problems/SPP/
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.