#agc038a. [agc038_a]01 Matrix

[agc038_a]01 Matrix

問題文

HHWW 列からなるマス目があります。 すぬけくんは、各マスに 00 または 11 を書き込みたいです。 その際、以下の条件を全て満たす必要があります。

  • どの行についても、その行に含まれる 00 の個数と、その行に含まれる 11 の個数のうち、小さい方が AA である。 (ここで、0,10,1 の個数が同じ場合、小さい方はどちらとしてもよい)。
  • どの列についても、その列に含まれる 00 の個数と、その列に含まれる 11 の個数のうち、小さい方が BB である。

これらの条件を満たすように各マスに 0,10,1 を書き込めるか判定し、 可能な場合は条件を満たす書き込み方を 11 つ示してください。

制約

  • 1leqH,Wleq10001 \\leq H,W \\leq 1000
  • 0leqA0 \\leq A
  • 2timesAleqW2 \\times A \\leq W
  • 0leqB0 \\leq B
  • 2timesBleqH2 \\times B \\leq H
  • 入力される値はすべて整数である。

入力

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

HH WW AA BB

出力

条件を満たすように各マスに 0,10,1 を書き込むことが不可能な場合は No を出力せよ。

可能な場合は、条件を満たす書き込み方を 11 つ、以下の形式で出力せよ。

s11s12cdotss1Ws_{11}s_{12}\\cdots s_{1W} s21s22cdotss2Ws_{21}s_{22}\\cdots s_{2W} vdots\\vdots sH1sH2cdotssHWs_{H1}s_{H2}\\cdots s_{HW}

ただしここで sijs_{ij} は、マス目の上から ii 行目、左から jj 番目のマスに書き込む数字である。

解が複数存在する場合、どれを出力しても正解と判定される。


入力例 1

3 3 1 1

出力例 1

100
010
001

どの行についても、その行に含まれる 0,10,1 の個数はそれぞれ 2,12,1 であり、条件を満たしています。 また、どの列についても、その列に含まれる 0,10,1 の個数はそれぞれ 2,12,1 であり、条件を満たしています。


入力例 2

1 5 2 0

出力例 2

01010