AT_abc003_4 [ABC003D] AtCoder社の冬

Description

[problemUrl]: https://atcoder.jp/contests/abc003/tasks/abc003_4 AtCoder社の社員室は $ R\ \times\ C $($ R $ 行 $ C $ 列)の区画に区切られており、各区画には、社員のデスク、サーバーラックのどちらかがあるか、何もない空きスペースのどれかです。 AtCoder社のある地域の冬は寒く、暖房代をできるだけ節約するため、社員室の必要なスペースのみを区切って使用することに決めました。 しかし、資材の問題で、区画に平行な長方形の領域で区切らなければいけません。 そこで、 - デスク、または、サーバーラックのある最も上の行のすぐ上、 - デスク、または、サーバーラックのある最も下の行のすぐ下、 - デスク、または、サーバーラックのある最も左の列のすぐ左、 - デスク、または、サーバーラックのある最も右の列のすぐ右 の $ 4 $ 辺で囲まれた区画を壁で囲みました。 すると壁で囲まれた領域は $ X\ \times\ Y $($ X $ 行 $ Y $ 列)の区画になりました。 また、AtCoder社の社員室には、$ D $ 個のデスクと、$ L $ 個のサーバーラックがあります。 もともと、社員室に、どのようにデスクとサーバーラックの配置されていたのか、考えうるパターン数を $ 1000000007\ =\ 10^9+7 $ で割った余りを求めるプログラムを書いてください。 入力は以下の形式で標準入力から与えられる。 > $ R $ $ C $ $ X $ $ Y $ $ D $ $ L $ 1. $ 1 $ 行目には、AtCoder社の社員室の区画の行数、列数を表す整数 $ R,\ C\ (1\ ≦\ R,\ C\ ≦\ 30) $ がスペース区切りで与えられる。 2. $ 2 $ 行目には、社員室の壁に囲まれた部分の区画の行数、列数を表す整数 $ X,\ Y\ (1\ ≦\ X\ ≦\ R,\ 1\ ≦\ Y\ ≦\ C) $ がスペース区切りで与えられる。 3. $ 3 $ 行目には、社員室にある社員のデスクの数、サーバーラックの数を表す整数 $ D,\ L\ (D,\ L\ ≧\ 0,\ 1\ ≦\ D+L\ ≦\ X\ \times\ Y) $ がスペース区切りで与えられる。 社員室にどのようにデスクとサーバーラックの配置されていたのか、考えうるパターン数を $ 1000000007\ =\ 10^9+7 $ で割った余りを $ 1 $ 行で出力せよ。 また、出力の末尾には改行を入れること。 $ D+L\ =\ X\ \times\ Y $ の場合のテストケースに全て正解した場合、$ 101 $ 点満点中の $ 100 $ 点が与えられる。 満点解法は非常に難しいので、部分点を確実に取ることから考えましょう。 ```
3 2
2 2
2 2
```

 ```
12
```

- このケースは $ D+L=X\ \times\ Y $ を満たすため、部分点のテストケースに含まれる可能性があります。
- 以下の $ 12 $ 通りの配置が考えられます。ここで`D`はデスク、`L`はサーバーラック、`.`は何もないことを表します。
 
```

DD  DL  DL  LD  LD  LL  ..  ..  ..  ..  ..  ..
LL  DL  LD  DL  LD  DD  DD  DL  DL  LD  LD  LL
..  ..  ..  ..  ..  ..  LL  DL  LD  DL  LD  DD
```

 ```
4 5
3 1
3 0
```

 ```
10
```

- このケースは $ D+L=X\ \times\ Y $ を満たすため、部分点のテストケースに含まれる可能性があります。
 
```
23 18
15 13
100 95
```

 ```
364527243
```

- このケースは $ D+L=X\ \times\ Y $ を満たすため、部分点のテストケースに含まれる可能性があります。
- 社員室の配置パターンは $ 145180660592914517790287604376765671109248284280228061640640 $ 通りで、これを $ 10^9+7 $ で割った余りである $ 364527243 $ を出力してください。
 
```
30 30
24 22
145 132
```

 ```
976668549
```

- このケースは $ D+L=X\ \times\ Y $ を満たさないため、部分点のテストケースに含まれることはありません。
- 無理に正解しようとせず、余裕のある人だけ挑戦してみてください。
                            

Input Format

N/A

Output Format

N/A