엄밀히 따지면 almost(거의)라는 단어는 no(아니오)와 같은 뜻입니다. 하지만 둘이 완전한 동의어는 아닙니다. 오히려 almost는 no보다 yes(예)에 더 가깝습니다.
두 단어가 켤레(conjugate) 라는 것은, 첫 번째 단어의 맨 앞 글자를 맨 뒤로 옮기는 연산을 여러 번 되풀이하여 두 번째 단어를 만들 수 있다는 뜻입니다. 예를 들어 ababa와 abaab는 켤레이지만, ababa와 baaab는 켤레가 아닙니다.
두 단어가 거의 켤레(almost conjugate) 라는 것은 다음 두 조건을 모두 만족한다는 뜻입니다.
예를 들어 ababa와 aaaab는 거의 켤레이지만, ababa와 bbbbb는 거의 켤레가 아닙니다.
표준 입력에서 두 단어를 읽어, 두 단어가 거의 켤레인지 판정하고, 거의 켤레라면 그 증거가 되는 이동 횟수들을 출력하는 프로그램을 작성하세요.
첫째 줄에 각 단어의 길이를 나타내는 정수 n (1≤n≤106)이 주어집니다. 둘째 줄에는 첫 번째 단어가, 셋째 줄에는 두 번째 단어가 주어집니다. 각 단어는 알파벳 소문자 n개로 이루어진 문자열입니다.
두 단어가 거의 켤레이면 첫째 줄에 TAK(폴란드어로 예)를, 그렇지 않으면 NIE(폴란드어로 아니오)를 출력합니다.
첫째 줄이 TAK인 경우, 둘째 줄에는 [0,n−1] 범위의 음이 아닌 정수를 오름차순으로, 공백 하나로 구분하여 출력합니다. 이 수열에는 첫 번째 단어의 맨 앞 글자를 맨 뒤로 옮기는 연산을 그만큼 적용했을 때 결과 단어가 두 번째 단어와 정확히 한 자리에서만 다르게 되는 모든 이동 횟수가 포함되어야 합니다.