のグリッドがある。最初、すべてのマスは壊れていない。
ちょうど 個のマスを壊す。その後、壊れていない 個のマスに をそれぞれちょうど 1 回ずつ書き込む。
整数 が を満たすとする。 を満たす整数 が書かれたマスだけを残したとき、それらのマスが 1 つの連結成分をなすなら、区間 を と呼ぶ。2 つのマスは辺を共有するときに限り隣接する。
すべての区間 が良い区間でないようにしたい。壊すマスの個数 の最小値を求め、その最小値を達成するグリッドの構成を 1 つ求めよ。
壊れていないマスが 1 個以下なら、 を満たす区間が存在しないため、条件は自動的に満たされる。
入力は次の形式で与えられる。
1 行目に、壊すマスの個数の最小値 を出力する。
続く 行に、それぞれ 個の整数 を出力し、グリッドの構成を表す。
最適な構成が複数ある場合、どれを出力してもよい。