SOJ ONLINE JUDGE

문제 118

소수로 나눈 이항 계수

내 상태
미제출
난이도
118번 문제 난이도 보기
Platinum IV
출제자
rlatjwls7882
시간 제한
3000 ms
메모리 제한
1024 MB
118번 문제 태그 보기
구현

소수 $P$에 대해 다음 $Q$개의 질의를 순서대로 처리해 보자.

  • $0\ N\ R$: $\binom NR\bmod P$를 구한다.
  • $1\ N\ R$: $N^R\bmod P$를 구한다.
  • $2\ N\ R$: $\binom NR\bmod P$를 구한다.

$R<0$ 또는 $R>N$이면 $\binom NR=0$으로 정의하며, $0^0=1$로 둔다.

입력

첫 번째 줄에 두 정수 $P$, $Q$가 공백으로 구분되어 주어진다. $(2 \le P \le 2 \cdot 10^6; 1 \le Q \le 200\,000)$

두 번째 줄부터 $Q$개의 줄에 걸쳐 질의가 다음 형식 중 하나로 주어진다. 각 질의의 정수는 공백으로 구분되어 주어진다.

  • $0\ N\ R$: 정수 $N$과 $R$이 주어진다. $(0 \le N \le 10^{18}; 0 \le R \le N+1)$
  • $1\ N\ R$: 정수 $N$과 $R$이 주어진다. $(0 \le N < P; 0 \le R \le 10^{18})$
  • $2\ N\ R$: 정수 $N$과 $R$이 주어진다. $(0 \le N < P; -1 \le R \le N+1)$

출력

각 질의에서 구한 나머지를 질의가 주어진 순서대로 한 줄에 하나씩 출력한다.

예제 입력 1

7 5
0 15 8
1 3 124537043954759745
2 5 2
0 183 6
1 4 422833914706139294

예제 출력 1

2
6
3
0
2

제출

편집기에서 나가려면 Esc를 누른 뒤 Tab 또는 Shift와 Tab을 누르세요.