#ARC089C. [ARC089E] GraphXY

[ARC089E] GraphXY

配点 : 900900

問題文

シカのAtCoDeerくんは次のような条件を満たす有向グラフを欲しがっています。

  • 頂点数NN300300 以下
  • 自己ループや多重辺があってはいけない
  • 頂点には 11 から NN の番号が付けられている
  • 各辺には 00 以上 100100 以下の整数値の重み、もしくは、X または Y というラベルが付けられている
  • 全ての 1xA1 \leq x \leq A, 1yB1 \leq y \leq B, を満たす整数の組 (x,y)(x,y) に対し、 ラベル X が付けられた辺の重みを xx に、 Y が付けられた辺の重みを yy に書き換えたグラフの 頂点 SS から TT への最短距離は dx,yd_{x,y}

AtCoDeerくんのためにこのようなグラフ(と SSTT の組)をひとつ構成してください。条件を満たすグラフが存在しない場合はそれを指摘してください。 出力の方法については出力の欄を参照してください。

制約

  • 11 \leq A,BA,B \leq 1010
  • 11 \leq dx,yd_{x,y} \leq 100100 (11 \leq xx \leq AA, 11 \leq yy \leq BB)
  • 入力は全て整数

入力

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

AA BB

d1,1d_{1,1} d1,2d_{1,2} .... d1,Bd_{1,B}

d2,1d_{2,1} d2,2d_{2,2} .... d2,Bd_{2,B}

::

dA,1d_{A,1} dA,2d_{A,2} .... dA,Bd_{A,B}

出力

条件を満たすグラフが存在しない場合は Impossible と出力せよ。

条件を満たすグラフが存在する場合、 11 行目に Possible と出力せよ。 22行目以降に 構成したグラフを以下の形式で標準出力に出力せよ。

NN MM

u1u_1 v1v_1 c1c_1

u2u_2 v2v_2 c2c_2

:

uMu_M vMv_M cMc_M

SS TT

ただし、 MM は出力するグラフの辺数、 ui,vi,ciu_i,v_i,c_i はグラフの辺を表す。 これは頂点 uiu_i から 頂点 viv_i に 重み、あるいはラベル cic_i の有向辺があることを意味する。 入出力例も参考にせよ。

2 3
1 2 2
1 2 3
Possible
3 4
1 2 X
2 3 1
3 2 Y
1 3 Y
1 3
1 3
100 50 1
Impossible