피보나치 접미사 배열
시간 제한5초메모리 제한512 MB
피보나치 단어 fib_n의 접미사 배열을 구하고, 주어진 q개 위치의 값을 m으로 나눈 나머지로 출력합니다.
문제
피보나치 단어는 다음과 같이 정의한다. . 은 과 를 이어 붙인 문자열이다.
처음 몇 개의 피보나치 단어는 , , , , , , , 이다.
길이가 인 문자열 의 접미사 배열은 1부터 까지의 정수를 원소로 하는 순열 이며, 이 의 비어 있지 않은 모든 접미사를 사전순으로 나열한 목록이 되도록 한다.
를 의 접미사 배열이라고 하자. 의 값을 구하라.
입력
입력은 여러 테스트 케이스로 이루어지며, 파일의 끝(EOF)에서 끝난다. 각 테스트 케이스는 다음 형식이다.
첫 줄에 정수 , , 이 주어진다.
둘째 줄에 개의 정수 가 주어진다.
출력
각 테스트 케이스마다 의 개 값을 공백으로 구분하여 출력한다.
제한
- 모든 테스트 케이스의 합은 을 넘지 않는다.