% written by oneym
% 2013-12-21
y=2*x-1;
m=zeros(x,y);
m(1,1)=1;
m(2,1)=1;m(2,2)=1;m(2,3)=1;
for i=3:x
for j=1:y
if 1==j
m(i,j)=m(i-1,j);
end
if 2==j
m(i,j)=m(i-1,j)+m(i-1,j-1);
end
if j>2 & j<=i*2-1-2
m(i,j)=m(i-1,j)+m(i-1,j-1)+m(i-1,j-2);
end
if j>i*2-1-2
if 1==j-lens(m(i-1,:))
m(i,j)=m(i-1,j-1)+m(i-1,j-2);
end
if 2==j-lens(m(i-1,:))
m(i,j)=m(i-1,j-2);
end
end
end
end
huaTu(m)
end
function len=lens(m)
% written by oneym
% 2013-12-17
% m:一维矩阵,返回矩阵中非零的数值个数
[x,y]=size(m);
f=find(0==m(1,:));
[r,c]=size(f);
len=y-c;
end
function huaTu(m)
% written by oneym
% 2013-12-21
[s,z]=size(m);
hold on
for i=1:s
x=1:z;
plot(x,m(i,:),'Color',rand(1,3));
end
hold off
end
import java.util.Scanner;
//written by oneym
//2013-12-15
public class yangHSJ {
public yangHSJ(int x){
boolean count=true;
int[][] a=new int[x][2*x-1];
a[0][0]=1;
for(int i=1;i<x;i++){
for(int j=0;j<2*i+1;j++){
boolean flag=true;
if(j-1<=0){
flag=false;
a[i][j]=(int) (0==j?a[i-1][j]:a[i-1][j]+a[i-1][j-1]);
}
if(j>=a[i-1].length){
flag=false;
a[i][j]=(int) (0!=j-a[i-1].length?a[i-1][j-2]:1==i?a[i-1][j]:a[i-1][j-1]+a[i-1][j-2]);
}
if(flag){
a[i][j]=a[i-1][j]+a[i-1][j-1]+a[i-1][j-2];
}
}
}
for(int i=0;i<2*x-1;i++){
System.out.print(a[x-1][i]+"\t");
}
System.out.println();
for(int k=0;k<2*x-1;k++){
if(0==a[x-1][k]%2){
System.out.println(x+","+(k+1));
System.out.println(a[x-1][k]);
count=false;
break;
}
count=true;
}
if(count)
System.out.println(-1);
}
public static void main(String args[]){
Scanner reader=new Scanner(System.in);
int x=reader.nextInt();
new yangHSJ(x);
}
}