atcoder#CODEFESTIVAL2017QUALCF. Three Gluttons

Three Gluttons

Score : 18001800 points

Problem Statement

Three men, A, B and C, are eating sushi together. Initially, there are NN pieces of sushi, numbered 11 through NN. Here, NN is a multiple of 33.

Each of the three has likes and dislikes in sushi. A's preference is represented by (a1, ..., aN)(a_1,\ ...,\ a_N), a permutation of integers from 11 to NN. For each ii (1iN1 \leq i \leq N), A's ii-th favorite sushi is Sushi aia_i. Similarly, B's and C's preferences are represented by (b1, ..., bN)(b_1,\ ...,\ b_N) and (c1, ..., cN)(c_1,\ ...,\ c_N), permutations of integers from 11 to NN.

The three repeats the following action until all pieces of sushi are consumed or a fight brakes out (described later):

  • Each of the three A, B and C finds his most favorite piece of sushi among the remaining pieces. Let these pieces be Sushi xx, yy and zz, respectively. If xx, yy and zz are all different, A, B and C eats Sushi xx, yy and zz, respectively. Otherwise, a fight brakes out.

You are given A's and B's preferences, (a1, ..., aN)(a_1,\ ...,\ a_N) and (b1, ..., bN)(b_1,\ ...,\ b_N). How many preferences of C, (c1, ..., cN)(c_1,\ ...,\ c_N), leads to all the pieces of sushi being consumed without a fight? Find the count modulo 109+710^9+7.

Constraints

  • 3N3993 \leq N \leq 399
  • NN is a multiple of 33.
  • (a1, ..., aN)(a_1,\ ...,\ a_N) and (b1, ..., bN)(b_1,\ ...,\ b_N) are permutations of integers from 11 to NN.

Input

Input is given from Standard Input in the following format:

NN

a1a_1 ...... aNa_N

b1b_1 ...... bNb_N

Output

Print the number of the preferences of C that leads to all the pieces of sushi being consumed without a fight, modulo 109+710^9+7.

3
1 2 3
2 3 1
2

The answer is two, (c1, c2, c3)=(3, 1, 2), (3, 2, 1)(c_1,\ c_2,\ c_3) = (3,\ 1,\ 2),\ (3,\ 2,\ 1). In both cases, A, B and C will eat Sushi 11, 22 and 33, respectively, and there will be no more sushi.

3
1 2 3
1 2 3
0

Regardless of what permutation (c1, c2, c3)(c_1,\ c_2,\ c_3) is, A and B will try to eat Sushi 11, resulting in a fight.

6
1 2 3 4 5 6
2 1 4 3 6 5
80

For example, if $(c_1,\ c_2,\ c_3,\ c_4,\ c_5,\ c_6) = (5,\ 1,\ 2,\ 6,\ 3,\ 4)$, A, B and C will first eat Sushi 11, 22 and 55, respectively, then they will eat Sushi 33, 44 and 66, respectively, and there will be no more sushi.

6
1 2 3 4 5 6
6 5 4 3 2 1
160
9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
33600