거리 순열
시간 제한5초메모리 제한1024 MB
정수 K가 주어질 때, 1부터 N까지의 수로 만들 수 있는 순열 중 첫 원소가 L 이상 R 이하인 것의 개수를 세는 문제입니다.
문제
수직선 위에 점 가 있습니다. 두 점 , 사이의 거리는 입니다.
길이가 인 수열 을 다음과 같이 만듭니다. 처음에 는 비어 있습니다. 어느 점에서든 시작하여 의 길이가 가 될 때까지 다음 연산을 반복합니다.
- 현재 점에 대응하는 수를 라 합니다. 가 에 없으면 를 의 끝에 추가합니다. 그다음 거리가 이하인 점 중 하나로 이동합니다.
개의 질의에 답합니다. 각 질의에서는 정수 , , 이 주어집니다. 에서 보다 큰 원소를 모두 제거한 수열을 이라 합니다. 가 될 수 있는 순열 중에서 이 이상 이하인 순열의 개수를 으로 나눈 나머지를 구하세요.
입력
첫 줄에 와 가 주어집니다. 이어서 개의 줄에 각 질의가 형식으로 주어집니다.
출력
각 질의의 답을 한 줄에 하나씩 출력합니다.
제한
- 모든 입력은 정수입니다.
힌트
예제 입력 1의 첫 번째 질의에서 가 될 수 있는 수열은 네 가지입니다.