import java.util.Scanner;
public class Test29 {
/*
题目描述
1
1 1 1
1 2 3 2 1
1 3 6 7 6 3 1
1 4 10 16 19 16 10 4 1
以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。
求第n行第一个偶数出现的位置。如果没有偶数,则输出-1。例如输入3,则输出2,输入4则输出3。
输入n(n <= 1000000000)
输入描述:
输入一个int整数
输出描述:
输出返回的int值
输入例子:
4
输出例子:
3
*/
public static void main(String[] args) {
Scanner scn=new Scanner(System.in);
while(scn.hasNext()){
int n=scn.nextInt();
//getHang(n);
getHang_0(n);
}
}
public static void getHang_0(int n){
int[][] a=new int[n][2*n-1];
a[0][n-1]=1;
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < a[0].length; j++) {
// if(i+j==n-1||j-i==n-1){
// a[i][j]=1;
// }
// }
// }
for (int i = 1; i < n; i++) {
for (int j = 0; j < a[0].length; j++) {
if(a[i][j]==1){
continue;
}else if(j==0){
a[i][j]=a[i-1][j]+a[i-1][j+1];
}else if(j==a[0].length-1){
a[i][j]=a[i-1][j-1]+a[i-1][j];
}else{
a[i][j]=a[i-1][j-1]+a[i-1][j]+a[i-1][j+1];
}
}
}
int count=0;
for (int j = 0; j < a.length; j++) {
if(a[n-1][j]!=0){
count++;
if(a[n-1][j]%2==0){
System.out.println(count);
return ;
}
}
}
System.out.println(-1);
}
public static int getHang(int n){
if(n<3){
System.out.println(-1);
return -1;
}
int[] a=new int[2*n-1];
int[] b=new int[2*n-1];
a[n-1]=1;
// for (int j = 0; j < a.length; j++) {
// System.out.printf("%4d",a[j]);
// }
// System.out.println();
int count=0;
while(count<n-1){
b[0]=a[0]+a[1];
for (int i = 1; i < b.length-1; i++) {
b[i]=a[i-1]+a[i]+a[i+1];
}
b[b.length-1]=a[b.length-1]+a[b.length-2];
// for (int j = 0; j < b.length; j++) {
// System.out.printf("%4d",b[j]);
// }
// System.out.println();
count++;
for (int j = 0; j < a.length; j++) {
a[j]=b[j];
}
}
for (int j = 0; j < b.length; j++) {
if(b[j]%2==0){
System.out.println(j+1);
return j+1;
}
//System.out.printf("%4d",b[j]);
}
return -1;
}
}