문자열 곱
시간 제한4초메모리 제한256 MB
문자열 s가 주어질 때 a와 b의 곱(글자를 26으로 나눈 덧셈)이 s가 되도록 하는 a, b를 찾고, a+b가 사전순으로 가장 작은 해를 구한다. 그런 해가 여러 개면 |a|가 최소인 것을 출력한다.
문제
영소문자 의 부터 시작하는 알파벳 번호를 라 하자. 즉 , , , 이다. 두 문자열 과 의 곱 는 문자열 이며, 모든 과 에 대해 이다. 예를 들어 , , 이다.
문자열 가 주어진다. 인 두 문자열 와 를 찾아라. 그러한 가 여러 쌍이면 문자열 (는 연결을 뜻한다)가 사전순으로 가장 작은 쌍을 찾아라. 그러한 쌍이 여전히 여러 개라면 의 길이가 가장 작은 쌍을 찾아라.
입력
입력은 한 줄이며, 영소문자로 이루어진 문자열 가 주어진다 ().
출력
인 두 문자열 를 찾을 수 없으면 을 출력한다. 그렇지 않으면 와 를 공백으로 구분해 출력한다. 는 가능한 모든 쌍 중 사전순으로 가장 작아야 한다. 그러한 쌍이 여러 개면 가 가장 작아야 한다.