For technical reasons, some programming languages (Kotlin, C #) will not be available during round 877.
×

No tag edit access

D. Levko and Sets

time limit per test

3 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputLevko loves all sorts of sets very much.

Levko has two arrays of integers *a*_{1}, *a*_{2}, ... , *a*_{n} and *b*_{1}, *b*_{2}, ... , *b*_{m} and a prime number *p*. Today he generates *n* sets. Let's describe the generation process for the *i*-th set:

- First it has a single number 1.
- Let's take any element
*c*from this set. For all*j*(1 ≤*j*≤*m*) if number (*c*·*a*_{i}^{bj})*mod**p*doesn't occur in the set, then add it to the set. - Repeat step 2 as long as we can add at least one element to our set.

Levko wonders, how many numbers belong to at least one set. That is, he wants to know what size is the union of *n* generated sets.

Input

The first line contains three integers *n*, *m* and *p* (1 ≤ *n* ≤ 10^{4}, 1 ≤ *m* ≤ 10^{5}, 2 ≤ *p* ≤ 10^{9}), *p* is prime.

The second line contains space-separated integers *a*_{1}, *a*_{2}, ... , *a*_{n} (1 ≤ *a*_{i} < *p*). The third line contains space-separated integers *b*_{1}, *b*_{2}, ... , *b*_{m} (1 ≤ *b*_{i} ≤ 10^{9}).

Output

The single number — the size of the union of the sets.

Examples

Input

1 1 7

2

5

Output

3

Input

1 2 7

2

2 4

Output

3

Input

2 1 7

1 6

2

Output

1

Input

2 1 7

1 6

5

Output

2

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/24/2017 14:01:56 (c3).

Desktop version, switch to mobile version.

User lists

Name |
---|