子树的条件的搜索问题,怎么使用C语言的程序的编写的代码的设计的方式加以有效地实现的

Problem Description
There are n nodes, you should write a program to calculate how many way to form a rooted tree. This tree must satisfy two following conditions:
1: This tree should contain all the n nodes.
2: The size of subtree whose root is node i, should be from li to ri.
Give you li and ri, you should output the answer.

Input
There are several cases, First is the number of cases T. (There are most ten cases).
For each case, in the first line is a integer n (1≤n≤14). In following n line, each line has two integers li,ri(1≤li≤ri≤n).

Output
For each case output the answer modulo 109+7.

Sample Input
2
3
1 3
1 3
1 3
3
1 1
2 2
3 3

Sample Output
9
1