행복한 소수

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

문제

양의 정수 nn의 각 자리 숫자를 제곱해서 모두 더한다. 그렇게 나온 합에도 같은 계산을 다시 한다. 이 과정을 반복하다가 1이 나오면 nn을 행복수라고 한다.

700은 행복수이다.

  • 72+02+02=497^2 + 0^2 + 0^2 = 49
  • 42+92=974^2 + 9^2 = 97
  • 92+72=1309^2 + 7^2 = 130
  • 12+32+02=101^2 + 3^2 + 0^2 = 10
  • 12+02=11^2 + 0^2 = 1

2는 행복수가 아니다.

  • 22=42^2 = 4
  • 42=164^2 = 16
  • 12+62=371^2 + 6^2 = 37
  • 32+72=583^2 + 7^2 = 58
  • 52+82=895^2 + 8^2 = 89
  • 82+92=1458^2 + 9^2 = 145
  • 12+42+52=421^2 + 4^2 + 5^2 = 42
  • 42+22=204^2 + 2^2 = 20
  • 22+02=42^2 + 0^2 = 4
  • 42=164^2 = 16
  • 계산이 끝나지 않는다.

소수는 1과 자기 자신 말고는 약수가 없는 수이다. 2, 3, 5, 7, 11, 13, 17, 19, ...가 소수이다.

행복한 소수는 소수이면서 행복수인 수이다. 7, 13, 19, ...가 행복한 소수이다.

nn이 주어지면 nn보다 작거나 같은 행복한 소수를 모두 구하는 프로그램을 작성하시오.

입력

첫째 줄에 nn이 주어진다. (10n100000010 \le n \le 1\,000\,000)

출력

nn보다 작거나 같은 행복한 소수를 오름차순으로 한 줄에 하나씩 출력한다.