Counting Problem

Time Limit: 5000/1000 MS (Java/Others)

Memory Limit: 32768/32768 K (Java/Others)

Description

      Yes. Counting problem comes again.
      Given a chess board of N*N (N<=500), how many ways are there to put N queens on it so that no queen can attack another?
      Luckily this is not the problem you should solve in this contest. Instead, we have a much easier one here.
      Given a chess board of N*N (N<=500), how many ways are there to put 2*N queens on it so that there are exactly two queens in each row and each column?
      To make it even easier, we will consider one way to be the same with another if it can be transformed to the other one by swapping rows and swapping columns.

Input

      The first line of the input is an integer T indicating the number of cases.
      Line 2..T+1 will contain an positive integer N (N <=500) each.

Output

      T lines containing your counting results respectively.
      For the number may be very large, you just have to output its module by 1000007.

Sample Input

3 2 5 4

Sample Output

1 2 2

Hint

lcy

Source

2008 Asia Chengdu Regional Contest Online

提交代码