#codefestival2016qualAd. [codefestival_2016_qualA_d]Grid and Integers

[codefestival_2016_qualA_d]Grid and Integers

問題文

RR 行、横 CC 列のマス目があります。 上から rr 行目、左から cc 列目にあるマスを (rc)(r,c) と呼びます。

高橋君は NN 箇所のマスに非負整数を書き込みました。 具体的には、各 1iN1≤i≤N について、マス (rici)(r_i,c_i) に非負整数 aia_i を書き込みました。 その後、高橋君は居眠りを始めました。

マス目を見つけた青木君は、残りすべてのマスに整数を書き込み、高橋君を驚かせようとしています。 高橋君を驚かせるためには、マス目が次の条件を満たさなければなりません。

  • 条件 11 : 各マスには非負整数が書き込まれている。
  • 条件 22 : 縦 22 行、横 22 列の正方形をどこから取り出しても、(左上の整数)+(右下の整数)=(右上の整数)+(左下の整数)(左上の整数) + (右下の整数) = (右上の整数) + (左下の整数) が常に成り立つ。

残りすべてのマスに書き込む整数を工夫することで、マス目が条件を満たすようにできるか判定してください。

制約

  • 2RC1052≤R,C≤10^5
  • 1N1051≤N≤10^5
  • 1riR1≤r_i≤R
  • 1ciC1≤c_i≤C
  • (rici)(r_i,c_i) はすべて相異なる。
  • aia_i は整数である。
  • 0ai1090≤a_i≤10^9

入力

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

RR CC NN r1r_1 c1c_1 a1a_1 r2r_2 c2c_2 a2a_2 :: rNr_N cNc_N aNa_N

出力

残りすべてのマスに書き込む整数を工夫することで、マス目が条件を満たすようにできるならば、Yes を出力せよ。 できないならば、No を出力せよ。


入力例 1

2 2
3
1 1 0
1 2 10
2 1 20

出力例 1

Yes

図のように整数を書き込めばよいです。


入力例 2

2 3
5
1 1 0
1 2 10
1 3 20
2 1 30
2 3 40

出力例 2

No

マス目には次の 22 個の正方形があります。

  • マス (11)(1,1)(12)(1,2)(21)(2,1)(22)(2,2) からなる正方形
  • マス (12)(1,2)(13)(1,3)(22)(2,2)(23)(2,3) からなる正方形

左側の正方形において条件 22 が成り立つためには、空きマスの整数は 4040 でなければなりません。 すると、右側の正方形において条件 22 が成り立たなくなります。


入力例 3

2 2
3
1 1 20
1 2 10
2 1 0

出力例 3

No

条件 22 が成り立つためには、空きマスの整数は \-10\-10 でなければなりません。 すると、条件 11 が成り立たなくなります。


入力例 4

3 3
4
1 1 0
1 3 10
3 1 10
3 3 20

出力例 4

Yes

例えば、図のように整数を書き込めばよいです。


入力例 5

2 2
4
1 1 0
1 2 10
2 1 30
2 2 20

出力例 5

No

既にすべてのマスに整数が書き込まれており、条件 22 が成り立っていません。