#abc276h. [abc276_h]Construct a Matrix

[abc276_h]Construct a Matrix

問題文

以下の条件を満たす NNNN 列の行列 XX が存在するかどうかを判定し、存在する場合は 11 つ示してください。( XX の上から ii 行目、左から jj 列目の要素を xi,jx_{i,j} とします)

  • すべての i,j(1leqi,jleqN)i,j(1 \\leq i,j \\leq N) に対し、xi,jin0,1,2x_{i,j} \\in \\{ 0,1,2 \\}
  • i=1,2,ldots,Qi=1,2,\\ldots,Q それぞれに対し次の条件が成立する。
    • $P = \\prod_{a_i \\leq j \\leq b_i} \\prod_{c_i \\leq k \\leq d_i} x_{j,k}$ とする。この時、PP33 で割った余りは eie_i に等しい。

制約

  • 1leqN,Qleq20001 \\leq N,Q \\leq 2000
  • 1leqaileqbileqN1 \\leq a_i \\leq b_i \\leq N
  • 1leqcileqdileqN1 \\leq c_i \\leq d_i \\leq N
  • eiin0,1,2e_i \\in \\{0,1,2 \\}
  • 入力はすべて整数

入力

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

NN QQ a1a_1 b1b_1 c1c_1 d1d_1 e1e_1 vdots\\vdots aQa_Q bQb_Q cQc_Q dQd_Q eQe_Q

出力

条件を満たす XX が存在しないならば No と出力せよ。

条件を満たす XX が存在するならば 11 行目に Yes と出力し、22 行目以降に以下の形式で XX の一例を出力せよ。

x1,1x_{1,1} x1,2x_{1,2} ldots\\ldots x1,Nx_{1,N} x2,1x_{2,1} x2,2x_{2,2} ldots\\ldots x2,Nx_{2,N} vdots\\vdots xN,1x_{N,1} xN,2x_{N,2} ldots\\ldots xN,Nx_{N,N}

条件を満たす XX が複数存在する場合、どれを出力しても良い。


入力例 1

2 3
1 1 1 2 0
1 2 2 2 1
2 2 1 2 2

出力例 1

Yes
0 2
1 2

例えば i=2i=2 に対し、$P = \\prod_{a_2 \\leq j \\leq b_2} \\prod_{c_2 \\leq k \\leq d_2} x_{j,k}= \\prod_{1 \\leq j \\leq 2} \\prod_{2 \\leq k \\leq 2} x_{j,k}=x_{1,2} \\times x_{2,2}$ です。
この出力例において x1,2=2,x2,2=2x_{1,2}=2, x_{2,2}=2 なので P=2times2=4P=2 \\times 2 = 4 であり、これを 33 で割った余りは e2=1e_2=1 に等しいです。
i=1,3i=1,3 に対しても同様に条件を満たすことを確認できます。


入力例 2

4 4
1 4 1 4 0
1 4 1 4 1
1 4 1 4 2
1 4 1 4 0

出力例 2

No