Reminder: in case of any technical issues, you can use the lightweight website
m1.codeforces.com,
m2.codeforces.com,
m3.codeforces.com.
×

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
E. Byteland coins

time limit per test

1 secondmemory limit per test

512 megabytesinput

standard inputoutput

standard outputThere are *n* types of coins in Byteland. Conveniently, the denomination of the coin type *k* divides the denomination of the coin type *k* + 1, the denomination of the coin type 1 equals 1 tugrick. The ratio of the denominations of coin types *k* + 1 and *k* equals *a*_{k}. It is known that for each *x* there are at most 20 coin types of denomination *x*.

Byteasar has *b*_{k} coins of type *k* with him, and he needs to pay exactly *m* tugricks. It is known that Byteasar never has more than 3·10^{5} coins with him. Byteasar want to know how many ways there are to pay exactly *m* tugricks. Two ways are different if there is an integer *k* such that the amount of coins of type *k* differs in these two ways. As all Byteland citizens, Byteasar wants to know the number of ways modulo 10^{9} + 7.

Input

The first line contains single integer *n* (1 ≤ *n* ≤ 3·10^{5}) — the number of coin types.

The second line contains *n* - 1 integers *a*_{1}, *a*_{2}, ..., *a*_{n - 1} (1 ≤ *a*_{k} ≤ 10^{9}) — the ratios between the coin types denominations. It is guaranteed that for each *x* there are at most 20 coin types of denomination *x*.

The third line contains *n* non-negative integers *b*_{1}, *b*_{2}, ..., *b*_{n} — the number of coins of each type Byteasar has. It is guaranteed that the sum of these integers doesn't exceed 3·10^{5}.

The fourth line contains single integer *m* (0 ≤ *m* < 10^{10000}) — the amount in tugricks Byteasar needs to pay.

Output

Print single integer — the number of ways to pay exactly *m* tugricks modulo 10^{9} + 7.

Examples

Input

1

4

2

Output

1

Input

2

1

4 4

2

Output

3

Input

3

3 3

10 10 10

17

Output

6

Note

In the first example Byteasar has 4 coins of denomination 1, and he has to pay 2 tugricks. There is only one way.

In the second example Byteasar has 4 coins of each of two different types of denomination 1, he has to pay 2 tugricks. There are 3 ways: pay one coin of the first type and one coin of the other, pay two coins of the first type, and pay two coins of the second type.

In the third example the denominations are equal to 1, 3, 9.

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Aug/01/2021 18:00:54 (j3).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|