책, 식료품, 은행 계좌, 신용카드처럼 매일 다루는 많은 것은 여러 자리 숫자로 식별한다. 이런 번호는 옮겨 적다가 틀리기 쉬워서, 대부분의 번호 체계에는 오류를 찾아내고 때로는 바로잡는 장치가 들어 있다.
가장 단순한 방법은 검사 숫자 한 자리를 덧붙이는 것이다. 맨 오른쪽 자리에 2를 곱하고, 그 왼쪽 자리에 3을 곱하는 식으로 왼쪽으로 갈수록 가중치를 1씩 키워 곱한 뒤 전부 더한다. 이 합을 11로 나눈 나머지를 11에서 뺀다. 그 값이 1부터 9까지이면 번호의 오른쪽 끝에 그대로 붙인다. 값이 11이면 검사 숫자로 0을 붙이고, 값이 10이면 원래 번호를 거부한다.
완성된 번호가 올바른지 확인할 때는 오른쪽부터 각 자리에 1, 2, 3, ... 을 차례로 곱해 더한다. 이 합이 11로 나누어떨어지면 올바른 번호이고, 그렇지 않으면 잘못된 번호이다.
번호 2763으로 계산해 보자. 3에 2를 곱하면 6, 6에 3을 곱한 18을 더하면 24, 7에 4를 곱한 28을 더하면 52, 2에 5를 곱한 10을 더하면 62이다. 62를 11로 나눈 나머지는 7이고, 11에서 7을 빼면 검사 숫자 4가 된다. 따라서 완성된 번호는 27634이다. 반대 방향 검사가 실제로 성립하는지, 그리고 한 자리를 바꾸거나 두 자리를 맞바꾸면 번호가 잘못된 것으로 걸리는지는 직접 확인해 보자.
최대 15자리인 번호를 여러 개 읽어 각각의 검사 숫자를 구하는 프로그램을 작성하라.
입력은 한 줄에 번호 하나씩 주어진다. 각 번호는 공백 없이 십진수 숫자로만 이루어지며, 길이는 1자리 이상 15자리 이하이다. 입력은 # 한 글자만 있는 줄로 끝난다.
입력에 주어진 번호마다 한 줄씩 출력한다. 끝을 알리는 #은 출력하지 않는다. 각 줄은 원래 번호, 이어서 -> 네 글자, 이어서 검사 숫자 또는 단어 Rejected로 이루어진다.