#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,num=0;
long long s[36][36];
for(i=0;i<=35;i++){
s[i][0]=1;
}
//s[1][1]=1;
//s[2][2]=2;
for(i=1;i<=35;i++){
for(j=1;j<=35;j++){
if(i==j)s[i][j]=s[i][j-1];
else s[i][j]=s[i-1][j]+s[i][j-1];
}
}
while(1){
scanf("%d",&n);
if(n==-1)break;
num++;
printf("%d %d %lld\n",num,n,2*s[n][n]);
}
return 0;
}
将棋盘按对角线分成两半,只考虑其中右下部分。每个点都是从相邻的点来的,可以以(x,y)的形式表示出来,当x=y时该点只能与(x,y-1)相连,x!=y时则与(x-1,y)和(x,y-1)两点相连