코드 자물쇠
면접 대비시간 제한2초메모리 제한1024 MB
밑이 k인 n자리 수 m이 주어질 때, 같은 자릿수 합을 가지면서 m보다 큰 가장 작은 n자리 수를 구합니다.
문제
바샤는 코드 자물쇠를 아주 좋아한다. 코드 자물쇠에는 링이 여러 개 달린 드럼이 있다. 각 링에는 여러 위치가 있고, 위치마다 진법의 숫자 하나가 대응한다. 그래서 링이 개인 자물쇠의 상태는 진법 자리 수로 나타낼 수 있다. 자물쇠는 정해진 한 상태에서만 열린다.
코드를 잊기 쉬우므로 바샤는 방법을 하나 쓴다. 자물쇠를 잠근 뒤, 열리는 수와 자릿수의 합이 똑같은 수들 가운데 오름차순으로 바로 앞에 있는 수에 맞춰 자물쇠를 돌린다.
그러면 바샤는 현재 수와 자릿수의 합이 같은 다음 수(오름차순)만 찾으면 된다. 그 수가 자물쇠를 연다.
이 자물쇠를 한 달 동안 쓰고 나서, 바샤는 매번 이 문제를 손으로 푸는 일이 지겨워졌다. 그래서 여러분에게 도움을 청했다.
진법으로 주어진 수 이 있을 때, 같은 진법에서 자릿수의 합이 같은 다음 수(오름차순)를 구하는 프로그램을 작성하라.
입력
첫째 줄에 자연수 와 이 주어진다 (). 둘째 줄에는 진법으로 표현된 수 이 주어진다. 은 개의 숫자로 이루어지며, 앞에 0이 없다. 10부터 35까지의 숫자는 대문자 A부터 Z까지로 나타낸다. 수 은 을 넘지 않는다.
출력
답인 진법 수를 정확히 자리로, 앞에 0이 없게 출력한다. 바샤가 어딘가 잘못 계산해서 조건을 만족하는 수가 존재하지 않으면 <<Impossible>>라는 단어 하나를 출력한다.