모두를 위한 정의
시간 제한10초메모리 제한512 MB
서로 다른 a 값들을 매번 두 원소씩 1 증가시키면서 모든 값이 항상 서로 다르게 유지되도록 b로 만드는 순서의 수를 998244353으로 나눈 나머지로 구합니다.
문제
책상 위에 서로 다른 개의 수가 있고, 이를 으로 나타내자(순서가 중요하다). 한 번의 턴에서는 서로 다른 두 인덱스 를 고르고, 과 를 동시에 1씩 증가시킬 수 있다. 유일한 조건은 책상 위의 수들이 매 순간 서로 달라야 한다는 것이다. 과제는 정확히 이 순서대로 서로 다른 수 을 얻는 방법의 수를 구하는 것이다. 이 수는 매우 클 수 있으므로 으로 나눈 나머지를 출력한다.
입력
첫 줄에 정수 ()이 주어진다. 둘째 줄과 셋째 줄에는 각각 공백으로 구분된 정수 개가 주어지며, 차례로 배열 와 를 나타낸다(). 모든 는 서로 다르고, 모든 도 서로 다르다.
출력
소수 으로 나눈 나머지를 출력한다.
힌트
첫 번째 예제에서는 연산을 순서로 수행하는 방법만 있다. 세 번째 예제에서는 세 연산 을 어떤 순서로 수행해도 된다.