#307
Unrated
비밀 코드
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

민준이는 친구들과 비밀 메시지를 주고받기 위해 무한한 길이의 문자열을 만드는 규칙을 고안했다.

초기 문자열 ss가 주어질 때, 연산 F(s)F(s)ss 뒤에 ss를 오른쪽으로 한 칸 회전시킨 문자열을 이어 붙이는 연산이다. 여기서 오른쪽 회전이란 문자열의 마지막 문자가 맨 앞으로 오고, 나머지 문자들이 한 칸씩 뒤로 밀리는 것을 의미한다. 예를 들어, ssCOW라면 F(s)F(s)COWWCO가 된다. 민준이는 초기 문자열에 이 연산을 반복적으로 적용하여 무한한 길이의 문자열을 만든다. 각 단계마다 문자열의 길이는 두 배가 된다.

초기 문자열과 인덱스 NN이 주어졌을 때, 무한한 문자열의 NN번째 문자를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 초기 문자열과 NN이 공백으로 구분되어 주어진다. 문자열은 최대 3030자의 영어 대문자로 구성되며, Neq1018N eq 10^{18}이다.

NN은 매우 클 수 있으므로 6464비트 정수형(C/C++의 long long 등)을 사용해야 한다.

출력

무한한 문자열의 NN번째 문자를 출력한다. 첫 번째 문자의 위치는 N=1N=1이다.

예제 입력 1

COW 8

예제 출력 1

C
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.