충근이는 꼬박 하루동안 C3 알고리즘 테스트를 위한 테스트 데이터를 만들었다. 더 이상 일을 할 수가 없을 정도로 신경쇠약에 걸렸고, 이젠 앞을 잘 볼 수조차 없었다.
충근이가 무언가 읽을려고 눈을 깜빡일 때마다 단어의 뒷 부분 절반이 앞 부분과 섞여서 보인다. (길이가 홀수인 경우에는 뒷 부분의 길이가 짧다) 섞여서 보이는 방법은 다음과 같다.
-
마지막 글자가 첫 번째 글자와 두 번째 글자 사이로 이동한다.
-
뒤에서 두 번째 글자가 두 번째 글자와 세 번째 글자 사이로 이동한다.
-
뒤에서 k번째 글자는 앞에서부터 k번째와 k+1번째 글자 사이로 이동한다.
예를 들어, 충근이가 "abcdef"란 단어를 보다가 눈을 한 번 깜박이면, 단어가 "afbecd"가 된다. 여기서 한 번 더 깜박이면 "adfcbe"가 된다.
충근이는 한 단어를 쓰고난 이후에 눈을 X번 깜박였고, 처음에 작성한 단어가 무엇인지 궁금해졌다. X와 눈을 X번 깜박인 후에 충근이가 보고 있는 단어가 주어졌을 때, 원래 단어가 무엇이었는지 구하는 프로그램을 작성하시오.