100 atcoder#AGC001E. [AGC001E] BBQ Hard

[AGC001E] BBQ Hard

配点 : 14001400

問題文

高橋君はバーベキューをしようとしています。 バーベキューでは 22 本の串にいくつかの具材を刺した串焼き11 個作る予定です。

串焼きセットが NN 個あり、ii 番目のセットには串が 11 本、肉が AiA_i 個、野菜が BiB_i 個入っています。

セットを 22 個選び、セット 22 つに含まれる全ての具材を好きな順番で串 22 本に刺すことを考えます。 このとき、作ることの出来る串焼きは何通り考えられるでしょうか? ただし、串どうしは区別でき、肉どうしや野菜どうしは区別できないものとします。 答えは非常に大きな数になる可能性があるので、109+710^9+7 で割った余りを求めてください。

制約

  • 2N200,0002 \leq N \leq 200,000
  • 1Ai2000,1Bi20001 \leq A_i \leq 2000, 1 \leq B_i \leq 2000

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 B1B_1

A2A_2 B2B_2

:

ANA_N BNB_N

出力

作ることの出来る串焼きの種類数を 109+710^9+7 で割った余りを出力せよ。

3
1 1
1 1
2 1
26

図のような 2626 通りの串焼きを作ることが出来ます。 灰色の棒は串を表しており、串に書かれた数はその串が含まれていたセットの番号を表しています。 また、茶色の長方形は肉、緑色の長方形は野菜を表しています。

ebbq.png