다음 코드는 N! mod p 를 계산해 출력한다. 결과는 옳지만 N 이 커지면 math.factorial 이 거대한 수를 통째로 계산하느라 메모리·시간 모두 초과한다. 같은 결과를 시간/메모리 제한 안에서 출력하라. 입력 형식: 한 줄에 N p.
import math
n, p = map(int, input().split())
print(math.factorial(n) % p)
0 ≤ N ≤ 10^6, 2 ≤ p ≤ 10^9
5 7
1
10 1000000007
3628800
0 13
1