아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

뒤집어진 소수

시간 제한3초메모리 제한256 MB

요약
N과 180도 회전시킨 수가 모두 소수인지 판정하고 3, 4, 7이 있으면 실패로 처리합니다.
난이도

보통10점 중 6점

유형
정수론, 구현
정답자
아직 제출이 없습니다

문제

자다가 알람 시계를 떨어뜨렸는지, 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이 주어진다 (1≤N≤10161 \le N \le 10^{16}).

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

출력

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

예제3

  1. 예제 1

    입력
    151
    
    예상 출력
    yes
    
  2. 예제 2

    입력
    23
    
    예상 출력
    no
    
  3. 예제 3

    입력
    18115211
    
    예상 출력
    no