시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB508731.818%

문제

길이 N의 이진 수열을 생각해보자. 이와 같은 이진 수열을 회전하면 총 N종류의 이진 수열을 만들 수 있다. 예를 들어 00011과 같은 이진 수열을 회전하면, 00011, 10001, 11000, 01100, 00110의 다섯 종류의 이진 수열을 만들 수 있다. 경우에 따라서는 같은 이진 수열이 여러 번 나올 수도 있다.

이와 같이 만들어진 이진 수열들을 알파벳 순서로(또는 이진수 값으로) 정렬하여 차례로 놓으면 하나의 행렬을 만들 수 있다. 위의 예로는 다음과 같은 행렬을 만들 수 있다.

00011
00110
01100
10001
11000

이와 같이 행렬을 만든 뒤, 이 행렬의 제일 마지막 열의 숫자들을 순서대로 나열하면 길이 N의 이진 수열을 만들 수 있다. 위의 예에서는 10010이 된다. 이와 같이 얻은 이진 수열이 주어졌을 때, 앞서 만든 행렬에서 첫 번째 행(줄)의 이진 수열을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 자연수 N(1 ≤ N ≤ 50,000)이 주어진다. 다음 줄에는 길이 N의 이진 수열이 공백 없이 주어진다.

출력

첫째 줄에 구한 이진 수열을 공백 없이 출력한다. 원래 행렬을 만들 수 없을 때는 -1을 출력한다.

예제 입력 1

5
10010

예제 출력 1

00011

출처

  • 데이터를 추가한 사람: doju