binar

Нека да вземем редица от N двоични цифри B=(b1, b2, ..., bN). Построяваме матрица M по следния начин:
- първият ред на матрицата
M е редицата B;
- всеки следващ ред на матрицата
M (освен първия ред) се получава от предишния ред чрез циклично завъртане наляво.
b1 b2 ... bN-1 bN
b2 b3 ... bN b1
...
bN-1 bN ... bN-3 bN-2
bN b1 ... bN-2 bN-1
След това редовете на матрицата M са подредени в лексикографски ред (очевидно, 0<1).

Задача
Напишете програма, която прочита последния стълб на матрицата
M (след подреждането в лексикографски ред) и определя първия ред на матрицата M (също след сортирането в лексикографски ред).

Вход
Входният файл
binar.in съдържа на първия ред числото N, представляващо дължината на двоичната редица B. Вторият ред на входния файл съдържа N двоични цифри, разделени с интервал, представляващи последния стълб на матрицата M.

Изход
В единствения ред на изходния файл
binar.out трябва да бъдат изведени N двоични цифри, представляващи първия ред на матрицата M. Тези N  двоични цифри не трябва да бъдат разделени с интервали.

Ограничения
0 < N <= 1000

Примери

binar.in binar.out binar.in binar.out
5
1 0 0 1 0
00011 8
1 1 0 1 1 0 1 0
00111011

Ограничение за време: 0.1 секунди на тест

Marinel Serban
"Gr. C. Moisil" Iaşi IT High School
marinel_serban@yahoo.com

(превод на български: Стоян Капралов)