N! mod P (3)

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

요약
N과 N보다 큰 소수 P가 주어질 때 N!을 P로 나눈 나머지를 구한다. N은 10^10까지 커질 수 있다.
난이도

보통10점 중 7점

유형
정수론, 수학, 분할 정복, 이분 탐색
정답자
아직 제출이 없습니다

문제

양의 정수 NN과, NN보다 큰 소수 PP가 주어질 때, N!N!을 PP로 나눈 나머지를 구하여라.

입력

첫째 줄에 NN과 PP가 공백으로 구분되어 주어진다.

출력

N!N!을 PP로 나눈 나머지를 구하여라.

제한

  • 1≤N<P≤10101 \le N < P \le 10^{10}
  • PP는 소수

힌트

출제자가 의도하고, 작성한 풀이는 600ms 정도에 동작한다.

예제2

  1. 예제 1

    입력
    4 7
    
    예상 출력
    3
    
  2. 예제 2

    입력
    9999999966 9999999967
    
    예상 출력
    9999999966