보트

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

서울에는 한강이 동서 방향으로 흐른다. 북쪽 강변에는 서쪽에서 동쪽 순서로 1번부터 NN번까지 번호가 붙은 보트 학교 NN개가 있다. 한 학교의 보트는 색이 같아서 서로 구별할 수 없고, 다른 학교의 보트는 색이 반드시 달라서 항상 구별된다.

ii번 학교는 축제에 보트를 하나도 내보내지 않을 수 있다. 보트를 내보내기로 했다면 aia_i개부터 bib_i개 사이(양 끝 포함)의 보트를 내보낼 수 있다.

중요한 조건이 하나 있다. ii번 학교가 보트를 내보내기로 한 경우, ii보다 번호가 작으면서 보트를 내보낸 학교의 보트 수보다 많은 수의 보트를 내보내야 한다. 보트를 내보낸 학교 중에 ii보다 번호가 작은 학교가 없으면 이 조건은 적용되지 않는다.

모든 학교의 aia_ibib_i를 입력으로 받아, 학교들이 보트를 내보낼 수 있는 모든 가능한 경우의 수를 계산하는 프로그램을 작성하라. 최소한 한 학교는 보트를 내보내는 경우만 계산에 포함한다. 보트를 내보낸 학교가 같고 각 학교가 내보낸 보트 수도 같으면 같은 경우로 센다.

입력

첫 줄에 학교의 수를 나타내는 자연수 NN (1N5001 \le N \le 500)이 주어진다. 이어지는 NN개의 줄 중 ii번째 줄에 aia_ibib_i가 공백으로 구분되어 주어진다 (1aibi1091 \le a_i \le b_i \le 10^9).

출력

학교들이 보트를 내보낼 수 있는 방법의 경우의 수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.

힌트

첫 번째 예제에서 한 학교만 보트를 내보내는 방법은 모두 4가지, 두 학교가 모두 보트를 내보내는 방법은 3가지여서 답은 7이다.