뒤집어진 소수

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

문제

자다가 알람 시계를 떨어뜨렸는지, 08:15가 51:80이 되어 있었다. 디지털로 표시된 숫자 중에는 180도 돌려도 여전히 숫자로 읽히는 것이 있다.

숫자 하나를 180도 돌리면 다음과 같이 바뀐다.

  • 0, 2, 5, 8은 모양이 그대로다.
  • 1은 모양이 그대로이고 자리 안에서 반대쪽으로 옮겨진다.
  • 6은 9가 되고, 9는 6이 된다.
  • 3, 4, 7은 돌리면 숫자가 아닌 모양이 된다.

수 전체를 돌리면 자리 순서까지 뒤집힌다. 예를 들어 18115211을 180도 돌리면 11251181이 된다. 돌린 결과의 맨 앞에 0이 오면 그 0은 읽지 않는다.

내가 좋아하는 수는 소수이다. 수 NN이 소수이고, NN을 180도 돌려서 얻은 수도 소수인지 판정하라. NN에 3, 4, 7 중 하나라도 있으면 돌린 결과가 숫자가 아니므로 조건을 만족하지 않는다.

입력

첫째 줄에 NN이 주어진다 (1N10161 \le N \le 10^{16}).

NN의 첫 자리는 0이 아니다.

출력

NN이 소수이고 180도 돌린 수도 소수이면 첫째 줄에 yes를 출력하고, 그렇지 않으면 no를 출력한다.