기차
시간 제한2초메모리 제한1024 MB
1번 도시에서 출발하는 여행 경우의 수를 셉니다. 도시 i에서 출발하는 기차는 d_i 간격으로 최대 x_i번 정차하며, N번 도시를 넘지 않습니다.
문제
빌뉴스에 도착해서 리투아니아의 여러 도시를 방문하려고 합니다.
리투아니아의 도시들은 일직선 위에 놓여 있으며, 1번부터 번까지 순서대로 번호가 붙어 있습니다. 빌뉴스는 1번 도시입니다.
각 도시에는 기차역이 하나 있고, 그 역에서 출발하는 기차 노선이 하나 있습니다. 기차는 노선의 출발역에서만 탈 수 있지만, 노선의 어느 정차역에서든 내릴 수 있습니다. 번 도시에서 출발하는 기차는 개 도시마다 정차하며, 노선에는 개의 정차역이 있습니다(출발 도시는 제외합니다). 이면 번 도시에서 출발하는 기차는 운행하지 않으므로 탈 수 없습니다.
좀 더 정확히 말하면, 번 도시에서 기차를 타면 를 만족하는 임의의 에 대해 번 도시에서 내릴 수 있습니다. 리투아니아의 도시만 방문하려고 하므로, 기차 노선에 정차역이 더 남아 있더라도 번 도시를 넘어서 가지는 않습니다.
기차를 타고 도시들 사이를 이동하며 몇몇 도시를 방문합니다. 여행을 계획할 때, 빌뉴스에서 출발하는 여행 경로가 몇 가지인지 구하려고 합니다. 방문하는 도시의 순서가 다르면 서로 다른 여행으로 봅니다.
이 수를 구해 로 나눈 나머지를 출력하세요.
입력
첫째 줄에 도시의 수 이 주어집니다. 이후 개의 줄이 주어지며, 번째 줄에는 번 도시에서 출발하는 노선을 나타내는 두 정수 와 가 주어집니다.
출력
방문할 수 있는 개 도시 중 일부를 방문하는 경우의 수를 로 나눈 나머지를 한 줄에 출력합니다.
제한
- 각 에 대해
- 각 에 대해