ThreeRooks

아직 제출이 없습니다시간 제한8초메모리 제한512 MB

문제

ねこがチェスの練習をしている.

ねこは, X×YX \times Y のチェス盤の上にルークを 3 つ置こうとしている. このチェス盤の KK 個のマス目にはうさぎが座っている. ii 匹目のうさぎの座標は (x\[i],y\[i])(x\[i], y\[i]) である. ただし, チェス盤の左上端のマス目の座標を (0,0)(0, 0), 右下端のマス目の座標を (X1,Y1)(X-1, Y-1) とする。うさぎが座っている場所にはルークを置くことができない. また, 1 つのマス目に複数個のルークを置くことはできない.

どの 2 つのルークも互いに攻撃し合わないようにルークを3 つ置く方法は何通りあるか, mod 1,000,000,007 で求めよ. 2 つのルークは同じ行または同じ列にあり, 間にうさぎが座っていない場合に互いに攻撃しあうものとする.

입력

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

XX YY KK

x_1x\_1 y_1y\_1

...

x_Kx\_K y_Ky\_K

출력

ルークの配置の個数を 1,000,000,007 で割ったあまりを表す整数を 1 行に出力せよ.

제한

  • XX, YY will be between 1 and 1,000,000,000, inclusive.
  • KK will be between 1 and 100,000, inclusive.
  • x_ix\_i will be between 0 and X1X-1, inclusive.
  • y_iy\_i will be between 0 and Y1Y-1, inclusive.
  • No two rabbits sit on the same cell.