Sequências

São dados NN intervalos de inteiros [Li,Ri][L_i, R_i], em uma ordem fixa. Para cada índice ii, deve-se escolher exatamente um inteiro xix_i pertencente ao ii-ésimo intervalo, isto é, LixiRiL_i \leq x_i \leq R_i.

Uma escolha é válida se a sequência x1,x2,,xNx_1, x_2, \dots, x_N for estritamente crescente, ou seja, se x1<x2<<xNx_1 < x_2 < \dots < x_N. Duas escolhas são consideradas distintas se diferirem em pelo menos um valor xix_i.

Calcule o número de escolhas válidas, módulo 109+710^9 + 7.

Entrada

A primeira linha contém um inteiro NN (1N3001 \leq N \leq 300).

Cada uma das NN linhas seguintes contém dois inteiros LiL_i e RiR_i (1LiRi1091 \leq L_i \leq R_i \leq 10^{9}), descrevendo o ii-ésimo intervalo.

Saída

Imprima um único inteiro: o número de escolhas válidas, módulo 109+710^9 + 7.

Exemplos

Entrada

3
2 4
1 4
1 5

Saída

4

As quatro sequências válidas são (2, 3, 4), (2, 3, 5), (2, 4, 5) e (3, 4, 5). Portanto, a resposta é 4.