서울에는 한강이 동서 방향으로 흐른다. 북쪽 강변에는 서쪽에서 동쪽 순서로 1번부터 N번까지 번호가 붙은 보트 학교 N개가 있다. 한 학교의 보트는 색이 같아서 서로 구별할 수 없고, 다른 학교의 보트는 색이 반드시 달라서 항상 구별된다.
i번 학교는 축제에 보트를 하나도 내보내지 않을 수 있다. 보트를 내보내기로 했다면 ai개부터 bi개 사이(양 끝 포함)의 보트를 내보낼 수 있다.
중요한 조건이 하나 있다. i번 학교가 보트를 내보내기로 한 경우, i보다 번호가 작으면서 보트를 내보낸 학교의 보트 수보다 많은 수의 보트를 내보내야 한다. 보트를 내보낸 학교 중에 i보다 번호가 작은 학교가 없으면 이 조건은 적용되지 않는다.
모든 학교의 ai와 bi를 입력으로 받아, 학교들이 보트를 내보낼 수 있는 모든 가능한 경우의 수를 계산하는 프로그램을 작성하라. 최소한 한 학교는 보트를 내보내는 경우만 계산에 포함한다. 보트를 내보낸 학교가 같고 각 학교가 내보낸 보트 수도 같으면 같은 경우로 센다.
첫 줄에 학교의 수를 나타내는 자연수 N (1≤N≤500)이 주어진다. 이어지는 N개의 줄 중 i번째 줄에 ai와 bi가 공백으로 구분되어 주어진다 (1≤ai≤bi≤109).
학교들이 보트를 내보낼 수 있는 방법의 경우의 수를 1,000,000,007로 나눈 나머지를 한 줄에 출력한다.
첫 번째 예제에서 한 학교만 보트를 내보내는 방법은 모두 4가지, 두 학교가 모두 보트를 내보내는 방법은 3가지여서 답은 7이다.