From a pile of suggested tasks, authors of COCI must choose ones that will appear in the next round.
Difficulty of a task is described with an integer in range to . For some tasks, however, it's not easy to exactly determine their difficulty. Authors of COCI decided that these tasks can be considered as having either one of two consecutive difficulties. For example, some task can be considered as having difficulty of either or .
The next round of COCI will contain exactly tasks. For each difficulty, there will be exactly one task with that difficulty. Of course, no task will appear twice.
Find the number of different ways authors can choose tasks for the next round. We say that two ways are different if for some difficulty, a different task is assigned to that difficulty.
Since the expected result can be very large, output the number of ways modulo .
Input Specification
The first line of input contains the integer .
The second line of input contains integers not greater than . number in this line is equal to the number of tasks in a pile having difficulty exactly .
The third line of input contains integers not greater than . number in this line is equal to the number of tasks in a pile having difficulty either or .
Output Specification
The first and only line of output must contain the required number of ways modulo .
Sample Input 1
3
3 0 1
0 1
Sample Output 1
3
Sample Input 2
4
1 5 3 0
0 2 1
Sample Output 2
33
Comments