짬뽕 369

시간 제한2.8초메모리 제한329 MB

요약
각 질의 구간에 대해 짬뽕 369 게임으로 만들어지는 무한 문자열의 해당 부분을 출력한다.
난이도

보통10점 중 6점

유형
구현, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

루미의 친구들은 생일 파티 장소에 모여서 루미가 오기 전 짬뽕 369라고 하는 가벼운 게임을 통해 케이크 비용을 낼 사람을 결정하기로 했다. 짬뽕 369는 아래와 같이 진행된다.

  1. 첫 번째 플레이어부터 반시계 방향으로 각 플레이어는 자신의 차례마다 수 또는 단어를 외친다. NN번째 차례인 플레이어가 외쳐야 하는 내용은 다음 규칙에 따라 정해진다.

    1. 만약 NN의 가장 작은 자리 숫자와 가장 큰 자리 숫자가 모두 3,6,93, 6, 9 중 하나이면서 두 자릿수 이상이라면 JJAMPPONG을 외친다.
    2. a. 에 해당하지 않으면서 NN의 가장 작은 자리 숫자 또는 가장 큰 자리 숫자가 3,6,93, 6, 9 중 하나이면 JJAM 또는 PPONG 중 하나를 외친다. 지금까지 JJAM이 더 많이 나온 경우 PPONG을, 그렇지 않은 경우 JJAM을 외쳐야 한다.
    3. 이에 모두 해당하지 않는 경우에는 NN을 외친다.
  2. 자신이 외쳐야 할 수 또는 단어와 다른 내용을 외친 경우 해당 플레이어가 패배하고 게임이 종료된다.

루미의 친구들은 짬뽕 369를 너무 잘 해서 임의의 짬뽕 부분 문자열을 다음 플레이어에게 묻는 새로운 게임을 하려 한다. 짬뽕 문자열은 짬뽕 369를 무한히 진행할 때 외친 내용을 순서대로 이어 붙인 무한문자열이며 짬뽕 부분 문자열이란 짬뽕 문자열의 연속된 일부이다. 예를 들어 짬뽕 문자열의 첫 1313글자는 12JJAM45PPONG이 되며 이는 짬뽕 부분 문자열이다. 하지만 12JJAM5PPONG7이나 1245PONG 등은 짬뽕 부분 문자열이 아니다.

새로운 게임은 첫 번째 플레이어부터 반시계 방향으로 진행된다.

  1. 플레이어는 자신의 차례마다 정수 L,RL, R을 외친다.
  2. 다음 차례의 플레이어는 짬뽕 문자열의 LL번째부터 RR번째까지의 짬뽕 부분 문자열을 외친다.
  3. 자신이 외쳐야 하는 짬뽕 부분 문자열과 다른 내용을 외친 경우 해당 사람이 패배하고 게임이 종료된다.

루미의 친구들은 게임이 조금 더 어려운 정도가 아니라 매우 어렵다는 사실을 깨달았다. 하지만 케이크 비용을 내는 것은 아주 중요하므로 정확히 문자열을 외쳤는지 판단할 심판이 필요하다. 루미의 친구들을 도와 어떤 문자열을 외쳐야 하는지 구해주자.

입력

첫 번째 줄에 짬뽕 부분 문자열을 외쳐야 하는 횟수 TT가 주어진다.

두 번째 줄부터 TT개의 줄에 걸쳐 L,RL,R이 공백으로 구분되어 주어진다.

출력

한 줄에 하나씩 다음 플레이어가 외쳐야 할 문자열을 출력하라.

제한

  • 1≤T≤1,0001\leq T\leq 1\\, 000
  • 1≤L≤R≤10181\leq L\leq R\leq 10^{18}
  • 0≤R−L≤1,0000\leq R-L\leq 1\\, 000
  • 입력으로 주어지는 수는 모두 정수이다.

힌트

짬뽕 문자열의 첫 100100글자는 12JJAM45PPONG78JJAM101112PPONG1415JJAM1718PPONG202122JJAM2425PPONG2728JJAMPPONGJJAMPPONGJJAMPPONGJJA이다.

예제1

  1. 예제 1

    입력
    3
    1 10
    11 20
    21 30
    
    예상 출력
    12JJAM45PP
    ONG78JJAM1
    01112PPONG