3의 배수

시간 제한2초메모리 제한128 MB

문제

큰 자연수 X가 주어진다. X에 대해 다음 변환을 생각하자.

  1. 현재 수의 각 자리 숫자를 모두 더한다.
  2. 그 합을 새로운 수로 삼는다.
  3. 새로운 수가 한 자리 수가 될 때까지 같은 변환을 반복한다.

한 자리 수가 된 값이 3, 6, 9 중 하나이면 처음 주어진 수 X는 3의 배수이고, 1, 2, 4, 5, 7, 8 중 하나이면 3의 배수가 아니다.

X가 주어졌을 때, 한 자리 수가 될 때까지 변환을 몇 번 해야 하는지와 X가 3의 배수인지 여부를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 큰 자연수 X가 주어진다. X는 1,000,000자리 이하이며, 0으로 시작하지 않는다.

출력

첫째 줄에 변환을 수행한 횟수를 출력한다. 이 값은 음이 아닌 정수이다.

둘째 줄에는 주어진 수가 3의 배수이면 YES, 아니면 NO를 출력한다.

힌트

1234567은 1234567 -> 28 -> 10 -> 1 순서로 변환되므로, 변환 횟수는 3이고 3의 배수가 아니다.