LR
시간 제한2초메모리 제한1024 MB
문자열 A의 앞이나 뒤에서 글자를 하나씩 꺼내 만들 수 있는 2^N개의 문자열 중 사전순으로 K번째 문자열을 구합니다.
문제
영어 소문자로 이루어진 길이 의 문자열 가 주어진다.
희원이는 다음 두 가지 연산으로 길이 의 문자열 를 만들려고 한다. 는 처음에 빈 문자열이다.
- : 의 첫 번째 문자를 의 맨 뒤에 추가한 뒤, 의 첫 번째 문자를 삭제한다.
- : 의 마지막 문자를 의 맨 뒤에 추가한 뒤, 의 마지막 문자를 삭제한다.
연산을 적용하는 서로 다른 방법은 총 가지다. 연산으로 만들 수 있는 모든 문자열 중 사전순으로 번째에 위치하는 문자열을 출력한다.
결과로 나온 두 문자열이 같더라도 두 문자열을 만든 연산 과정이 다르면 서로 다른 문자열로 센다.
입력
첫째 줄에 테스트 케이스의 개수 가 주어진다.
각 테스트 케이스는 두 줄로 이루어진다. 첫째 줄에 과 가 공백으로 구분되어 주어진다. ;
둘째 줄에는 영어 소문자로 이루어진 길이 의 문자열 가 주어진다.
모든 테스트 케이스의 합은 이하이다.
출력
각 테스트 케이스마다 연산을 적용해 만들 수 있는 문자열 중 사전순으로 번째에 위치하는 문자열을 한 줄에 하나씩 출력한다.