은행 카드 번호 검증

각 테스트 케이스는 16자리 카드 번호를 4자리 묶음 네 개로 준다. 룬 체크섬 규칙을 적용해 합이 10의 배수이면 Yes, 아니면 No를 출력한다.

쉬움3구현문자열수학시뮬레이션면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

결제 카드 번호는 16자리다. 왼쪽 6자리는 카드를 발급한 은행을 가리키고, 그다음 2자리는 카드 종류(체크, 신용, 기프트 등)를 나타낸다. 9번째부터 15번째까지는 카드의 일련번호이고, 마지막 한 자리는 번호 전체가 올바른지 확인하는 검사 숫자다. 그래서 결제 프로그램은 잘못 입력한 번호를 대부분 그 자리에서 걸러낸다.

올바른 카드 번호는 다음 절차가 성공하도록 마지막 자리를 정한 번호다.

  1. 왼쪽부터 각 자리에 1부터 16까지 번호를 붙인다.
  2. 자리 번호가 홀수인 숫자를 2배 한다.
  3. 2단계 결과가 9보다 크면 9를 뺀다.
  4. 3단계 결과를 모두 더한 값에, 자리 번호가 짝수인 숫자의 합을 더한다.
  5. 이 합이 10의 배수면 카드 번호가 올바르고, 아니면 잘못된 번호다.

카드 번호를 여러 개 읽어 각각이 올바른지 판정하라.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄이며, 네 자리 숫자 문자열 네 개가 공백 하나로 구분되어 주어진다. 카드 번호의 맨 왼쪽 숫자는 0이 아니다. 입력의 마지막 줄은 0000 0000 0000 0000이고, 이 줄은 처리하지 않는다.

출력

각 테스트 케이스마다 한 줄씩, 카드 번호가 올바르면 Yes를, 올바르지 않으면 No를 출력한다.