0
0
1
1
2
2
2
3
3
3
2
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
3
2
3
3
1
2
2
2
2
1
1
1
1
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
2
3
3
3
3
3
3
3
3
3
3
2
4
4
4
4
8
8
10
9
9
9
12
10
10
9
9
9
9
9
9
9
8
12
15
18
14
14
14
17
17
17
18
19
20
20
21
24
27
29
29
29
29
26
24
16
13
9
8
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
16
15
14
14
12
11
11
11
10
10
14
15
16
16
16
14
13
10
9
7
7
6
6
6
5
5
5
7
7
11
14
13
8
7
6
7
7
8
11
14
14
10
9
7
10
18
17
13
12
10
10
9
9
9
11
12
15
17
17
18
18
19
19
20
22
22
24
21
20
14
11
12
13
15
14
15
15
13
13
11
11
11
11
11
10
10
10
11
11
12
12
12
12
13
14
14
14
14
13
11
10
9
9
8
7
7
9
9
12
15
16
19
18
18
18
18
18
18
18
18
18
19
19
17
13
12
11
10
3
2
1
1
3
3
3
3
7
13
15
15
15
16
16
16
16
20
20
21
21
23
24
25
26
27
28
37
40
43
46
54
56
57
58
60
60
61
61
61
61
58
56
53
48
46
46
65
68
70
78
79
78
68
66
63
60
59
58
57
56
55
54
52
49
44
41
39
37
33
31
28
27
26
17
28
34
37
37
38
34
31
28
26
24
24
25
26
28
31
26
24
23
20
18
13
12
11
11
11
11
11
10
8
7
4
5
5
4
3
2
1
2
3
4
7
7
6
6
5
5
7
8
9
10
14
14
14
13
12
12
12
12
13
13
13
14
15
16
16
16
16
17
17
18
18
18
19
19
19
18
17
16
7
7
8
15
12
13
5
5
6
7
8
3
3
3
3
3
3
2
2
2
2
4
5
9
7
7
2
1
1
1
1
2
3
3
4
6
6
6
6
6
6
6
6
6
6
3
3
2
2
3
4
5
5
2
2
2
3
3
3
4
6
7
7
7
7
6
6
5
5
4
4
5
7
8
7
6
6
6
6
6
8
8
8
2
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
3
3
3
11
11
11
11
10
10
9
7
5
6
12
9
9
9
9
9
9
10
10
10
10
10
10
10
11
10
10
10
9
8
8
12
12
12
11
11
11
12
14
14
11
11
11
11
7
7
7
7
7
4
3
2
0
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
2
4
2
0
0
0
0
0
0
0
0
0
2
2
1
1
1
3
3
2
2
3
2
2
2
2
2
2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
2
3
3
3
4
5
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
3
3
3
3
3
3
3
5
5
5
5
5
5
5
6
7
7
8
8
7
7
7
7
7
7
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
6
5
7
8
8
7
5
5
6
6
5
3
3
3
2
2
2
2
2
2
2
2
2
2
1
2
1
0
0
0
0
0
1
1
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
2
2
2
2
2
2
2
2
1
1
1
0
0
0
0
0
1
2
1
1
2
3
3
3
2
2
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
6
6
7
7
7
3
15
8
7
7
5
8
3
3
3
3
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
1
1
1
1
1
1
2
1
4
9
9
6
8
9
11
11
12
11
11
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
3
3
3
4
4
4
4
4
4
3
3
1
4
4
4
4
4
4
4
2
2
2
2
2
2
2
2
2
1
1
1
1
1
2
2
2
1
2
2
2
2
2
2
2
1
1
1
1
2
2
2
3
3
3
3
2
3
4
3
2
2
2
2
3
3
3
3
3
4
3
2
2
1
6
6
6
12
13
13
13
14
14
15
15
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
13
12
12
11
11
11
12
14
14
14
14
15
15
15
15
15
15
14
13
12
11
10
10
12
14
14
11
9
5
4
2
1
3
3
2
2
1
1
2
2
2
2
2
3
2
1
0
1
1
1
1
2
3
3
1
1
1
1
3
3
3
3
2
2
2
3
3
0
0
0
0
0
0
0
0
0
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
3
3
2
3
3
6
5
3
5
3
2
0
0
0
0
0
0
1
1
2
2
2
2
2
2
2
2
1
2
2
2
1
3
3
1
0
0
0
2
2
2
2
1
0
0
0
0
1
1
2
2
3
4
3
2
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
0
1
1
2
1
1
0
0
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
2
2
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
5
6
9
12
18
31
30
23
21
7
7
24
29
29
27
24
32
41
43
42
36
35
40
43
45
43
25
19
19
47
47
42
35
27
20
19
12
11
10
7
6
6
6
6
6
6
6
6
6
7
8
8
8
8
9
10
10
11
12
13
14
16
18
18
19
20
21
23
24
23
22
22
23
24
32
34
35
39
41
41
42
42
44
45
46
47
47
47
48
49
49
50
53
55
56
60
60
60
60
60
60
60
60
60
60
60
60
61
62
66
69
74
79
83
84
86
94
93
92
92
91
90
90
90
91
92
94
95
96
98
98
96
95
93
91
88
87
86
86
86
86
86
86
86
85
83
83
82
82
81
80
79
77
74
74
75
78
79
81
83
83
82
81
80
77
77
76
75
74
74
76
76
76
76
75
75
75
73
73
72
72
72
73
74
79
82
83
86
87
90
91
92
96
92
90
88
87
85
83
70
68
64
66
70
71
73
74
74
77
79
79
78
77
77
76
74
74
73
73
72
72
73
74
74
76
76
77
77
78
81
82
83
84
85
87
88
89
89
90
91
91
90
89
84
82
82
83
83
83
83
83
83
83
83
83
83
86
88
88
89
91
98
99
100
101
102
102
103
102
100
99
98
95
95
95
95
96
98
99
99
100
100
100
101
97
96
95
95
91
91
92
97
98
100
100
99
99
99
99
102
103
106
106
107
108
110
111
112
113
114
116
120
123
124
127
136
138
140
150
152
156
152
149
147
145
144
143
136
135
134
133
132
131
130
129
129
128
123
106
103
101
97
97
98
99
100
100
99
99
99
98
96
96
92
92
90
89
86
85
84
82
81
80
79
78
77
74
74
73
73
73
72
72
71
71
69
69
69
69
69
66
66
65
64
64
64
63
62
61
61
60
59
47
45
44
52
50
46
38
38
38
38
38
38
39
39
39
39
36
17
11
10
8
7
2
2
2
2
1
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
0
0
0
1
2
2
2
2
3
4
5
6
6
6
6
5
6
6
7
7
8
8
9
10
11
11