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