카드 섞기

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

앨리스는 새로 문을 연 ResortWorld 카지노에서 포커 테이블 딜러로 일한다. 덱을 섞을 때는 유별나게도 다음 두 가지 방법으로만 카드를 옮긴다.

  • A: 맨 위 카드를 빼서 맨 아래에 놓는다.
  • B: 위에서 두 번째 카드를 빼서 맨 아래에 놓는다.

앨리스가 처음에 들고 있는 카드는 mm장이다. mm은 보통 덱의 52장보다 훨씬 클 수도 있다. 카드에는 위에서부터 차례로 번호가 붙어 있어서 맨 위 카드가 00번, 맨 아래 카드가 m1m-1번이다.

동작 순서가 ABBABA이면 덱은 다음과 같이 바뀐다.

적용한 동작위에서 아래로 본 덱
시작0 1 2 3 4 5
A1 2 3 4 5 0
B1 3 4 5 0 2
B1 4 5 0 2 3
A4 5 0 2 3 1
B4 0 2 3 1 5
A0 2 3 1 5 4

동작을 모두 적용한 뒤, 맨 위에서 세어 k1k-1번째, kk번째, k+1k+1번째 자리에 놓인 카드의 번호를 구하는 프로그램을 작성하시오. 맨 위 카드를 00번째로 센다.

입력

한 줄에 mm, kk, 동작 순서가 공백으로 구분되어 주어진다. mm은 3 이상 1,000,000 이하이고, kk0<k<m10 < k < m-1을 만족한다. 동작 순서는 AB로만 이루어지며 길이는 1 이상 100,000 이하다. 입력의 마지막 문자는 마침표 .이고, 입력이 끝났다는 표시다.

출력

동작을 모두 적용한 뒤 맨 위에서 k1k-1번째, kk번째, k+1k+1번째 카드의 번호를 공백 하나로 구분해 한 줄에 출력한다.