1 import java.util.Scanner;
2
3 /**
4 * 杨辉三角的变形
5 *第一行为1,后面每一行的一个数是其左上角到右上角的数的和,没有的记为0
6 * 1
7 * 1 1 1
8 * 1 2 3 2 1
9 * 1 3 6 7 6 3 1
10 * 1 4 10 16 19 16 10 4 1
11 * 1 5。。。
12 *求第x行的第一个偶数是第几个
13 *
14 */
15 public class YangHui {
16
17 public static void main(String[] args) {
18 Scanner cin = new Scanner(System.in) ;
19 int line = cin.nextInt() ;
20 cin.close();
21
22 System.out.println(run(line)) ;
23
24 }
25
26 /**
27 * 计算返回值
28 * @param x
29 * @return
30 */
31 public static int run(int x){
32 if(x == 1 || x == 2){
33 return -1 ;
34 }
35 //每一行的第一个数为1,第二个数为n-1;第三个数为 n*(n-1)/2
36 if(x%2 == 1){
37 return 2 ;
38 }else if(x*(x-1)%4 == 0){
39 return 3 ;
40 }
41 //若前三个均不是偶数,则从第四个数开始计算,由于是对称的的,所以判断到第x行的第x个数就可以了
42 for(int i = 4 ; i <= x ; i++){
43 int res = cal(x,i) ;
44 if(res%2 == 0){
45 return i ;
46 }
47 }
48 return -1 ;
49 }
50
51 /**
52 * 传入n,i表示第n行的第i个,返回其值,递归的方法求解
53 * @param n
54 * @param i
55 * @return
56 */
57 public static int cal(int n, int i){
58 if(i > n){
59 return cal(n,2*n-i) ;
60 }
61 if(n == 2 && i > 0){
62 return 1 ;
63 }
64 if(i == 1){
65 return 1 ;
66 }
67 if(i <= 0){
68 return 0 ;
69 }
70 int res ;
71 res = cal(n-1,i) + cal(n-1,i-1) + cal(n-1,i-2) ;
72 return res ;
73 }
74
75 }