단어 2
시간 제한1초메모리 제한128 MB
지수 k1..kn이 주어질 때 h_k(0)들을 이어 붙인 문자열이 h_m(0)의 부분 문자열이 되는 최소 m을 구하고, 없으면 NIE를 출력한다.
문제
0과 1로만 이루어진 이진 문자열에 작용하는 함수 를 정의한다. 는 문자열의 모든 0을 1로, 모든 1을 두 글자 문자열 10으로 (동시에, 서로 독립적으로) 바꾼다. 예를 들어 는 1001을 101110으로 보내고, 빈 문자열은 빈 문자열로 보낸다. 는 단사(injective) 함수이다. 는 를 번 합성한 함수를 뜻하며, 은 항등함수이므로 이다.
한 글자짜리 문자열 0에 대해 을 순서로 나열하면, 이 수열은 다음과 같이 시작한다.
0, 1, 10, 101, 10110, 10110101, ...
문자열 가 문자열 안에서 연속한 한 덩어리로 나타나면 를 의 부분 문자열이라고 한다. 정수 이 주어질 때, 이어 붙인 문자열
이 어떤 에 대해 의 부분 문자열이 되는지 판정하고, 된다면 그러한 가장 작은 을 구하여라.
입력
첫 번째 줄에 정수 ()이 주어진다. 두 번째 줄에는 개의 음이 아닌 정수 ()이 공백 하나로 구분되어 주어진다.
출력
이 의 부분 문자열이 되는 가장 작은 음이 아닌 정수 을 한 줄에 출력한다. 그러한 이 존재하지 않으면 NIE를 출력한다.