멀티팩토리얼
시간 제한1초메모리 제한1024 MB
최대 100,000개의 쿼리에 대해 N을 K씩 줄여 가며 곱한 멀티팩토리얼(N, N-K, N-2K, ...)을 998244353으로 나눈 나머지를 구한다.
문제
백준 온라인 저지에는 에 관련된 다양한 문제들이 있다. 그런데 사실 이러한 문제들에서 사용한 용법과는 달리, 이라는 기호는 에 팩토리얼을 여러 번 적용하라는 뜻이 아니다! 예를 들어, 더블 팩토리얼이라고도 불리는 은, 그 의미가 과는 다르게 사용되는 기호이다.
실제 더블 팩토리얼의 정의는 다음과 같다.
\[n!!=\begin{cases}n\cdot(n-2)\cdot(n-4)\cdots 5\cdot 3\cdot 1&(\text{odd } n)\\ n\cdot(n-2)\cdot(n-4)\cdots 6\cdot 4\cdot 2&(\text{even } n)\end{cases}\]
예를 들어, , 이다.
마찬가지로, , 등도 정의할 수 있다. 을 로 나눈 나머지를 이라고 하면, 멀티팩토리얼의 정의는 다음과 같다.
\[n\overbrace{!!!\cdots\, !}^{k}=\begin{cases}n\cdot(n-k)\cdot(n-2k)\cdots r & (r \gt 0 ) \\ n\cdot(n-k)\cdot(n-2k)\cdots k& (r=0) \end{cases}\]
양의 정수 , 가 주어지면 의 값을 구해보자. 단, 수가 매우 커질 수 있으므로 으로 나눈 나머지를 출력한다.
입력
첫째 줄에 쿼리의 수 가 주어진다. ()
다음 개의 줄에 걸쳐, 양의 정수 과 가 공백으로 구분되어 주어진다. ()
출력
각 쿼리마다 을 한 줄에 하나씩 출력한다.