순열
시간 제한1초메모리 제한256 MB
주어진 순열에서 구간의 최솟값 한쪽 끝에 붙은 원소들을 자유롭게 재배열해 얻을 수 있는 서로 다른 순열의 개수를 998244353으로 나눈 나머지로 구합니다.
문제
순열 이 주어진다. 다음 연산을 원하는 만큼 반복할 수 있다.
- 구간 (, )을 골랐을 때 이 구간의 최솟값이 이면, 를 임의의 순서로 재배열할 수 있다.
- 구간 (, )을 골랐을 때 이 구간의 최솟값이 이면, 을 임의의 순서로 재배열할 수 있다.
이 연산들로 얻을 수 있는 서로 다른 순열의 개수를 구한다. 답이 클 수 있으므로 으로 나눈 나머지를 출력한다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다 ().
각 테스트 케이스의 첫 줄에 두 정수 과 가 주어진다 (, ). 모든 테스트 케이스의 합은 500000을 넘지 않는다.
각 테스트 케이스의 둘째 줄에 순열 이 주어진다 ().
출력
각 테스트 케이스마다 답을 한 줄에 출력한다.