1
1
1
1
2
1
2
2
2
3
2
3
3
3
4
1
1
1
1
3
4
4
4
5
1
1
2
2
4
5
5
5
5
6
2
2
3
3
5
6
6
6
6
6
6
7
3
4
6
6
7
7
7
7
7
7
7
8
1
4
5
5
5
5
6
7
8
8
8
8
8
8
9
9
1
3
5
6
6
6
7
7
7
8
8
9
9
10
10
1
6
6
6
7
7
7
7
8
10
10
11
11
1
2
5
7
7
7
7
8
8
8
9
11
11
12
12
1
6
7
7
7
7
7
8
8
9
9
9
10
13
13
1
7
7
8
9
9
10
10
11
14
14
1
7
7
7
9
10
10
11
11
15
15
1
7
7
7
7
7
7
8
8
8
10
10
11
12
16
16
7
7
8
8
9
9
9
10
10
11
13
17
17
1
9
9
10
11
11
14
18
18
1
1
7
7
7
10
10
10
15
19
19
1
7
7
7
7
7
7
7
8
8
8
10
11
16
20
20
1
2
7
7
8
8
9
9
9
10
10
11
17
21
21
1
3
7
7
9
9
10
10
11
11
18
22
22
2
4
7
7
7
7
7
8
8
8
10
10
10
11
19
23
23
3
7
7
7
7
7
8
8
9
9
9
10
10
11
20
24
24
7
7
7
7
7
7
8
9
9
10
10
10
10
11
11
21
25
25
1
7
7
8
8
9
9
9
10
10
10
10
10
11
11
11
22
26
26
1
2
9
9
10
11
11
11
11
11
12
23
25
25
27
27
2
3
9
10
10
10
10
10
11
12
13
24
26
26
28
28
3
4
8
8
9
10
10
11
12
13
13
14
25
27
27
29
1
8
8
8
9
9
9
9
10
11
11
12
13
14
14
26
28
28
30
2
8
10
10
10
10
10
11
12
12
13
13
13
14
27
29
31
1
3
11
11
11
11
14
14
15
28
30
32
2
4
11
11
11
12
12
13
14
15
16
29
31
33
3
11
11
11
11
11
12
12
14
14
14
14
16
16
17
17
26
30
32
34
11
11
11
12
12
13
13
13
13
16
17
17
17
17
27
31
33
33
35
35
11
11
11
13
13
14
14
14
14
14
16
17
28
32
34
34
36
36
11
12
14
14
16
17
18
29
33
35
35
37
37
1
11
12
12
13
13
14
17
18
19
34
36
36
38
38
12
12
13
13
13
14
16
19
20
35
39
39
1
1
13
14
14
14
16
17
20
36
40
40
1
13
13
13
14
15
15
17
19
37
41
41
12
12
12
14
14
14
16
19
19
19
20
38
42
42
1
13
13
13
14
15
16
16
20
20
20
39
43
43
1
14
15
16
17
17
40
44
44
1
1
13
13
14
14
15
16
19
41
45
45
1
1
12
12
13
14
14
14
14
19
19
19
20
42
46
46
2
13
13
13
14
15
16
16
20
20
20
43
47
47
1
3
13
13
14
14
15
16
17
17
19
44
48
48
2
4
12
12
14
14
14
15
16
19
19
19
20
45
49
49
3
13
13
13
13
13
13
14
14
14
15
16
16
20
20
20
46
50
50
13
13
14
14
14
14
15
16
17
17
19
19
19
19
19
47
51
51
1
12
14
14
15
15
15
16
19
20
20
20
20
20
20
20
48
52
52
1
2
15
16
16
17
17
20
21
21
49
51
51
53
53
2
3
13
15
16
16
16
16
22
22
50
52
52
54
54
3
4
13
14
16
16
16
17
17
22
23
23
51
53
53
55
1
13
13
13
16
16
17
17
18
18
22
22
23
52
54
54
56
2
13
14
16
16
16
17
17
17
18
18
19
22
23
23
53
55
57
1
3
17
17
18
18
18
23
24
54
56
58
2
4
17
18
18
18
18
23
23
24
25
25
55
57
59
3
18
18
18
18
18
19
22
23
25
26
26
26
26
52
56
58
60
17
17
17
18
18
18
19
19
19
20
23
23
26
26
53
57
59
59
61
61
17
18
19
20
20
20
21
21
22
25
54
58
60
60
62
62
18
18
21
22
22
23
25
26
55
59
61
61
63
63
1
17
19
20
21
23
23
25
25
26
27
60
62
62
64
64
1
19
19
20
20
21
22
25
26
26
27
28
61
65
65
1
19
21
21
23
26
28
29
62
66
66
1
20
21
21
22
24
28
29
63
67
67
1
19
20
20
21
21
21
21
23
25
25
28
29
64
68
68
19
19
21
22
22
26
26
28
28
29
65
69
69
1
22
23
23
29
29
66
70
70
1
1
20
20
21
23
24
28
67
71
71
1
20
20
20
21
21
21
21
21
25
25
28
29
68
72
72
1
2
19
19
21
22
22
26
26
28
28
29
69
73
73
1
3
20
21
22
23
23
28
29
29
70
74
74
2
4
20
20
21
21
21
21
23
24
25
25
28
29
71
75
75
3
19
19
20
20
21
21
22
22
26
26
28
28
29
72
76
76
20
20
20
21
21
21
21
22
23
23
28
28
28
29
29
73
77
77
1
19
21
21
22
22
23
24
26
26
28
28
28
29
29
29
74
78
78
1
2
22
23
23
29
29
29
29
29
30
75
77
77
79
79
2
3
23
23
23
23
23
24
25
30
31
76
78
78
80
80
3
4
20
20
23
23
24
24
26
26
31
31
32
32
77
79
79
81
1
20
20
20
23
23
23
23
25
25
25
25
31
32
32
32
32
78
78
80
80
82
82
1
2
20
23
24
24
24
25
26
26
26
26
26
26
31
31
32
79
79
81
83
83
2
3
25
25
25
26
32
32
33
80
80
82
84
84
3
4
24
24
25
25
25
25
26
31
33
34
34
81
81
83
85
85
24
24
24
24
25
25
25
25
25
26
26
31
31
32
32
34
34
34
35
35
35
84
86
86
25
25
25
26
26
27
27
31
32
32
34
35
35
35
35
35
85
85
87
87
87
1
26
27
27
28
28
28
28
32
35
36
86
86
88
88
88
27
27
27
36
37
87
87
89
89
89
1
1
26
27
27
28
37
37
38
88
88
90
90
90
26
26
27
27
29
34
37
38
38
91
91
91
1
27
27
27
28
30
34
35
38
92
92
92
1
1
27
27
27
28
29
35
37
93
93
93
26
26
26
27
27
28
29
37
37
37
38
94
94
94
27
27
27
27
27
29
34
34
38
38
38
95
95
95
27
27
28
28
30
35
35
37
96
96
96
26
26
27
27
28
29
29
37
37
37
38
97
97
97
1
1
5
5
5
27
27
27
27
29
34
34
38
38
38
98
98
98
4
4
5
5
6
6
6
28
28
30
35
35
99
99
99
5
7
7
7
7
29
29
100
100
100
1
4
6
8
8
8
8
101
101
101
1
1
5
7
9
9
102
102
102
1
4
4
5
5
10
10
103
103
103
1
1
5
5
5
7
11
11
103
104
104
104
5
5
6
7
12
12
26
27
34
38
104
104
104
105
105
5
5
7
8
13
13
26
26
26
27
27
27
27
28
34
34
37
38
38
94
105
106
106
5
5
7
9
14
14
26
26
27
27
27
27
27
28
28
28
29
30
35
37
37
37
38
95
96
106
107
107
5
5
7
10
15
15
27
27
28
28
29
29
29
29
30
35
37
37
95
96
97
107
108
108
1
5
5
5
7
11
16
16
29
29
29
30
30
30
96
97
98
108
109
109
1
5
5
5
6
7
7
7
12
17
17
30
30
97
98
99
109
110
110
1
5
5
7
8
8
13
16
16
18
18
98
99
100
110
111
111
9
9
14
17
17
19
99
99
101
103
111
112
112
5
9
15
18
18
20
100
103
104
112
113
113
5
9
9
16
19
21
100
101
104
113
114
114
5
5
9
10
17
20
22
26
27
34
38
104
104
114
115
115
9
9
10
11
11
11
11
21
23
26
26
26
27
27
27
27
28
34
34
37
38
38
38
90
115
116
116
1
4
5
9
9
9
11
11
15
20
22
22
24
24
26
26
27
27
27
27
27
28
28
28
29
30
35
35
37
37
37
91
92
92
116
117
117
5
5
9
16
21
23
23
25
25
27
27
28
28
29
29
29
29
29
30
37
37
92
93
93
117
118
118
1
5
5
6
9
10
11
11
17
22
24
24
26
26
29
29
30
30
30
93
94
94
118
119
119
1
1
4
4
4
5
6
7
9
11
11
12
12
23
27
27
30
30
94
95
95
119
120
120
4
4
5
5
7
8
11
13
13
24
28
28
95
96
96
120
121
121
4
5
5
6
8
9
11
11
13
25
29
29
95
97
97
103
121
122
122
4
4
4
5
5
7
9
10
13
13
13
26
30
30
97
97
104
104
104
122
123
123
5
5
5
6
8
10
11
11
11
13
27
31
31
104
105
105
123
124
124
4
5
6
7
9
11
12
13
13
13
26
27
28
32
32
34
105
105
124
125
125
7
7
8
10
11
11
12
13
13
26
26
26
27
27
27
27
28
29
33
33
34
34
35
37
125
126
126
9
11
13
13
13
13
14
26
26
27
27
27
27
27
28
28
28
29
30
32
34
34
35
35
37
37
37
85
126
127
127
7
7
11
11
12
13
13
13
13
14
15
27
27
28
28
28
29
29
29
30
31
32
35
35
35
37
37
86
87
87
127
128
128
7
7
8
8
8
8
13
13
13
13
13
14
14
16
27
28
29
29
30
30
30
32
34
34
36
36
87
88
88
128
129
129
1
7
7
7
7
8
8
11
13
14
14
15
15
17
17
30
30
33
35
35
37
88
89
89
129
130
130
1
1
1
13
14
15
15
15
16
18
18
34
36
36
38
89
90
90
130
131
131
7
7
8
8
11
11
14
15
16
16
16
19
19
35
37
39
90
91
91
131
132
132
1
8
8
8
9
9
11
16
16
16
17
20
20
36
38
40
92
92
131
133
133
7
10
10
11
15
15
15
17
17
18
18
21
21
24
25
34
39
41
90
104
131
132
134
134
8
8
10
15
16
18
18
18
18
18
18
22
22
24
25
25
26
31
34
38
40
40
42
42
92
105
133
135
135
10
10
10
15
15
18
19
19
23
23
24
25
25
26
27
34
34
35
39
41
41
43
43
92
105
105
134
136
136
8
8
10
19
20
20
24
24
24
25
25
26
27
28
31
36
40
42
42
44
44
105
106
106
135
137
137
10
10
10
18
20
21
21
24
25
25
25
25
26
26
27
28
34
34
41
45
45
106
106
107
136
138
138
2
8
8
10
15
18
18
22
24
25
25
26
26
26
26
27
28
31
32
32
42
46
46
82
106
106
107
108
137
139
139
2
3
10
10
10
20
20
21
23
25
26
26
27
27
27
28
32
32
34
43
47
47
78
82
83
107
108
138
140
140
3
4
8
8
10
10
10
10
18
18
21
24
26
26
27
28
28
28
44
48
48
79
83
84
106
106
108
139
141
141
1
1
4
4
5
5
10
10
10
10
11
11
20
20
21
25
27
27
28
29
29
45
49
49
80
84
85
107
140
142
142
1
1
5
5
6
6
8
12
12
18
18
21
26
28
28
30
46
50
50
81
85
86
106
108
141
143
143
7
7
12
13
20
20
21
27
29
29
31
47
51
51
82
86
87
106
107
142
144
4
4
8
8
8
8
13
18
18
20
21
28
30
32
48
52
52
83
87
108
143
145
5
5
5
5
8
9
9
9
13
13
14
20
20
20
21
21
21
21
29
31
33
49
53
53
83
109
144
146
1
8
10
10
10
10
12
12
12
14
15
15
18
18
21
22
22
23
23
23
23
31
31
32
34
50
52
52
54
54
106
142
145
147
4
5
11
11
11
11
12
13
15
15
15
15
15
20
20
23
23
23
23
23
23
24
24
27
31
31
31
33
33
35
35
51
53
53
55
105
106
107
143
143
146
148
5
6
8
12
12
12
12
15
16
18
20
20
23
23
23
24
24
25
25
25
25
28
32
34
34
36
36
52
54
54
56
87
106
106
108
144
147
149
4
5
5
9
13
13
16
17
18
18
23
23
23
25
25
26
26
26
29
33
35
35
37
37
52
53
55
56
57
87
107
107
109
109
145
148
150
5
6
6
10
14
14
15
17
18
18
18
23
24
26
26
26
29
29
34
38
38
53
54
56
57
58
77
106
109
109
110
110
146
149
151
5
5
5
11
12
15
15
15
15
23
23
23
24
25
25
25
25
29
29
31
35
39
39
54
57
58
59
75
77
78
110
111
111
147
150
152
5
6
6
12
16
16
17
17
18
20
23
23
23
23
23
23
23
23
24
24
25
25
25
31
36
40
40
58
58
59
60
60
76
78
79
111
148
151
153
1
1
5
5
5
13
15
15
17
17
18
20
24
24
25
25
25
25
26
37
41
41
59
59
60
61
61
77
79
80
149
152
154
1
1
1
5
6
6
14
17
17
18
18
18
25
26
26
27
38
42
42
60
60
61
62
62
78
80
81
106
106
109
150
153
154
155
5
5
5
15
15
15
18
19
19
25
25
26
27
39
43
43
62
63
63
79
81
82
107
109
110
151
153
155
156
5
5
6
6
6
6
16
17
17
18
20
20
27
27
27
40
44
44
63
64
64
80
82
110
111
152
156
157
5
5
5
5
7
7
15
15
17
17
18
19
19
21
21
25
25
27
41
45
45
64
65
65
80
111
153
157
158
8
8
8
17
17
17
18
18
18
18
18
20
20
20
21
22
27
27
27
28
42
46
46
65
66
66
82
106
111
154
158
159
5
9
9
15
15
18
19
19
19
19
20
20
21
21
21
21
22
23
25
25
26
27
28
28
43
45
45
47
47
66
67
67
82
107
109
155
159
160
5
9
10
19
19
20
20
20
20
20
21
21
22
22
22
23
24
25
26
27
27
28
28
29
29
44
46
46
48
67
68
68
73
109
110
156
160
161
5
5
9
11
15
19
19
20
20
20
20
21
21
22
22
23
23
23
23
24
25
25
28
29
29
45
47
47
49
68
69
69
72
73
74
110
111
157
161
162
8
8
8
8
10
12
12
15
15
19
20
20
20
22
23
23
23
24
24
24
24
25
26
45
46
48
49
50
69
70
70
73
74
75
110
111
112
158
162
163
1
5
9
11
11
11
11
12
15
15
19
20
21
23
23
24
24
25
25
27
27
27
46
47
49
50
51
69
70
71
71
74
75
76
110
111
112
113
159
163
164
1
1
4
4
5
8
8
12
13
20
21
22
22
22
22
24
24
25
25
26
26
27
28
28
47
50
51
52
64
71
72
72
75
76
77
110
111
111
112
113
160
164
165
5
5
5
5
5
5
6
13
14
20
20
20
20
20
21
22
22
22
25
25
25
27
27
27
27
29
29
51
51
52
53
53
65
71
72
73
73
76
77
78
110
111
112
112
113
161
165
166
6
6
7
7
12
14
15
21
22
22
23
25
26
27
27
27
27
30
30
52
52
53
54
54
66
66
66
73
74
74
77
78
110
112
113
113
162
166
167
4
5
7
7
8
8
8
11
11
23
24
27
27
31
31
53
53
54
55
55
67
67
67
67
74
75
75
77
111
113
114
163
167
168
4
5
6
9
9
14
14
15
22
22
24
27
28
32
32
55
56
56
68
68
69
69
75
76
76
78
112
114
164
168
169
4
5
5
5
10
10
11
11
15
20
21
24
24
24
26
28
29
33
33
56
57
57
69
69
69
76
77
77
78
112
165
169
170
5
6
6
6
11
11
14
14
15
19
20
20
21
21
22
22
22
24
26
27
28
28
29
29
30
34
34
57
58
58
70
71
71
71
77
78
78
114
166
170
171
5
5
5
7
11
11
12
12
15
19
19
20
21
22
22
23
23
24
24
24
25
25
25
25
25
27
28
29
29
31
35
35
58
59
59
62
68
69
69
71
78
79
79
114
167
171
172
5
6
6
8
13
13
14
14
15
19
20
21
22
22
22
23
23
23
24
24
24
25
27
27
27
27
28
32
36
36
59
60
60
63
64
64
69
70
71
72
79
80
80
168
172
173
1
5
5
5
9
11
11
14
14
14
15
19
20
21
22
23
24
24
24
24
25
27
27
28
33
37
37
60
61
61
64
65
65
70
71
73
80
81
81
169
173
174
1
1
5
6
6
10
14
14
14
15
15
15
15
15
15
19
22
23
24
25
27
34
38
38
61
62
62
65
65
66
66
71
72
74
81
82
82
170
174
175
5
5
5
11
11
11
15
16
16
16
16
23
24
27
35
37
37
39
39
62
63
63
67
67
69
72
73
75
82
83
83
171
175
176
5
5
6
6
6
6
12
17
17
17
17
24
24
36
38
38
40
62
63
64
64
67
70
70
71
71
73
74
83
84
84
114
172
176
177
5
5
5
5
7
7
11
13
16
16
17
17
17
18
18
22
22
24
37
39
39
41
57
64
65
65
67
72
72
73
84
85
85
112
114
115
173
177
178
8
8
8
11
11
14
17
17
17
17
17
19
22
22
24
24
25
25
37
38
40
41
42
58
64
65
66
66
72
74
85
86
86
113
115
174
178
179
5
9
9
11
11
15
17
18
18
18
20
20
21
22
23
24
24
24
24
25
26
27
27
28
38
39
41
42
43
59
59
59
66
67
67
72
75
86
87
87
113
175
179
180
5
9
10
16
18
19
19
19
19
19
19
20
20
21
21
21
22
24
25
25
25
25
26
27
27
28
28
29
29
39
42
43
44
58
60
60
60
60
60
66
67
68
68
87
88
88
115
176
180
181
5
5
9
11
17
17
17
17
17
17
19
19
19
19
19
20
20
21
22
22
22
23
23
23
24
25
27
28
29
29
43
43
44
45
45
59
60
61
61
61
62
62
64
66
67
68
69
69
88
89
89
115
177
181
182
4
8
8
8
8
10
12
12
18
19
19
19
20
20
21
21
22
23
23
23
23
24
24
25
27
28
44
44
45
46
46
60
61
62
62
62
62
65
67
68
69
70
70
89
90
90
178
182
183
1
5
5
5
9
11
11
11
11
12
15
19
20
20
20
21
21
22
22
22
23
24
24
24
24
24
28
45
45
46
47
47
61
62
63
64
64
64
66
68
69
70
71
71
90
91
179
183
184
1
1
4
5
5
6
8
8
12
13
16
19
19
19
21
21
22
22
22
22
22
23
23
23
24
24
25
25
25
47
48
48
55
61
62
63
67
69
70
70
71
72
72
90
90
91
92
180
184
185
4
4
5
5
6
7
13
14
17
21
21
21
22
23
24
24
24
24
24
24
24
25
26
26
48
49
49
56
57
57
63
64
68
70
71
71
72
72
72
73
73
91
92
93
181
185
186
4
5
5
6
7
8
12
14
15
19
19
21
22
23
23
24
24
24
25
27
27
49
50
50
57
58
58
63
69
71
73
73
73
74
74
92
93
94
115
182
186
187
4
4
5
7
8
8
9
11
11
21
21
21
23
24
24
25
28
28
50
51
51
58
58
59
59
69
71
73
73
73
73
74
74
75
75
93
94
95
113
115
116
183
187
188
4
5
5
5
5
8
9
10
14
14
15
19
19
21
23
23
24
25
25
25
29
29
51
52
52
60
60
62
71
74
74
75
75
76
76
94
95
96
114
116
184
188
189
4
4
5
6
9
10
11
11
11
15
18
18
20
21
21
21
23
23
26
28
30
30
52
53
53
56
56
60
63
63
64
64
71
73
73
75
75
76
77
77
95
96
97
114
185
189
190
4
5
6
7
10
11
12
14
14
15
19
20
20
21
21
22
23
25
27
28
28
31
31
52
53
54
54
57
57
60
65
65
74
77
78
78
96
97
98
116
186
190
191
7
7
9
10
11
11
12
13
15
19
19
20
21
22
22
22
22
23
25
26
28
28
32
32
53
54
55
55
58
58
65
73
75
78
79
79
97
98
99
116
187
191
192
7
10
11
13
14
14
14
15
19
20
20
21
21
22
22
23
23
23
24
24
24
25
26
26
28
29
33
33
54
54
55
56
56
59
59
59
65
73
73
74
79
80
80
98
100
188
192
193
7
7
8
11
11
12
14
14
15
15
19
19
19
20
21
21
21
22
22
22
22
22
23
23
24
24
24
24
26
28
30
34
34
49
51
53
55
55
56
57
57
60
61
61
71
73
74
75
80
81
81
99
101
189
193
194
7
8
8
9
9
13
14
14
14
15
15
15
15
16
19
19
19
20
20
21
21
21
22
23
23
24
24
25
31
35
35
50
52
53
54
56
57
58
58
61
62
62
72
75
76
81
82
82
100
102
190
194
195
1
1
7
7
7
7
8
9
9
11
11
13
14
14
15
16
16
17
17
19
21
21
21
21
23
23
23
24
24
32
34
34
36
36
51
51
51
53
54
55
58
59
59
62
63
63
72
73
76
82
83
83
98
101
103
191
195
196
1
1
1
7
7
8
9
13
14
15
15
17
17
18
18
18
21
23
24
33
35
35
37
52
52
52
52
54
55
56
59
60
60
63
64
64
72
73
76
76
77
83
84
99
99
102
104
192
196
196
197
9
10
11
14
15
16
16
17
17
17
18
19
19
20
21
21
34
36
36
38
53
53
54
54
54
56
59
60
61
61
63
64
65
65
77
77
78
83
83
84
85
100
103
105
193
196
197
198
8
10
11
11
11
16
17
17
17
18
18
20
20
20
22
34
35
37
38
39
52
52
54
54
54
56
59
61
62
62
64
65
65
66
66
66
78
78
84
85
86
101
104
106
114
194
198
199
7
9
9
11
11
17
17
18
20
21
21
21
21
22
35
36
38
39
40
50
53
53
56
56
56
56
62
63
63
64
66
66
66
76
85
86
87
102
105
107
115
195
199
200
10
10
11
17
17
18
18
18
18
19
19
19
19
19
19
19
19
20
21
22
22
22
23
25
25
36
39
40
41
47
51
54
54
54
63
64
64
64
66
66
66
66
67
72
86
87
88
103
106
106
108
108
115
196
200
201
9
9
11
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
21
21
21
21
22
22
22
22
23
23
23
25
40
40
41
42
42
48
49
49
52
55
55
56
64
65
65
67
67
68
72
73
76
76
87
88
89
104
109
109
197
201
202
10
10
11
15
15
17
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
21
21
22
23
24
24
25
25
41
41
42
43
43
49
49
49
50
50
53
53
65
66
66
66
66
68
68
72
77
77
88
89
90
105
110
110
116
116
198
202
203
2
9
9
11
18
19
20
20
20
20
20
21
21
21
21
21
22
23
23
25
25
25
42
42
43
44
44
45
50
50
50
50
51
51
52
66
67
67
67
73
76
78
78
78
89
90
91
106
111
111
117
117
117
117
199
203
204
2
3
10
10
11
18
19
19
19
20
20
20
20
21
21
21
21
21
21
22
23
26
26
44
45
45
46
51
51
52
52
53
54
55
56
66
67
68
68
68
76
77
90
91
92
107
112
112
117
117
117
117
118
118
200
204
205
3
4
9
9
10
11
18
18
18
18
20
21
21
21
21
21
21
23
27
27
45
46
46
47
50
50
52
52
52
54
55
55
55
56
56
56
57
66
66
67
68
69
69
77
77
78
78
91
93
108
113
113
118
118
119
119
201
205
206
1
4
5
10
10
10
11
11
11
11
18
18
18
19
19
20
21
21
24
28
28
46
47
47
48
48
48
51
51
52
55
57
57
57
58
64
66
67
68
69
70
70
79
79
92
94
109
114
114
119
119
202
206
207
1
1
4
5
5
6
9
9
11
12
12
19
19
20
21
21
21
21
25
27
27
29
29
47
48
48
49
52
52
56
57
58
59
65
68
69
70
71
71
77
78
78
78
80
80
93
95
110
115
115
203
207
208
1
5
6
7
13
13
17
18
19
19
19
20
20
21
21
21
26
28
28
30
48
49
49
50
53
53
57
57
59
60
65
66
69
71
72
72
77
77
77
78
79
79
79
91
94
96
111
116
116
117
204
208
209
1
7
8
9
13
13
13
15
19
19
19
19
20
21
21
21
21
27
29
29
31
43
45
49
50
50
51
51
57
60
61
65
66
69
69
70
72
73
73
79
80
80
80
92
92
95
97
112
117
117
117
117
118
208
209
210
5
5
8
9
9
9
13
13
13
13
15
16
16
17
17
18
21
27
28
30
31
32
44
45
46
50
51
51
52
61
70
70
71
73
74
74
78
80
81
81
93
96
98
113
117
118
118
118
119
204
209
210
211
4
4
5
5
9
9
9
9
10
13
13
14
15
15
16
16
17
17
20
21
21
22
28
29
31
32
33
45
45
45
46
47
51
52
52
52
53
61
71
71
74
75
75
79
79
94
97
99
114
119
119
119
120
210
211
212
5
10
10
11
11
13
14
15
15
15
15
16
16
16
17
18
18
18
18
20
20
20
21
22
29
32
33
34
43
46
46
46
47
48
48
48
51
52
53
53
53
61
69
75
76
95
98
100
115
115
120
120
120
211
212
213
4
6
11
11
12
12
13
13
13
13
13
13
15
15
15
16
16
17
18
19
19
19
20
21
21
21
21
22
33
33
34
35
35
44
46
46
46
47
47
48
49
49
53
54
54
55
65
75
75
76
77
81
96
99
99
101
101
116
116
120
121
121
121
212
213
214
5
7
8
13
13
13
14
15
15
16
16
16
16
17
18
18
18
19
19
19
19
20
20
21
21
22
34
34
35
36
36
45
47
47
48
48
48
50
50
53
54
55
55
56
57
57
65
66
69
69
76
77
78
81
97
102
102
116
117
120
122
122
122
213
214
215
4
5
5
9
13
14
14
15
16
16
16
17
17
17
18
19
19
19
20
20
20
20
21
21
21
21
22
35
35
36
37
37
46
46
48
48
48
48
48
49
51
51
55
56
56
58
58
65
70
70
77
78
79
98
103
103
116
118
120
121
123
123
123
214
215
216
5
5
7
10
15
15
15
15
16
16
17
17
17
17
17
18
19
19
21
21
22
37
38
38
49
49
49
49
49
49
50
51
51
56
56
57
57
58
58
58
58
59
66
69
71
71
71
78
79
80
81
81
99
104
104
119
120
121
122
124
124
215
216
217
5
5
7
11
15
16
16
16
17
17
17
17
17
17
17
17
18
18
18
19
19
19
21
38
39
39
48
50
50
51
51
51
52
52
57
58
58
59
59
60
69
70
79
79
80
81
82
82
100
105
105
116
120
121
122
125
125
216
217
218
1
1
5
5
7
11
11
12
15
15
15
15
17
17
17
17
17
17
18
18
19
20
21
39
40
40
41
41
43
43
48
51
51
51
51
52
53
53
58
58
58
59
59
60
60
70
70
71
71
80
80
80
81
82
101
106
106
121
122
126
126
217
218
219
1
1
1
5
5
7
13
15
15
17
17
17
17
17
18
18
18
18
18
19
20
20
20
21
37
40
41
41
41
42
42
44
44
46
46
51
53
53
53
53
54
54
59
59
60
60
72
72
81
82
83
102
107
107
120
122
123
127
127
218
218
219
220
5
5
7
14
15
15
17
18
19
19
19
19
19
19
21
21
21
21
38
41
42
42
42
43
43
44
44
45
45
47
47
51
54
55
55
58
60
60
61
61
70
71
71
71
73
73
82
82
83
84
103
108
108
116
121
123
128
128
219
219
220
221
5
5
5
7
15
15
17
17
18
18
20
20
21
21
21
21
39
42
43
43
43
44
44
45
45
46
46
46
46
48
48
53
54
56
56
58
58
59
61
62
62
70
70
70
71
72
72
72
82
83
85
104
109
109
122
124
129
129
220
221
222
5
5
5
6
7
7
7
16
19
20
21
21
21
21
40
40
43
44
44
44
44
46
46
47
47
49
49
56
56
56
58
59
60
62
63
63
72
73
73
73
84
86
105
110
110
123
125
130
130
221
222
223
5
5
7
8
8
12
12
13
13
16
16
17
17
20
20
21
21
22
22
44
45
45
47
47
47
47
48
48
57
60
61
63
64
64
71
73
74
74
82
82
85
87
106
111
111
120
123
126
131
131
222
223
224
9
9
12
12
12
13
13
13
14
14
14
14
16
17
17
17
17
18
18
18
19
19
20
21
21
21
23
44
45
46
46
46
49
49
51
57
58
61
64
65
65
72
72
80
83
83
83
86
88
107
112
112
116
121
127
132
132
223
224
225
5
9
9
9
11
12
13
14
14
14
14
14
14
15
15
15
15
15
15
17
17
17
17
17
19
19
19
19
20
20
20
22
22
24
39
41
41
46
46
46
47
47
49
49
52
52
53
53
57
58
61
61
62
65
66
66
81
81
84
84
87
89
108
113
113
120
122
128
133
133
224
225
226
5
5
9
9
9
11
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
18
18
18
19
19
20
20
20
23
24
25
39
40
42
42
44
46
47
47
47
47
48
48
49
49
54
54
62
62
63
66
67
67
74
85
88
90
109
114
114
121
121
123
123
129
134
134
225
226
227
5
5
9
10
11
11
14
15
15
15
15
15
16
16
16
16
17
17
17
17
18
19
19
20
21
21
21
24
25
26
37
37
40
41
41
41
43
43
44
48
48
48
48
49
49
54
63
63
67
68
68
74
83
86
89
91
110
115
115
121
121
123
123
124
124
130
135
135
226
227
228
1
10
11
11
11
11
15
15
16
17
17
17
18
18
18
18
19
21
21
21
25
26
27
35
38
38
40
41
42
42
42
42
44
44
49
49
49
49
50
50
54
61
68
69
69
83
87
90
92
111
116
116
124
124
125
125
131
136
136
227
228
229
1
1
9
9
9
9
9
11
11
11
15
17
17
18
18
19
19
19
19
20
21
21
26
26
27
28
28
36
39
39
40
41
42
42
42
42
42
43
43
44
44
50
50
50
50
51
51
57
69
70
70
74
74
88
91
91
93
93
112
117
117
125
125
132
137
137
228
229
230
1
1
5
5
5
10
11
11
12
15
17
17
21
21
27
27
28
29
29
37
40
40
41
42
42
43
43
43
44
44
44
51
51
51
51
52
52
57
58
61
61
70
71
71
72
75
75
89
94
94
113
118
118
121
121
133
138
138
229
230
231
4
4
5
5
6
6
6
11
12
13
17
17
18
18
21
28
28
29
30
30
38
38
42
43
43
44
44
44
44
46
46
46
51
52
52
52
53
53
57
62
62
71
72
72
73
73
90
95
95
114
119
119
122
122
123
123
123
134
139
230
231
232
5
7
7
7
7
11
11
13
15
15
15
15
15
15
17
17
17
17
30
31
31
37
39
39
43
44
44
44
45
45
45
52
52
53
54
54
58
61
63
63
63
72
73
81
91
96
96
115
120
120
124
124
124
135
140
231
232
233
4
6
8
8
8
8
13
13
13
14
14
14
15
17
17
17
17
18
18
18
31
32
32
37
38
39
39
40
40
40
43
43
45
46
52
54
55
55
61
62
72
72
73
74
75
82
92
97
97
116
121
121
124
125
125
136
138
138
141
232
233
234
5
7
9
9
11
11
11
11
12
13
13
14
15
15
15
15
15
16
17
17
18
18
19
20
32
33
33
35
35
38
39
40
40
40
41
41
45
45
53
54
54
55
56
56
62
62
63
63
73
74
75
75
83
83
93
98
98
117
122
122
125
125
137
139
142
233
234
235
4
4
5
5
10
10
11
11
12
12
12
13
13
13
13
13
13
14
14
14
15
15
15
16
16
17
17
17
19
19
20
20
20
33
33
34
34
36
36
39
40
40
41
41
42
42
42
45
45
55
55
56
57
57
64
64
74
75
76
84
84
84
84
94
99
99
118
123
123
138
140
143
234
235
236
5
5
5
7
11
11
11
11
12
12
13
13
13
14
14
14
14
14
14
15
15
16
17
17
17
17
18
18
18
19
19
19
19
34
34
35
35
37
37
40
40
42
42
43
43
44
44
53
55
55
55
55
56
57
58
58
62
63
63
63
65
65
75
75
75
76
77
82
84
84
85
85
95
100
100
119
124
124
139
141
144
235
236
237
5
5
6
7
11
12
12
13
13
14
14
14
14
15
15
15
15
15
15
16
16
17
17
18
19
19
19
19
35
35
36
36
38
38
42
44
44
45
45
45
46
46
56
56
57
58
59
59
62
62
62
63
64
64
64
73
76
76
76
77
78
85
86
86
96
101
101
120
125
125
140
142
145
236
237
238
1
5
5
7
8
11
11
11
11
13
13
15
15
15
16
16
16
16
17
17
34
36
36
36
37
37
38
38
42
42
45
45
46
47
47
55
55
57
57
59
60
60
64
65
65
65
74
74
77
78
79
84
84
86
97
102
102
121
126
126
141
143
146
237
238
239
1
1
5
5
7
9
14
14
15
15
15
16
16
16
17
17
17
18
19
34
35
37
38
38
38
38
39
39
42
46
46
47
47
56
60
61
61
63
65
66
66
78
79
80
85
98
103
103
122
127
127
142
144
147
238
239
240
5
5
7
10
13
13
14
15
15
15
15
15
17
17
18
18
35
36
37
38
38
39
39
39
39
40
40
47
47
47
48
55
57
61
62
62
64
64
76
79
80
81
84
84
86
99
104
104
123
128
128
143
145
148
239
240
241
5
5
5
5
5
7
11
11
11
11
11
12
13
14
14
14
15
15
15
15
15
15
15
15
16
16
17
17
32
33
33
33
33
35
36
37
37
38
39
40
40
40
40
41
41
47
48
49
55
55
56
62
63
63
76
80
82
84
84
85
85
100
105
105
124
124
129
129
146
149
240
241
242
4
5
5
5
5
6
6
6
7
7
7
11
11
12
12
13
13
13
15
15
15
15
17
17
17
17
31
33
34
34
34
34
35
35
35
36
37
37
39
40
41
41
41
41
48
49
53
55
56
57
63
64
64
66
81
83
86
86
101
106
106
125
125
125
125
130
130
147
150
241
242
243
5
5
5
5
6
6
7
7
7
8
8
11
11
11
11
13
13
13
13
13
16
16
17
17
18
18
18
32
34
34
34
35
35
35
35
36
36
36
37
41
42
42
54
57
58
64
65
65
66
82
82
84
87
87
102
107
107
125
126
126
126
131
131
148
151
242
243
244
7
7
8
8
9
9
11
12
13
13
14
14
15
15
16
17
17
17
17
19
20
33
35
35
35
35
36
36
36
36
37
37
37
38
42
43
43
54
55
58
65
66
80
83
83
85
88
103
108
108
126
126
127
132
143
147
149
152
243
244
245
5
5
8
8
9
9
9
9
9
11
12
12
12
13
13
13
13
14
14
15
15
15
16
16
16
17
18
18
19
20
20
20
20
34
34
36
36
36
37
37
38
38
38
38
41
43
44
44
45
54
55
58
58
59
65
65
66
66
66
67
74
81
81
83
83
84
86
87
87
89
104
109
109
128
133
148
150
153
244
245
246
4
4
5
5
5
6
9
9
9
10
10
11
11
12
12
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
17
17
19
19
19
19
20
21
36
37
37
37
38
39
40
40
41
41
44
45
45
46
47
47
59
59
60
64
66
67
67
67
68
75
82
85
87
88
88
90
105
110
110
129
131
131
134
149
151
154
245
246
247
5
5
5
5
6
7
9
10
11
11
11
11
11
11
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
17
19
19
20
21
22
32
34
34
36
38
38
39
39
39
40
41
41
41
45
46
46
48
48
60
60
65
65
67
68
69
76
76
83
86
87
88
89
89
106
111
111
130
132
135
150
152
155
246
247
248
1
8
8
8
8
8
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
14
15
15
15
15
16
16
16
17
21
22
23
30
31
31
32
33
34
34
35
35
36
37
38
41
42
42
46
46
47
47
48
48
48
48
49
58
68
69
70
77
77
77
77
84
87
87
89
107
112
112
131
133
136
151
153
156
247
248
249
1
1
1
4
9
9
9
9
9
9
9
9
11
11
11
13
13
13
13
13
13
13
13
15
15
15
15
15
15
15
15
16
16
17
22
22
23
24
24
29
31
32
32
32
32
33
34
35
35
36
36
39
42
43
43
47
48
48
49
49
50
54
67
69
70
71
75
77
77
78
78
83
85
87
88
88
88
90
90
108
113
113
132
134
137
152
154
154
157
157
248
249
250
5
5
5
9
9
10
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
13
13
13
14
14
15
16
17
23
23
24
25
25
30
31
31
32
33
33
33
33
34
35
35
36
36
37
37
43
44
44
48
48
48
49
49
50
50
54
55
58
58
67
70
71
72
78
79
79
83
86
88
89
91
91
109
114
114
133
135
138
153
158
158
249
250
251
5
5
5
6
6
8
8
11
11
12
12
13
13
13
13
14
14
14
15
15
15
24
24
25
26
26
27
27
31
32
32
33
33
34
34
34
34
35
35
37
37
43
45
45
49
49
50
50
54
59
59
71
72
73
77
77
79
87
87
89
90
92
92
110
115
115
125
134
136
139
154
159
159
250
251
252
4
4
4
5
5
6
6
7
7
11
11
11
11
12
12
13
13
13
15
15
15
15
15
15
16
16
26
27
27
28
28
31
31
32
32
33
33
35
35
37
37
45
45
48
50
50
51
51
55
58
60
60
60
67
67
72
73
74
78
83
88
88
90
90
93
93
111
116
116
126
126
126
135
137
140
155
160
160
251
252
253
4
4
5
5
7
8
8
8
11
11
11
12
12
12
13
13
13
13
13
14
14
14
15
16
16
16
16
17
17
27
28
28
29
29
32
32
34
34
35
37
37
38
38
39
39
48
48
49
51
52
52
58
59
65
68
68
73
75
77
77
79
87
89
89
94
94
112
117
117
126
127
127
136
138
141
156
161
161
252
253
254
4
5
5
6
8
9
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
13
14
14
15
15
16
17
17
18
18
28
29
29
30
30
30
30
30
32
32
33
33
34
35
37
40
40
46
48
49
50
52
53
53
59
59
60
60
66
66
74
76
77
77
78
78
88
88
90
90
90
95
95
113
118
118
127
127
139
142
157
162
162
253
254
255
4
4
4
5
5
5
7
9
9
10
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
17
18
18
18
18
19
19
19
29
30
30
30
31
32
32
33
33
34
34
34
40
47
50
51
53
54
54
61
61
75
77
79
79
88
90
91
91
91
96
96
114
119
119
140
143
158
163
163
254
255
256
5
5
5
6
8
8
9
10
10
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
16
17
17
18
18
19
19
19
19
19
19
19
20
20
20
20
30
31
31
31
32
33
33
33
34
34
40
47
48
51
54
55
55
59
60
60
60
62
62
68
73
75
76
78
80
80
88
90
91
92
92
92
97
97
115
120
120
141
144
159
164
164
255
256
257
4
5
6
7
8
8
9
9
11
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
14
14
14
14
14
14
15
15
15
16
16
17
17
19
19
20
20
21
21
21
21
25
26
28
31
32
32
32
33
33
34
34
34
35
35
35
35
47
48
51
51
52
55
56
56
59
59
59
60
61
61
61
68
74
74
76
77
79
81
88
88
91
92
93
98
98
116
121
121
136
140
142
145
160
165
165
256
257
258
7
7
7
8
8
9
9
10
10
11
11
11
12
12
13
13
13
14
14
14
15
15
16
16
16
17
17
18
21
21
22
22
22
22
26
27
27
27
28
29
32
33
33
33
33
34
34
35
35
35
36
36
52
52
53
56
57
57
61
62
62
62
75
76
76
78
80
80
80
82
89
89
90
90
90
92
94
99
99
117
122
122
141
143
146
161
166
166
257
258
259
1
7
7
9
9
9
10
10
11
13
13
13
13
14
15
16
16
17
18
18
19
19
20
20
21
21
22
22
23
23
23
23
27
27
27
28
28
28
29
30
33
34
34
34
34
35
36
37
37
53
53
57
58
58
60
62
63
63
76
79
81
81
81
83
91
91
91
91
95
100
100
118
123
123
142
144
147
162
167
167
258
259
260
1
1
1
7
7
8
8
10
11
11
12
13
13
13
14
14
14
15
15
19
20
20
21
21
21
21
23
23
24
24
24
24
25
25
28
28
28
29
29
29
30
31
33
34
35
35
35
35
37
38
38
51
58
59
61
61
77
80
80
82
82
82
92
92
96
101
101
119
124
143
145
148
163
168
168
259
260
261
7
8
8
8
8
8
10
10
11
11
11
11
11
11
11
11
13
13
13
13
14
14
14
14
15
16
20
21
21
21
21
21
21
22
22
22
22
23
23
24
24
25
25
25
25
26
26
27
27
28
28
29
29
29
30
30
30
30
31
35
35
36
36
38
38
39
39
47
58
58
59
60
66
78
80
81
81
83
83
92
97
102
102
120
125
144
146
149
164
169
169
260
261
262
1
7
7
7
8
8
8
8
11
11
11
12
13
13
13
13
13
13
13
14
14
15
15
15
16
17
17
19
20
21
22
22
23
23
23
23
23
23
25
25
26
26
26
26
27
27
28
28
28
28
29
29
30
30
30
30
31
31
31
35
36
37
37
39
40
40
40
40
47
48
51
51
59
60
61
63
67
76
79
80
81
84
84
92
98
103
103
121
123
123
126
145
147
147
150
150
165
170
170
261
261
263
7
7
8
9
9
9
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
15
15
16
17
18
18
20
20
20
20
22
23
23
23
23
23
23
23
23
26
26
27
27
27
27
28
28
28
28
29
29
29
30
30
30
30
30
31
31
31
32
32
37
38
38
38
41
41
47
52
52
60
61
62
63
68
68
76
80
81
82
85
85
99
104
104
122
124
126
127
146
151
151
166
171
171
261
262
262
264
8
8
9
9
10
11
11
11
11
12
13
13
13
14
16
16
18
19
19
20
20
21
21
21
21
21
21
22
22
22
22
22
23
23
23
24
24
27
27
28
28
28
28
30
30
30
30
31
31
31
31
31
31
32
32
33
33
38
39
39
39
40
41
41
41
41
42
48
51
53
53
53
61
62
63
69
69
69
69
80
81
82
83
86
86
100
105
105
123
125
127
128
147
152
152
167
172
172
263
263
265
8
8
9
9
10
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
15
16
16
19
20
20
21
21
22
22
22
23
23
23
23
23
23
24
25
25
28
28
29
29
29
29
30
30
31
31
32
32
33
33
33
33
39
40
40
40
42
42
43
51
52
62
63
63
63
64
67
69
69
70
70
76
81
82
83
83
87
87
91
101
106
106
124
126
127
127
129
148
153
153
168
173
173
264
264
266
5
5
8
8
8
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
12
12
13
13
14
19
20
21
21
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
25
25
25
26
26
29
29
30
30
30
30
30
30
33
33
33
33
40
41
41
41
41
43
43
52
52
53
53
61
63
64
64
64
65
70
71
71
80
82
83
88
88
92
92
92
92
102
107
107
125
127
127
128
128
130
149
154
154
169
174
174
265
265
267
8
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
14
14
15
16
16
19
19
20
20
21
21
21
22
22
22
23
23
23
23
24
24
24
24
25
25
26
26
26
27
27
30
30
31
31
31
31
33
33
35
35
35
41
42
42
42
54
54
62
62
64
65
66
69
69
71
81
81
83
83
84
89
89
93
93
103
108
108
126
128
128
128
129
131
150
155
155
170
175
175
266
266
268
5
5
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
14
14
14
14
14
14
20
20
20
22
22
22
22
23
23
23
23
24
24
24
24
25
25
26
26
26
26
27
27
27
28
28
28
28
30
31
31
32
32
32
32
33
33
41
42
43
43
43
52
53
53
53
55
55
65
66
67
70
81
83
84
84
85
90
90
93
104
109
109
127
128
128
129
129
130
132
151
156
156
171
176
176
267
267
269
8
8
9
10
10
11
12
12
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
16
18
18
20
20
21
21
21
21
22
22
22
23
24
24
24
24
24
24
24
24
24
24
25
25
26
26
26
26
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
30
31
32
32
33
33
33
33
35
41
41
42
43
44
44
52
52
52
53
54
54
54
64
66
68
69
69
71
81
83
84
85
85
86
91
91
93
105
110
110
128
129
130
130
133
152
157
157
172
177
177
268
268
270
10
10
11
11
11
11
12
13
13
13
13
13
13
14
19
19
20
20
21
21
22
22
22
22
22
23
23
24
25
25
25
25
25
25
25
25
26
26
26
26
27
27
27
27
28
28
29
29
29
29
29
30
30
30
30
31
32
33
33
34
34
39
41
42
43
44
45
45
54
55
55
55
64
67
69
69
69
70
70
81
81
84
85
87
92
92
106
111
111
128
128
130
131
134
153
158
158
173
178
178
269
269
271
1
1
2
9
13
13
14
14
19
19
21
21
22
22
23
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
28
28
28
28
29
29
29
29
30
30
30
30
30
31
31
31
31
32
33
33
33
33
33
34
34
35
35
40
43
44
45
46
46
53
55
56
56
68
70
71
71
82
82
83
83
83
85
88
93
93
107
112
112
129
132
135
154
159
159
174
179
179
270
270
272
1
1
2
3
5
9
9
10
11
13
13
15
17
19
21
21
23
23
23
23
23
26
26
26
26
26
27
27
27
27
28
28
29
29
29
31
31
31
31
31
32
32
33
33
34
34
34
35
35
36
36
40
41
44
46
47
47
54
54
64
64
66
67
69
71
72
72
84
84
84
84
89
92
94
94
108
113
113
128
128
130
132
133
136
155
160
160
175
180
180
271
271
273
3
4
5
5
8
9
9
9
10
10
10
10
10
11
18
19
20
21
21
23
23
24
24
25
25
25
25
25
25
26
26
27
27
27
27
27
28
28
28
28
30
31
31
32
33
34
34
34
35
35
35
35
35
36
36
37
37
40
41
44
44
45
47
48
48
62
65
65
67
67
68
70
72
73
85
85
90
93
93
93
93
95
95
109
114
114
128
129
133
134
137
156
161
161
176
181
181
272
274
4
4
5
5
5
5
7
8
8
8
8
8
8
8
9
10
10
11
11
11
18
20
21
21
21
21
23
23
23
23
24
24
24
24
24
24
25
25
25
26
26
26
26
26
27
28
29
29
31
31
31
31
32
32
33
34
35
36
36
36
36
37
37
38
38
45
45
46
48
49
49
56
63
63
68
68
68
71
72
72
73
74
85
91
94
94
96
96
110
115
115
130
134
135
138
157
162
162
177
182
182
273
275
1
5
5
5
5
5
6
6
6
8
8
9
9
9
10
10
10
10
10
10
11
11
11
11
14
14
18
18
18
18
20
20
20
22
22
22
22
23
23
24
24
25
25
25
25
25
25
26
27
27
27
27
27
28
29
30
30
31
31
33
34
35
36
37
37
38
38
39
39
46
46
49
50
50
56
69
72
72
73
73
74
75
85
92
94
97
97
111
116
116
131
135
136
139
158
163
163
178
183
183
270
274
276
5
5
5
6
7
7
7
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
12
13
13
13
13
13
13
13
13
15
15
17
17
19
19
19
19
20
21
21
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
28
28
30
31
31
34
35
36
36
38
38
40
40
44
50
51
51
65
70
72
73
74
74
75
93
94
98
98
112
117
117
128
136
137
140
159
164
164
179
184
184
271
273
275
277
4
4
5
5
8
8
8
8
8
8
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
13
13
13
13
14
14
14
14
18
18
19
19
22
22
22
22
22
22
22
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
27
27
28
28
28
28
29
29
31
32
32
35
35
36
37
39
39
40
41
41
51
52
52
56
56
65
68
71
73
74
74
76
76
94
99
99
113
118
118
127
128
129
137
138
141
160
165
165
180
185
185
274
276
278
5
5
5
5
5
5
5
8
8
8
8
9
9
9
9
9
9
9
9
10
10
11
11
11
12
12
13
13
14
17
17
19
19
20
20
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
28
28
29
29
29
29
30
30
32
33
33
35
36
37
38
40
40
40
41
42
42
44
44
52
53
53
54
57
57
72
72
74
77
77
84
95
100
100
114
119
119
128
128
130
138
139
139
142
142
161
166
166
181
186
186
275
277
279
4
5
5
5
6
9
9
10
10
10
10
10
11
11
12
12
13
13
13
13
15
18
18
20
20
20
20
21
21
23
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
27
30
30
30
30
33
34
34
37
38
38
39
40
41
41
43
43
45
45
53
54
54
55
55
68
73
73
75
78
78
85
85
85
85
96
101
101
115
120
120
129
129
131
131
131
139
143
143
162
167
167
182
187
187
276
278
280
4
6
6
7
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
13
13
13
21
21
22
22
22
23
24
24
24
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
28
28
28
28
34
35
35
38
39
39
39
39
40
41
42
42
44
44
44
46
46
46
54
55
72
74
74
79
79
86
86
97
102
102
116
121
128
131
132
132
140
144
144
163
168
168
183
188
277
279
281
4
5
5
5
5
5
5
5
5
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
9
10
10
10
10
11
11
11
11
11
11
11
12
12
13
15
15
16
16
19
19
19
19
19
22
22
22
23
23
24
24
25
25
25
25
25
26
26
27
27
27
27
27
28
28
28
28
29
34
35
36
36
39
40
40
41
43
43
43
43
44
45
45
45
45
45
54
54
55
56
57
63
68
73
75
75
75
80
80
86
93
98
103
103
117
122
132
133
133
141
145
145
164
169
169
184
187
187
189
278
280
282
5
5
5
5
5
5
5
5
5
6
6
7
7
7
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
13
13
13
13
16
16
17
17
18
18
19
19
20
20
20
21
21
21
21
23
23
23
24
24
24
25
25
25
26
27
27
27
28
28
28
28
28
28
28
29
29
29
29
35
36
36
36
37
37
37
40
41
41
42
45
45
46
46
46
46
46
46
55
56
57
57
64
72
74
76
81
81
86
94
94
94
99
104
104
118
120
120
123
133
142
146
146
165
170
170
185
188
190
279
281
283
1
1
5
5
5
5
5
5
5
5
6
6
6
6
6
7
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
11
11
12
12
12
13
13
14
14
14
14
14
14
15
15
19
19
21
21
21
22
22
22
22
23
24
24
25
27
27
27
27
28
28
28
29
29
29
29
29
29
29
29
30
30
30
30
37
37
37
38
38
38
38
41
42
42
43
47
47
47
47
47
47
56
57
58
65
65
73
73
73
75
75
75
77
82
82
95
95
100
105
105
119
121
124
128
131
143
147
147
166
171
171
186
189
191
280
282
284
1
1
1
4
5
5
5
5
5
5
5
5
6
6
7
8
8
9
9
9
9
10
10
10
10
10
11
11
11
11
13
14
14
15
15
15
16
16
17
17
18
20
20
22
22
22
22
22
22
23
23
23
23
23
24
26
27
27
28
29
30
30
30
30
30
30
31
31
31
31
35
37
37
37
37
38
38
39
39
39
42
42
43
43
44
44
45
46
46
46
48
48
48
48
48
48
57
57
57
58
59
66
66
66
66
73
75
76
76
76
78
83
83
94
95
95
95
95
96
101
106
106
120
122
125
128
132
144
148
148
167
172
172
187
190
192
281
283
284
285
4
5
5
5
5
6
6
7
9
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
11
12
15
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
21
21
23
24
24
24
24
24
26
27
27
27
27
28
29
29
29
30
30
30
30
30
30
30
32
32
32
32
38
38
39
39
40
40
40
44
44
45
45
45
45
45
46
47
47
47
49
49
49
49
55
58
58
58
59
60
64
66
66
67
67
76
77
77
77
79
84
84
85
96
96
97
102
107
107
121
123
126
129
131
133
145
149
149
168
173
173
188
191
193
282
283
285
286
5
5
5
5
5
5
5
5
5
7
7
8
9
9
9
9
11
11
12
12
12
12
12
12
13
13
13
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
20
20
20
20
24
24
24
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
37
37
39
39
40
41
41
41
45
45
46
46
47
48
48
48
50
50
50
50
56
56
59
60
61
67
68
68
73
73
77
80
85
85
86
86
86
86
95
95
97
97
103
108
108
122
124
127
132
146
150
150
169
174
174
189
192
194
283
286
287
6
7
8
8
8
9
9
9
9
10
10
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
14
15
15
15
17
18
18
20
20
20
21
21
21
21
24
24
24
28
29
29
29
29
29
30
30
30
31
31
32
32
32
32
32
32
38
41
42
42
42
46
46
46
47
47
48
49
49
51
51
51
51
60
61
62
66
66
68
74
74
75
75
75
81
86
86
87
87
96
104
109
109
123
125
128
133
147
151
151
170
175
175
190
193
195
284
287
288
5
5
5
5
7
7
7
8
8
8
8
8
8
9
10
11
11
11
13
14
14
14
14
15
15
15
15
16
16
16
18
19
19
20
20
20
21
22
22
22
22
28
29
29
29
29
30
30
30
31
31
32
32
33
33
33
33
37
39
42
43
43
43
47
47
47
47
48
48
52
52
52
52
58
61
62
63
67
76
76
76
76
82
87
87
87
95
97
105
110
110
124
126
128
129
133
148
152
152
171
176
176
191
194
196
285
288
289
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
18
19
20
20
20
21
21
21
23
23
23
23
28
28
28
29
29
30
30
30
31
31
31
31
37
37
38
43
44
44
44
48
48
49
49
53
53
53
53
58
62
64
66
66
68
77
77
77
83
87
88
88
95
95
96
106
111
111
125
127
129
130
131
149
153
153
172
177
177
195
197
286
289
290
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
20
21
21
21
21
22
22
30
31
31
31
35
37
38
39
44
45
45
45
49
49
49
50
50
54
54
54
54
63
65
66
66
67
67
77
84
89
89
94
95
96
97
107
112
112
128
131
131
132
150
154
154
173
178
178
196
198
287
290
291
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
8
8
9
9
9
9
9
10
10
10
10
11
11
11
11
12
12
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
20
21
22
22
22
22
23
23
29
31
32
32
33
33
33
33
33
33
36
39
40
45
46
46
46
49
50
50
51
51
55
55
55
55
64
66
68
68
85
90
90
95
97
98
108
113
113
129
132
132
133
151
155
155
174
179
179
197
199
288
291
292
5
5
5
5
5
5
5
6
6
9
9
9
9
9
9
9
10
10
10
10
10
10
10
12
13
13
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
21
22
23
23
23
23
30
30
31
31
33
33
34
34
34
34
36
37
40
46
47
47
47
51
51
52
52
56
56
56
56
62
64
65
67
69
69
86
91
91
95
96
98
109
114
125
129
130
132
132
133
133
133
134
152
156
156
175
180
180
191
198
200
289
292
293
1
5
5
5
5
5
7
8
9
9
10
10
11
11
12
13
14
14
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
19
19
19
20
20
20
20
20
20
22
23
23
24
24
24
24
32
32
32
32
36
37
40
40
41
47
48
48
49
49
52
52
53
53
56
57
57
57
57
63
63
65
66
68
70
87
92
92
95
96
98
98
99
110
115
130
131
132
133
134
134
134
135
153
157
157
176
181
192
196
199
201
290
293
294
1
1
5
5
5
5
5
7
7
8
9
12
12
12
12
13
13
13
14
14
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
19
20
20
20
20
20
21
21
23
23
23
23
24
25
25
25
25
27
32
32
32
41
41
42
47
47
47
48
49
49
50
50
53
53
54
54
57
58
58
58
58
64
65
65
67
69
69
69
71
76
86
88
93
93
99
99
100
111
113
113
116
131
132
133
134
135
135
135
154
158
158
177
180
180
182
197
200
202
291
294
295
5
5
5
5
5
5
5
6
7
8
8
8
8
9
12
12
13
13
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
18
18
18
19
20
20
20
20
20
21
21
21
22
22
23
23
24
25
26
26
26
26
28
29
29
30
32
33
33
34
34
34
34
34
34
42
42
48
48
48
49
50
50
54
54
55
55
58
58
59
59
59
59
65
68
69
70
70
70
72
77
77
77
77
87
87
87
89
94
94
100
100
112
114
117
132
132
133
133
134
135
136
155
159
159
178
181
183
198
201
203
292
295
296
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
18
19
20
20
20
20
20
21
22
22
22
23
23
25
26
27
27
27
30
30
31
31
32
32
34
34
35
35
35
35
40
49
50
51
51
55
55
56
56
59
59
59
59
60
60
60
60
66
69
69
71
71
71
78
78
78
88
88
90
95
95
98
113
115
118
132
133
134
134
135
137
156
160
160
179
182
184
199
202
204
293
296
297
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
8
8
8
9
9
9
9
11
11
11
11
11
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
20
22
23
23
23
24
24
25
26
28
28
28
28
30
30
30
30
31
33
33
33
33
36
50
50
51
52
52
56
56
57
57
57
59
59
60
60
61
61
61
61
65
67
70
70
70
72
72
78
87
88
88
88
88
89
91
95
96
96
114
116
119
133
134
135
135
136
138
157
161
161
180
183
185
200
203
203
205
205
294
297
298
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
8
8
8
8
8
9
9
9
12
12
12
12
12
12
12
13
13
13
13
13
13
14
15
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
19
19
19
19
19
19
23
24
24
24
25
25
26
29
29
29
31
31
32
33
33
33
36
37
40
40
50
51
52
53
53
57
57
58
58
60
61
61
62
62
62
62
68
69
71
73
73
89
89
90
92
95
96
97
97
98
98
115
117
120
134
135
136
136
136
139
139
158
162
162
181
184
186
201
206
206
295
298
299
4
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
9
10
10
10
12
13
13
13
13
14
14
14
14
14
14
14
16
16
16
16
16
16
17
17
17
18
18
18
19
20
20
24
25
25
25
26
26
30
30
30
30
30
31
32
32
33
34
34
35
35
36
41
41
52
53
54
54
58
58
59
59
59
59
61
63
63
63
63
65
69
70
72
74
74
88
88
90
90
93
95
98
98
99
99
116
118
121
134
136
136
140
140
159
163
163
182
185
187
202
207
207
296
299
300
4
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
10
10
11
11
11
11
11
12
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
17
17
17
18
18
18
18
19
19
19
20
21
21
25
26
26
26
27
27
31
31
31
31
32
32
35
35
35
35
35
35
37
40
42
42
42
50
50
53
54
55
55
59
59
59
60
60
60
64
64
69
70
71
75
75
89
94
96
98
99
99
100
100
100
117
119
122
136
137
141
141
160
164
164
183
186
188
203
208
208
297
300
301
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
8
8
9
9
9
10
10
10
11
11
12
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
17
18
18
18
19
19
19
19
19
19
21
22
22
26
27
27
28
30
30
32
32
32
32
33
33
36
36
36
36
36
36
36
36
40
41
48
51
51
54
55
56
56
59
59
60
60
60
61
61
61
65
65
65
70
71
72
72
76
76
77
88
88
90
95
98
99
100
100
118
120
123
138
142
142
161
165
165
184
187
189
204
209
209
298
301
302
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
8
8
8
8
9
9
10
10
10
10
10
10
11
11
12
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
22
23
23
26
26
27
27
27
28
28
28
29
30
30
31
31
33
33
33
34
34
34
36
36
36
36
37
37
37
37
41
41
42
42
49
49
55
57
57
59
60
61
61
61
62
62
63
63
63
63
66
66
69
71
72
77
77
78
78
78
78
87
88
88
89
89
96
99
99
100
100
101
101
121
124
139
143
143
162
166
166
188
190
205
210
210
299
302
303
1
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
8
9
9
9
9
9
10
10
11
11
11
11
11
11
11
12
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
18
19
19
19
20
20
20
21
21
21
21
21
23
24
24
27
28
28
29
29
29
30
32
32
34
34
34
34
34
34
36
36
37
37
38
38
38
38
43
43
56
57
58
58
61
62
62
62
63
64
64
67
67
70
70
70
72
72
72
73
78
78
79
79
79
88
90
90
97
101
101
102
102
122
125
140
144
144
163
167
167
189
191
206
211
211
300
303
304
1
1
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
9
10
10
10
10
11
12
12
12
12
12
12
12
13
14
14
14
14
14
15
16
16
16
16
16
16
18
18
18
19
19
19
19
20
20
20
21
21
21
22
24
25
28
29
29
29
30
30
30
31
32
33
33
35
35
35
35
35
35
35
36
36
36
36
36
36
37
37
38
38
41
42
42
42
44
44
51
57
58
59
59
62
63
63
63
64
65
65
68
68
70
72
73
73
73
74
79
79
79
88
89
91
91
98
99
100
100
100
102
102
103
103
123
126
141
145
145
164
168
168
190
192
207
212
212
301
304
305
4
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
9
9
9
9
10
10
11
12
13
13
13
13
13
13
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
18
19
19
19
20
20
20
21
23
24
24
25
26
29
29
30
30
30
31
31
32
33
33
33
34
34
34
35
35
36
36
36
36
36
37
37
38
38
41
41
41
42
43
43
43
51
58
58
58
60
60
62
62
62
62
64
64
64
65
66
66
69
69
73
74
74
74
75
80
80
88
89
91
91
92
99
99
99
99
100
101
101
101
104
104
124
127
142
146
146
165
169
169
191
193
208
213
213
302
305
306
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
10
10
10
11
11
12
12
12
12
13
14
14
14
14
14
14
14
14
14
16
16
17
17
17
18
18
18
19
20
20
21
21
21
22
25
26
27
30
31
31
32
32
33
34
34
34
34
35
35
36
36
36
37
37
37
37
37
38
38
39
39
43
44
44
44
59
61
61
63
63
63
65
65
65
66
67
67
70
70
70
70
74
76
81
81
92
92
93
100
101
102
102
102
105
105
125
128
136
143
147
147
166
170
170
192
194
209
214
214
303
306
307
4
4
4
5
5
5
5
5
6
6
7
7
7
7
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
13
13
15
15
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
20
21
21
22
22
26
27
28
31
32
33
34
35
35
35
35
35
35
35
36
36
36
37
37
37
38
38
38
40
40
42
44
45
45
60
62
62
64
64
64
67
68
68
71
71
71
71
72
72
72
77
82
82
93
93
100
101
102
103
103
106
106
126
129
134
136
137
144
148
148
167
171
171
193
195
210
215
215
304
307
308
4
4
4
5
5
5
5
5
5
6
6
7
7
8
8
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
14
14
14
16
16
16
17
17
17
17
17
17
18
18
19
20
21
21
21
22
22
22
23
23
27
28
29
32
33
33
34
35
35
35
35
35
36
37
38
38
39
39
39
39
39
39
39
41
41
43
43
61
63
63
65
68
69
69
72
72
73
73
73
73
78
83
83
101
101
102
107
127
130
135
137
145
149
149
168
172
172
194
196
211
216
216
305
308
309
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
8
8
9
9
9
9
10
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
14
15
15
16
17
17
17
17
17
18
18
21
21
21
22
22
22
23
23
23
24
28
29
29
30
31
32
33
33
34
35
35
36
37
38
39
39
40
40
40
40
40
40
42
42
49
55
62
62
64
64
65
65
66
69
69
69
70
70
73
73
74
74
74
79
79
79
84
84
88
103
108
128
131
135
137
146
150
150
169
173
184
195
197
212
217
217
306
309
310
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
15
16
16
17
17
18
18
18
19
19
22
22
23
23
24
24
29
29
30
31
32
32
33
33
33
34
34
35
35
36
36
37
39
39
39
41
41
41
41
41
41
45
50
51
51
56
56
58
62
62
63
64
65
67
70
70
70
71
71
74
74
74
78
80
80
80
85
85
88
89
91
103
104
109
118
122
128
131
132
137
147
151
151
170
174
185
189
195
197
198
213
218
218
307
310
311
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
12
13
14
14
14
14
14
14
14
14
15
15
15
15
15
16
17
18
18
19
19
19
19
19
20
20
22
22
23
30
30
32
33
33
34
34
34
34
35
35
35
36
37
37
38
38
38
39
39
40
40
40
42
42
45
52
52
52
52
57
58
63
64
65
66
68
71
71
71
72
72
75
75
79
80
80
81
81
86
86
89
91
92
103
105
110
123
132
133
148
152
152
171
175
190
198
199
214
219
219
308
311
312
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
8
8
8
9
9
9
9
10
10
10
10
10
11
11
11
11
12
12
12
13
13
13
13
13
14
14
15
15
15
15
15
15
15
15
16
17
17
18
18
18
19
19
20
20
20
20
20
21
21
21
22
22
22
22
23
24
29
31
33
33
34
34
35
35
35
35
36
36
37
37
38
38
38
39
39
39
39
39
39
39
39
40
40
41
41
41
43
43
52
52
53
53
58
62
64
64
65
66
67
68
69
72
72
72
73
73
73
73
76
76
76
76
80
80
81
82
82
87
87
91
92
93
106
111
124
133
134
149
153
153
172
176
191
199
200
215
220
220
309
312
313
1
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
11
12
12
12
12
12
12
12
12
13
14
14
14
14
16
17
18
19
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
24
30
30
32
33
34
34
35
35
35
35
35
36
38
39
39
39
39
40
40
40
40
40
40
41
41
42
42
44
44
45
45
53
54
54
59
62
62
63
65
65
67
68
69
70
73
73
73
77
77
77
77
81
82
83
88
88
91
92
93
93
103
103
107
112
125
134
135
150
154
154
173
177
192
200
201
216
221
221
310
313
314
1
1
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
14
14
14
15
15
15
15
15
15
17
18
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
29
31
33
33
34
34
35
35
36
36
37
38
39
40
40
40
40
40
40
40
40
41
41
41
41
42
42
42
42
42
42
43
45
45
46
46
52
54
58
60
63
63
65
66
68
69
70
71
73
74
74
74
78
78
78
78
82
84
88
89
89
91
92
93
94
101
104
104
108
113
126
135
136
151
155
155
174
178
193
201
202
217
222
222
311
314
315
4
4
4
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
11
15
15
15
15
15
15
15
16
16
17
18
19
19
19
22
22
23
23
23
23
23
23
23
24
24
24
24
24
25
25
32
34
34
34
34
35
36
36
36
37
37
38
38
38
39
40
40
40
41
41
42
42
42
42
42
42
42
42
43
43
43
43
43
43
44
44
46
46
52
53
61
64
66
67
69
70
71
72
72
74
74
74
74
75
75
75
75
79
79
79
79
80
85
90
90
92
93
94
95
102
102
109
114
127
136
137
152
156
156
175
179
194
202
203
218
223
223
312
315
316
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
12
15
15
15
16
17
17
17
19
19
19
19
20
20
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
33
34
34
35
35
36
37
37
37
38
38
39
39
40
41
42
42
43
43
43
43
44
44
44
44
44
44
47
47
52
54
62
63
65
67
70
71
72
75
75
75
76
76
76
76
80
80
80
80
80
80
81
86
91
91
92
93
93
94
95
110
115
128
137
137
138
153
157
157
176
180
195
203
204
219
224
224
313
316
317
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
17
17
19
20
20
20
20
21
21
21
22
22
22
23
23
23
24
24
24
24
25
25
25
25
25
25
25
26
34
34
36
37
38
38
39
39
39
39
40
40
40
40
40
40
41
41
41
43
43
44
44
44
44
46
48
50
52
53
55
63
63
64
65
65
71
72
73
75
77
77
77
77
79
80
81
81
81
81
81
82
87
92
92
92
94
95
104
116
129
135
137
138
138
139
154
158
158
181
196
204
205
220
225
225
314
317
318
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
12
19
20
21
21
21
21
22
22
24
25
25
25
25
26
26
26
26
26
26
35
35
37
38
39
39
39
40
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
44
44
45
45
46
49
51
54
56
64
64
65
66
66
72
73
74
78
78
78
78
80
82
82
82
82
82
83
88
93
93
93
95
96
104
117
130
136
138
139
140
155
159
159
182
197
205
206
221
226
226
315
318
319
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
12
12
13
13
13
13
20
21
21
21
21
22
23
23
23
24
25
26
26
26
27
27
27
27
27
34
35
36
36
38
40
40
41
42
42
43
43
43
43
43
43
43
43
43
43
43
45
45
46
46
50
55
55
57
63
65
65
66
66
67
73
74
75
79
79
79
79
80
83
83
83
83
83
84
89
92
93
94
94
94
96
118
131
136
138
140
141
156
160
160
183
198
206
207
222
227
227
316
319
320
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
12
13
13
20
20
22
22
22
22
23
24
24
25
25
25
27
28
28
28
34
35
36
36
37
39
39
41
41
42
43
43
44
44
44
44
44
44
46
46
46
46
47
47
51
51
56
58
63
65
66
66
67
74
75
76
80
80
80
80
81
83
84
84
84
84
85
90
92
93
94
94
95
95
104
104
119
132
138
141
142
157
161
161
184
199
207
208
223
228
228
317
320
321
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
13
13
13
13
13
13
14
14
14
23
23
23
25
26
26
27
29
29
29
36
37
38
40
40
41
41
41
42
42
43
44
44
44
44
47
47
47
47
48
48
52
55
57
66
67
67
74
75
76
77
81
81
81
81
83
84
85
85
85
85
91
94
95
96
96
102
105
105
120
133
142
143
158
162
162
185
200
208
209
224
229
229
318
321
322
4
4
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
13
13
13
13
15
15
15
15
17
17
21
24
24
26
26
26
26
27
27
27
27
30
30
30
37
39
42
42
42
42
43
43
43
43
44
45
45
45
48
48
49
49
53
56
58
67
68
75
75
75
75
76
77
78
82
82
82
82
84
85
86
86
86
86
92
95
97
97
103
103
121
134
143
144
159
163
163
186
201
209
210
225
230
230
319
322
323
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
12
12
12
12
12
12
12
13
13
16
16
18
18
18
22
22
24
25
26
27
27
27
28
28
28
31
31
31
38
40
43
43
43
44
44
44
44
44
44
44
44
44
44
45
46
49
49
50
50
54
56
58
59
66
69
76
76
76
77
78
79
83
83
83
83
84
85
86
87
87
87
87
93
96
98
98
122
135
144
145
160
164
164
187
202
210
211
226
231
231
320
323
324
1
1
1
1
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
12
13
13
13
13
13
13
17
17
18
24
25
25
26
26
28
29
32
32
32
36
38
39
41
43
45
45
45
45
45
45
45
45
46
47
47
50
50
51
51
55
59
60
67
67
70
76
78
79
80
84
84
84
84
86
87
88
88
88
88
94
94
96
97
99
99
105
123
136
145
146
161
165
165
188
203
211
212
227
232
232
321
324
325
1
1
1
2
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
14
14
14
14
14
14
18
18
24
24
24
27
28
29
33
33
33
37
38
39
42
42
45
45
46
46
47
47
48
51
51
52
52
56
60
67
67
67
68
71
79
80
81
85
85
85
85
87
89
89
89
89
95
95
96
97
100
100
105
124
137
146
147
162
166
166
189
204
212
213
228
233
233
322
325
326
1
1
3
3
3
3
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
11
11
12
12
12
12
15
15
15
15
15
15
19
19
22
25
25
27
27
27
27
28
28
28
34
34
34
37
38
43
43
43
43
43
44
44
47
47
48
49
52
52
53
53
56
57
67
68
72
80
81
82
85
86
86
86
86
90
90
90
90
95
96
96
101
101
125
138
147
148
163
167
167
190
205
213
214
229
234
234
323
326
327
2
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
11
11
12
13
13
13
13
16
16
16
16
16
16
20
20
23
23
25
26
26
27
28
28
28
29
29
35
35
35
44
44
44
44
45
45
45
45
45
45
45
45
48
48
49
50
53
53
54
54
56
57
58
58
73
81
82
83
84
85
86
87
87
87
87
91
91
91
91
97
102
102
126
139
148
149
164
168
168
191
206
214
215
230
235
235
324
328
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
11
12
12
13
14
14
14
17
17
17
17
17
17
21
21
25
26
26
26
27
27
28
29
36
36
36
44
45
46
46
46
46
46
46
49
49
50
51
54
54
55
55
57
58
59
59
74
82
83
84
84
86
87
88
88
88
88
92
92
92
92
98
103
127
136
140
149
150
165
169
169
192
207
215
216
231
236
325
329
1
1
1
1
2
2
4
4
4
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
12
13
13
13
14
15
18
18
18
18
18
18
18
18
22
22
25
25
25
28
29
29
30
37
37
39
43
45
46
46
46
46
46
46
46
50
50
51
52
55
55
56
56
59
60
60
67
75
76
76
83
84
85
87
88
89
89
89
89
93
93
93
93
97
99
103
104
128
137
141
150
151
166
170
193
208
216
217
232
237
326
330
2
2
3
3
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
10
10
10
11
11
11
11
11
13
14
14
15
15
16
19
19
19
19
19
19
19
19
23
23
23
26
26
28
28
28
29
29
29
30
37
38
38
39
40
44
44
44
44
46
47
47
47
47
47
47
47
51
51
52
53
56
56
57
57
60
61
68
68
75
76
77
77
84
85
86
88
90
90
90
90
94
94
94
94
95
97
98
100
104
105
105
105
129
138
138
142
151
152
167
171
194
209
217
218
233
238
327
331
1
1
2
2
3
3
4
4
4
4
4
4
4
4
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
11
11
11
11
11
11
12
12
13
15
15
16
16
17
19
19
20
20
20
20
20
24
24
24
24
29
29
30
30
38
39
39
39
40
45
45
45
45
45
47
47
47
47
48
48
48
48
48
48
48
52
52
53
54
57
58
62
68
68
68
69
76
77
77
77
78
85
86
87
91
91
91
91
95
95
96
97
98
101
106
106
106
106
106
130
139
139
139
139
143
152
153
168
172
195
210
218
219
234
239
326
328
332
1
2
3
3
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
8
8
8
8
8
9
9
10
11
11
11
11
11
12
12
12
13
13
16
16
17
18
19
19
20
21
21
21
21
21
25
25
26
26
26
26
27
29
29
29
29
30
30
30
30
30
30
31
38
39
40
40
45
45
45
46
46
47
47
47
47
47
48
48
48
48
49
49
49
49
49
53
53
54
55
58
59
63
68
69
77
77
78
78
79
86
87
88
92
92
92
92
96
96
96
97
102
106
106
107
107
107
131
139
139
140
140
144
153
154
169
173
196
211
219
220
235
240
326
327
329
333
2
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
8
8
8
9
9
10
10
11
11
12
12
12
13
13
14
17
17
18
19
20
21
22
22
22
22
26
26
26
27
27
27
28
29
30
30
30
30
30
31
31
31
31
32
41
41
46
46
46
46
46
47
47
47
48
48
48
49
49
49
50
50
50
54
54
55
56
59
60
60
64
78
79
79
87
88
88
89
93
93
93
93
97
97
103
107
108
108
108
132
140
141
141
145
154
155
170
174
197
212
220
221
236
241
328
330
334
3
3
4
4
4
4
4
4
5
5
5
5
5
6
7
7
7
8
8
9
9
9
10
11
11
11
11
12
13
13
13
14
18
19
20
21
23
23
23
23
24
27
27
27
27
27
27
27
28
29
29
30
30
30
31
31
31
31
32
32
32
36
36
39
39
42
42
44
46
46
46
47
47
47
47
48
48
48
49
49
49
50
51
55
56
57
60
60
61
61
65
79
80
88
88
89
89
90
94
94
94
98
98
102
102
104
106
106
106
108
109
133
139
141
146
155
156
169
169
171
172
172
175
198
213
221
222
235
235
237
242
329
331
335
1
1
1
1
1
1
1
1
1
1
1
4
5
5
5
5
5
5
5
5
6
7
7
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
12
12
12
12
13
13
14
19
19
20
21
24
24
24
24
25
27
28
28
28
28
28
28
29
29
30
31
31
32
33
37
40
43
43
45
46
47
47
47
47
48
48
48
48
49
49
50
52
56
57
58
61
61
62
66
77
81
89
89
90
91
95
95
95
99
99
103
105
106
107
107
110
134
137
139
140
147
156
157
170
172
173
176
199
214
222
223
236
238
243
330
332
336
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
4
5
6
6
6
6
6
7
7
7
7
8
8
8
9
9
9
9
9
10
11
11
11
12
12
12
12
13
13
14
15
17
18
19
19
19
19
19
19
20
20
21
22
25
25
25
25
27
29
29
29
29
29
29
31
32
33
34
38
41
44
44
46
47
47
48
48
48
48
49
50
50
51
53
54
54
56
56
57
57
57
58
59
62
63
67
77
77
78
82
90
91
92
93
93
94
94
94
94
96
96
96
100
100
104
106
106
108
108
111
135
139
141
148
157
158
171
173
174
177
200
215
223
224
237
239
244
331
333
337
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
9
9
10
11
11
12
12
13
14
14
15
16
16
16
19
19
20
20
20
20
21
21
22
23
25
26
26
27
27
28
30
30
32
32
33
33
34
35
39
40
40
40
42
45
45
46
46
46
46
48
48
49
49
50
50
51
51
52
54
55
57
58
58
63
64
68
69
69
69
76
76
77
78
79
79
83
92
93
94
95
95
97
98
98
98
101
101
104
104
105
106
107
109
109
112
136
137
139
140
142
149
159
172
175
178
201
216
225
238
245
332
338
2
2
2
2
2
2
2
2
3
3
3
3
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
8
8
8
9
9
9
10
10
10
10
11
11
11
11
11
12
12
13
13
14
14
14
15
15
16
17
17
19
19
20
21
21
21
22
22
22
22
23
24
26
27
27
27
27
28
28
29
29
29
30
30
30
31
31
31
33
33
34
34
35
36
38
40
40
41
41
43
46
46
46
46
46
47
47
47
47
47
47
47
47
48
48
49
50
50
50
50
51
52
52
52
52
53
55
56
58
59
59
61
64
65
68
69
69
70
70
77
77
77
79
80
80
80
84
89
93
94
95
96
96
96
98
98
99
99
102
102
105
106
106
106
108
110
110
113
137
138
139
139
141
143
150
160
173
176
179
202
217
226
239
246
333
339
4
4
4
4
4
4
5
5
5
5
5
5
7
8
8
9
9
9
10
10
11
11
12
12
12
13
14
14
14
14
15
15
15
16
17
18
20
21
21
22
22
22
23
23
24
25
25
26
27
28
28
28
28
29
30
31
31
31
32
32
32
32
33
34
34
35
35
37
39
41
42
44
45
46
46
47
47
47
47
47
48
48
48
49
49
50
50
50
51
51
51
51
53
53
53
54
57
59
60
60
61
62
65
66
69
70
71
78
80
80
81
81
85
89
90
94
96
97
97
97
99
100
103
103
107
107
109
111
111
114
138
140
142
144
151
161
174
177
180
203
218
227
240
247
334
340
4
4
5
5
6
10
11
11
13
13
13
14
14
14
15
15
16
16
16
17
18
19
21
22
22
23
23
24
24
25
25
26
28
29
29
29
29
31
32
32
32
32
33
33
33
34
35
36
36
36
38
42
43
45
48
48
48
48
49
49
50
50
50
50
51
51
51
52
52
52
54
54
54
55
55
58
60
61
61
62
66
67
71
72
79
81
82
82
83
86
90
95
97
98
98
100
101
104
104
108
108
112
112
115
139
141
145
152
162
175
178
181
204
219
228
241
248
335
341
1
14
15
15
17
18
19
20
23
24
24
26
26
27
30
30
33
33
34
34
37
37
39
43
46
49
51
51
51
53
55
56
56
59
61
62
62
67
68
72
84
87
96
98
99
99
101
105
105
109
113
116
140
153
163
176
179
182
205
220
229
242
249
336
342
