SolveMe

時間制限 : 8 sec, メモリ制限 : 65536 KB

Problem J: SolveMe

$N$ 個の部屋があり, それぞれの部屋の床にはうさぎの絵が描かれている. あなたが部屋 $r$ のうさぎの絵の右耳の部分に乗ると, あなたは部屋 $A[r]$ に書かれたうさぎのしっぽの上にテレポートする. 同様に, 部屋 $r$ のうさぎの絵の左耳の部分に乗ると, 部屋 $B[r]$ に書かれたうさぎのしっぽの上にテレポートする.

整数 $X$, $Y$, $Z$ が与えられる. ねこは, 以下の条件を満たすようにテレポートを設定しようとしている. テレポートの $N^{2N}$ 通りの設定方法のうち, 条件を満たすものは何通りか, mod 1,000,000,007で求めよ.

条件: 任意の部屋 $r$ に対し, $r$ から右耳にちょうど $X$ 回乗り, 左耳にちょうど 1 回乗り, 右耳にちょうど $Y$ 回乗り, 左耳にちょうど 1 回乗り, 右耳にちょうど $Z$ 回乗ると, $r$ に戻る.

Constraints

  • $N$ will be between 1 and 1,000, inclusive.
  • $X$, $Y$, $Z$ will be between 0 and 1,000,000,000,000,000,000, inclusive.

Input

入力は以下の形式で与えられる:

$N$ $X$ $Y$ $Z$

Output

テレポートの設定方法を 1,000,000,007 で割ったあまりを表す整数を 1 行に出力せよ.

Sample Input 1

3 1 0 1

Sample Output 1

18

Sample Input 2

5 8 5 8

Sample Output 2

120

Source: ACM-ICPC Japan Alumni Group Winter Camp 2011 , Day 3, Tokyo, Japan, 2011-02-20
http://acm-icpc.aitea.net/