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