Guards II

This ICPC will take place in a huge hall room which can be divided into N × M square cells. That’s why some volunteers will guard this room. But each of the border cells must be guarded by at least one volunteer. And in a single cell at most one volunteer can be placed. Now volunteers can watch other cells vertically or horizontally (All cells that are in the same row or in the same column). So we can consider that, there are N rows and M columns in the room. A volunteer at cell (r,c) (i.e. cell of r-th row and c-th column) can guard all the cells of r-th row and c-th column. A cell is border cell if it is in 1st row or N-th row or it is in 1st column or M-th column. We have K volunteers. We must place exactly K volunteers. You have to determine, in how many ways we can choose K cells, so that each of the border cells will be guarded by volunteers if we place them in those cells. Input Input starts with a positive integer T (T ≤ 20000), which indicates the number of test cases. Each of the next T lines will contain three integers N, M and K (1 ≤ N,M,K ≤ 100) representing one test case. Output For each test case, output a single line in the form ‘Case #: R’, where # will be replaced by the case number and R will be replaced by the number of ways we can place K guards. This number can be very large, so output it mod(109 + 7). Sample Input 4 10 10 2 561 223 225 Sample Output Case 1: 2 Case 2: 0 Case 3: 4 Case 4: 0