B - Binary Beauty 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 800

出力サイズが大きくなりすぎないようにちゃんと制約を設けておきました.

問題文

正整数 N が与えられる.

正整数 m に対して,美しい模様とは,mN 列のマス目の各マスに文字 0, 1 のいずれかを以下の条件を満たすように書き込んだものとする:

  • どの 2 つの行についても,文字が異なる列が 1 箇所以上ある.
  • i = 1, 2, \ldots, m-1 について,i 行目と i+1 行目で文字が異なる列はちょうど 1 箇所である.
  • 11 は横に隣接しない.

美しい模様が存在するような最大の m を求め,さらにその m に対する美しい模様を 1 つ求めよ.

制約

  • 美しい模様が存在するような最大の m は,mN \le 10^7 を満たす.

入力

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

N

出力

1 行目に,美しい模様が存在するような最大の m を出力せよ.

続く m 行に美しい模様を出力せよ.これらの各行は空白を含めずちょうど N 文字 (と改行) にせよ.


入力例 1

2

出力例 1

3
10
00
01

この出力例のほかに,

3
01
00
10

も正しい出力である.