Cellular Automaton

時間制限 : 2 sec, メモリ制限 : 262144 KB

w を正整数,p を長さ22w+1 の文字列とする.(w, p)- セルオートマトンとは次のようなものである.

  • 0 または 1 の状態をとることのできるセルが無限個一次元に並んでいる.
  • 時刻 0 に,すぬけ君は好きな有限個のマスを選んで状態を 1 にすることができる.残りのセルは 0 である.
  • 時刻 t (> 0) のセル x の状態 f(t, x) は,f(t − 1, x − w), . . . , f(t − 1, x + w) によって以下のように定まる:
    \begin{eqnarray} f(t, x) = p[ \sum^w_{i=-w}2^{w+i} f(t − 1, x + i)] \;\;\;\;\;\;\;\;\;\;(1) \end{eqnarray}

すぬけ君は,時刻 0 にどのように初期状態を選んでも 1 の個数が初期状態から変わらないようなセルオートマトンが好きである.整数 w と文字列 s が与えられたとき,辞書順で s 以上の文字列 p であって (w, p)− セルオートマトンがすぬけ君に好かれるような最小の p を求めよ.

Constraints

  • 1 ≤ w ≤ 3
  • |s| = 22w+1
  • s に現れる文字は '0', '1' のみである

Input

w
s

Output

条件を満たす最小の p を出力せよ.そのようなものが存在しないときは "no" と出力せよ.

Sample Input 1

1
00011000

Sample Output 1

00011101

Sample Input 2

1
11111111

Sample Output 2

no

Source: ACM-ICPC Japan Alumni Group Summer Camp 2014 , Day 2, Tokyo, Japan, 2014-09-13
http://acm-icpc.aitea.net/
http://jag2014summer-day2.contest.atcoder.jp/