Drawn and Quartered

면접 대비

시간 제한2초메모리 제한512 MB

요약
문자열에 고정 치환을 K번 적용한 뒤의 상태를 구합니다. 각 글자의 도착 위치를 계산해 재배치한 문자열을 출력합니다.
난이도

보통10점 중 6점

유형
수학, 비트 연산, 재귀
정답자
아직 제출이 없습니다

문제

칠판에 문자열을 쓰고 다시 쓰는 게임을 하고 있다. 길이 NN인 문자열 SS에서 시작해 문자열에 switcheroo를 정확히 KK번 수행한다. switcheroo는 SS를 4등분한 뒤 가운데 두 부분을 서로의 상대 순서를 바꾸지 않고 SS의 끝으로 옮기는 연산이다. 예를 들어 aabbccdd에서 시작하면 switcheroo를 한 번 한 뒤 문자열은 aaddbbcc가 된다. switcheroo를 한 번 더 하면 aaccddbb가 되고, 이런 식으로 이어진다.

시작 문자열 SS와 switcheroo를 수행할 횟수가 주어졌을 때, 최종 문자열은 무엇인가?

입력

입력의 첫 줄에는 두 정수 NN (4≤N≤100 0004 \le N \le 100\,000)과 KK (1≤K≤10181 \le K \le 10^{18})가 주어진다. NN은 문자열의 길이이고, KK는 SS에 수행할 switcheroo의 횟수이다. NN은 4의 배수임이 보장된다.

둘째 줄에는 SS가 주어진다. 문자열 SS는 소문자만 포함하며 정확히 NN 글자이다.

출력

KK번의 switcheroo를 수행한 뒤의 문자열을 출력한다.

예제3

  1. 예제 1

    입력
    4 2
    abcd
    
    예상 출력
    acdb
    
  2. 예제 2

    입력
    8 1
    abcdefgh
    
    예상 출력
    abghcdef
    
  3. 예제 3

    입력
    20 26
    southpacificregional
    
    예상 출력
    southicregionalpacif