검사 숫자

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

책, 식료품, 은행 계좌, 신용카드처럼 매일 다루는 많은 것은 여러 자리 숫자로 식별한다. 이런 번호는 옮겨 적다가 틀리기 쉬워서, 대부분의 번호 체계에는 오류를 찾아내고 때로는 바로잡는 장치가 들어 있다.

가장 단순한 방법은 검사 숫자 한 자리를 덧붙이는 것이다. 맨 오른쪽 자리에 22를 곱하고, 그 왼쪽 자리에 33을 곱하는 식으로 왼쪽으로 갈수록 가중치를 11씩 키워 곱한 뒤 전부 더한다. 이 합을 1111로 나눈 나머지를 1111에서 뺀다. 그 값이 11부터 99까지이면 번호의 오른쪽 끝에 그대로 붙인다. 값이 1111이면 검사 숫자로 00을 붙이고, 값이 1010이면 원래 번호를 거부한다.

완성된 번호가 올바른지 확인할 때는 오른쪽부터 각 자리에 11, 22, 33, ... 을 차례로 곱해 더한다. 이 합이 1111로 나누어떨어지면 올바른 번호이고, 그렇지 않으면 잘못된 번호이다.

번호 27632763으로 계산해 보자. 3322를 곱하면 66, 6633을 곱한 1818을 더하면 2424, 7744를 곱한 2828을 더하면 5252, 2255를 곱한 1010을 더하면 6262이다. 62621111로 나눈 나머지는 77이고, 1111에서 77을 빼면 검사 숫자 44가 된다. 따라서 완성된 번호는 2763427634이다. 반대 방향 검사가 실제로 성립하는지, 그리고 한 자리를 바꾸거나 두 자리를 맞바꾸면 번호가 잘못된 것으로 걸리는지는 직접 확인해 보자.

최대 1515자리인 번호를 여러 개 읽어 각각의 검사 숫자를 구하는 프로그램을 작성하라.

입력

입력은 한 줄에 번호 하나씩 주어진다. 각 번호는 공백 없이 십진수 숫자로만 이루어지며, 길이는 11자리 이상 1515자리 이하이다. 입력은 # 한 글자만 있는 줄로 끝난다.

출력

입력에 주어진 번호마다 한 줄씩 출력한다. 끝을 알리는 #은 출력하지 않는다. 각 줄은 원래 번호, 이어서 -> 네 글자, 이어서 검사 숫자 또는 단어 Rejected로 이루어진다.