1 #include<stdio.h>
2 #include <cstdio>
3 #include <cstring>
4 #include <algorithm>
5 #define MAX 1000003
6 #define MOD 1000000007
7 #define LL long long
8 using namespace std;
9
10 __int64 exgcd(__int64 a,__int64 b,__int64 &x,__int64 &y)
11 {
12 if (b==0)
13 {
14 x=1; y=0;
15 return(a);
16 }
17 __int64 r=exgcd(b,a%b,x,y);
18 __int64 t=x; x=y; y=t-a/b*y;
19 return(r);
20 }
21 __int64 a[1000003];
22 int main()
23 {
24 __int64 j,r,x,y;
25 int t,i,T;
26 a[1]=1;
27 for (i=2;i<=1000002;i++)
28 {
29 a[i]=((a[i-1]%MOD)*((4*i-2)%MOD))%MOD;
30 r=exgcd(i+1,MOD,x,y);
31 a[i]=((a[i]%MOD)*((x+MOD)%MOD))%MOD;
32 }
33 scanf("%d",&T);
34 for (t=1;t<=T;t++)
35 {
36 scanf("%d",&i);
37 printf("Case #%d:\n%I64d\n",t,a[i]);
38 }
39 return(0);
40 }
http://acm.hdu.edu.cn/showproblem.php?pid=4828