상자 순환 이동과 카이사르 암호
면접 대비시간 제한2초메모리 제한1024 MB
문자열 s를 순환 이동하고 모든 글자를 같은 값만큼 뒤로 밀어 t와 같게 만들 수 있는지 판단합니다. 가능하면 k와 d를 출력합니다.
문제
샘 포터는 포스트아포칼립스 세계의 택배 기사입니다. 이 일이 달갑지 않아서, 일을 덜기 위해 주문을 꼼꼼히 살펴봅니다.
오늘 샘은 개의 상자로 이루어진 주문을 받았습니다. 각 상자에는 영문 소문자 하나로 된 품번이 있습니다. 샘은 상자를 어떤 순서로 쌓은 다음, 맨 위 상자부터 맨 아래 상자까지 품번 글자를 차례로 적어 문자열 를 만들었습니다. 이제 그는 를 이전 주문을 나타내는 문자열 와 같아지도록 바꿀 수 있는지 궁금해졌습니다. 이전 주문도 상자가 개였습니다.
샘은 에 다음 변환을 딱 한 번 적용할 수 있습니다.
- 모든 품번에 카이사르 암호를 적용합니다. 즉 모든 글자를 고정된 간격 만큼 뒤로 순환 이동합니다. 예를 들어 이면
e는a가 되고,c는y가 됩니다. - 샘은 더미 위에서 개 ()의 상자를 집어 바닥에 내려놓고, 나머지 더미를 그 위에 얹습니다. 이것은 문자열 를 위치만큼 순환 이동하는 것에 해당합니다.
샘이 를 로 바꾸는 변환이 있는지 알아내도록 도와주세요.
입력
첫 줄에 주문의 상자 개수 이 주어집니다 (). 둘째 줄에는 이전 주문을 나타내는 길이 의 영문 소문자 문자열 가, 셋째 줄에는 현재 주문을 나타내는 길이 의 영문 소문자 문자열 가 주어집니다.
출력
를 로 바꾸는 변환이 존재하지 않으면 Impossible을 출력합니다. 그렇지 않으면 Success를 출력하고, 둘째 줄에 를 로 바꾸는 변환을 나타내는 두 정수 와 를 출력합니다 (, ). 가능한 답이 여러 개이면 그중 아무것이나 출력해도 됩니다.