거의 보보 수
시간 제한3초메모리 제한512 MB
최대 500만 자리의 정수 n이 주어질 때, n보다 작은 almost bobo number 중 가장 큰 수를 구합니다. 그런 수가 없으면 -1을 출력합니다.
문제
양의 정수의 십진수 표현이 같은 정수 두 개를 이어 붙인 것이면 보보 수라고 한다. 예를 들어 와 는 보보 수이고, 과 는 그렇지 않다.
양의 정수에서 연속된 같은 숫자를 모두 하나로 합쳤을 때 나오는 수가 보보 수이면, 그 정수를 거의 보보 수라고 한다. 예를 들어 은 연속된 같은 숫자를 합치면 이 되므로 거의 보보 수이다.
보보에게 매우 큰 수 이 있다. 보보는 보다 작은 거의 보보 수 중 가장 큰 수를 알고 싶어 한다.
입력
입력은 0개 이상의 테스트 케이스로 이루어지며, 파일 끝(EOF)에서 끝난다. 각 테스트 케이스는 다음과 같다.
첫 줄에 앞자리가 0이 아닌 정수 이 주어진다 ().
입력에 주어진 모든 의 십진수 표현 길이의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 보다 작은 거의 보보 수 중 가장 큰 수를 앞자리가 0이 아닌 정수로 출력한다. 그런 수가 없으면 을 출력한다.