33
32
32
30
30
30
29
29
28
28
28
29
29
32
32
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
33
34
35
35
38
39
36
35
34
34
31
31
31
31
30
30
30
30
30
30
30
31
31
31
31
29
29
25
23
20
20
20
20
20
19
19
18
18
18
21
21
23
23
24
25
25
23
23
29
37
36
32
29
33
36
38
39
41
43
42
37
35
31
33
39
41
37
34
34
34
34
34
35
39
43
45
51
53
51
48
39
36
34
33
34
37
37
38
40
44
44
45
45
45
45
58
59
60
59
52
49
48
47
48
49
51
51
51
51
45
31
29
29
29
29
29
29
31
33
36
37
40
40
39
39
39
39
39
37
36
33
31
30
30
30
30
29
28
28
27
26
26
24
23
21
21
21
20
19
19
19
19
18
18
18
18
19
20
20
21
22
22
23
23
23
21
20
19
19
19
18
18
18
17
17
17
17
17
17
17
17
20
20
18
18
17
15
16
17
17
17
17
16
15
15
16
17
18
18
17
17
17
17
16
16
16
16
17
18
19
19
18
18
18
18
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
14
14
13
13
12
12
11
11
10
10
10
10
10
10
10
10
10
10
9
8
8
7
7
6
6
6
6
6
9
12
14
17
17
18
18
19
19
19
20
23
23
23
24
25
26
31
31
31
31
31
31
31
31
31
31
31
31
29
28
27
26
25
25
25
25
26
26
27
28
28
28
29
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
33
34
34
35
35
35
36
36
37
39
39
39
40
41
41
42
43
43
43
43
43
43
43
45
45
46
46
47
47
49
51
51
51
51
51
51
51
51
51
50
49
49
48
48
48
47
47
46
46
45
45
44
44
44
44
44
44
42
42
42
42
42
42
41
41
41
41
41
41
41
41
41
41
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
43
43
43
41
40
39
39
39
39
39
39
39
39
39
39
39
39
38
38
37
36
35
33
33
34
35
39
39
39
40
41
42
42
42
42
43
43
43
44
47
52
61
65
70
73
79
83
85
88
90
91
103
109
120
123
126
130
134
145
148
149
144
143
135
134
130
128
125
124
123
122
121
119
118
115
113
110
108
106
106
106
106
106
106
106
104
104
103
106
107
107
107
109
109
110
110
119
122
122
123
124
124
125
126
127
131
133
134
136
140
140
142
142
144
149
150
151
152
153
155
156
158
159
160
161
162
166
169
170
171
174
174
173
173
173
173
172
172
171
171
171
172
172
173
174
179
181
182
184
185
186
186
186
185
185
188
187
183
183
186
189
195
205
207
207
209
210
210
210
210
209
209
208
208
209
209
210
211
213
213
210
209
208
206
204
203
203
202
200
198
196
195
194
190
188
186
184
184
186
186
187
187
188
188
189
190
190
192
203
215
220
222
224
227
235
236
238
239
240
241
241
243
243
244
245
245
246
246
246
246
247
247
247
248
249
250
251
257
267
272
277
280
283
285
287
289
290
291
294
296
296
295
293
293
293
292
292
292
292
292
292
292
292
291
291
291
291
291
290
290
289
288
287
287
287
287
287
287
287
287
287
285
284
282
282
281
281
281
279
278
277
276
275
273
273
273
273
273
273
273
277
279
282
282
282
282
283
284
286
287
287
288
288
288
287
287
287
287
287
288
288
289
290
292
293
293
291
291
289
285
283
281
280
280
280
280
280
280
280
280
280
280
280
280
280
279
278
278
278
277
277
277
277
277
277
277
278
278
278
279
280
281
281
282
283
284
285
287
293
296
297
298
300
300
302
302
300
300
299
299
297
297
297
296
295
295
295
295
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
295
295
294
294
293
293
293
293
295
295
296
296
296
297
297
298
297
297
297
300
301
302
302
304
304
305
305
305
305
306
306
309
309
309
309
307
307
307
306
303
301
300
298
298
297
297
312
315
322
324
325
327
333
336
346
346
349
350
352
356
367
368
368
376
378
389
389
390
391
392
393
393
394
395
398
399
399
399
400
400
404
404
404
405
405
405
405
405
405
403
404
405
405
406
403
401
395
392
379
376
375
375
374
372
370
369
368
367
362
363
364
365
365
365
365
365
365
365
365
365
365
365
364
364
374
375
377
379
380
380
381
384
383
379
379
378
377
376
375
375
376
377
382
379
370
362
362
360
360
359
358
356
353
349
347
342
341
337
331
331
330
330
328
323
320
318
317
315
313
310
310
310
310
310
310
310
310
312
313
316
321
324
323
322
321
318
313
306
299
295
293
284
279
276
265
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
261
262
264
266
266
266
266
266
268
268
270
270
270
270
269
268
268
267
266
264
266
266
267
267
268
268
270
271
272
273
273
275
276
279
280
281
282
282
283
284
284
283
282
282
281
281
278
275
274
273
272
271
271
269
267
251
251
251
250
250
250
250
249
249
249
248
248
248
247
247
247
247
247
247
247
247
247
246
243
241
240
239
238
238
237
237
237
236
233
232
229
223
223
223
223
223
223
224
224
224
224
225
228
232
233
233
233
233
233
234
235
236
237
238
239
239
240
241
241
241
242
242
242
242
242
242
241
241
241
241
241
240
238
236
235
234
234
234
234
234
234
234
233
232
232
231
231
230
230
230
229
229
229
230
232
234
235
236
237
238
238
239
239
239
239
238
237
236
236
235
235
234
233
232
232
231
230
230
230
230
230
230
229
229
229
229
229
229
229
229
229
229
229
230
230
230
230
230
230
231
231
231
231
231
231
232
232
232
232
232
232
232
232
232
231
231
230
230
229
229
227
226
225
224
224
224
224
224
224
224
224
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
220
220
220
220
220
219
219
219
219
218
218
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
219
220
220
220
220
221
221
222
222
222
222
222
221
220
220
217
217
217
217
216
215
214
214
213
213
212
212
212
212
212
212
212
212
212
212
212
213
213
213
213
213
213
213
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
213
213
213
213
213
213
213
213
213
213
212
212
212
212
212
212
212
213
213
213
214
214
214
213
213
213
212
212
212
212
212
212
212
213
214
215
220
221
221
221
224
222
219
217
217
217
217
217
217
217
216
216
215
215
214
214
214
213
213
212
212
212
212
212
213
215
216
216
218
219
219
220
221
223
224
224
225
225
227
228
228
228
228
228
228
228
228
229
229
229
230
231
232
234
234
233
231
231
230
230
229
229
231
232
233
233
234
234
231
231
229
227
227
226
226
226
226
227
229
229
230
230
232
233
234
236
238
243
243
241
240
240
239
243
246
247
247
248
249
249
251
254
258
261
263
266
267
268
269
270
272
274
273
273
272
272
272
272
271
270
269
268
267
265
264
263
262
260
259
258
258
257
257
256
256
256
256
256
256
255
254
254
254
254
254
254
255
257
259
259
260
260
261
261
261
263
264
264
265
265
265
265
265
265
265
265
265
265
264
263
261
261
260
260
259
258
256
255
254
254
253
253
252
251
251
250
248
247
247
246
245
244
244
244
244
243
242
242
242
241
240
240
240
240
240
240
240
240
240
241
241
242
243
243
243
244
249
253
256
256
259
261
262
262
262
262
262
261
261
261
261
260
260
260
259
259
259
259
258
258
258
258
258
258
258
258
259
260
261
262
262
261
260
259
258
258
257
257
256
256
255
255
253
250
248
246
242
241
241
241
241
241
240
239
239
239
238
238
238
237
237
237
237
239
240
242
245
250
251
252
253
253
254
254
254
255
255
255
255
254
254
254
253
252
252
252
253
253
254
254
254
254
255
255
255
255
255
254
254
254
254
255
255
257
258
259
260
260
260
263
264
263
263
263
262
261
260
256
256
256
253
250
243
243
243
243
243
243
243
243
243
241
237
235
233
231
228
225
225
226
226
227
228
228
228
229
229
230
231
232
233
234
234
234
232
232
232
231
230
229
227
226
224
224
224
223
223
223
224
225
229
230
230
231
231
231
231
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
228
228
228
228
228
227
227
228
228
228
228
229
229
229
229
230
231
232
232
233
233
234
235
238
239
240
243
245
245
245
245
245
244
244
244
244
244
244
244
245
246
247
248
247
247
246
246
247
246
246
246
246
245
244
244
243
240
241
243
244
246
246
246
244
244
244
245
246
247
248
251
252
254
257
258
259
259
260
259
259
259
259
258
257
261
262
262
262
262
263
265
265
266
267
267
268
270
271
272
272
273
273
273
273
273
273
275
277
281
280
281
284
288
290
290
289
289
289
289
291
291
292
293
293
294
294
292
290
289
290
291
293
294
296
298
299
299
299
300
300
300
300
301
301
302
304
304
304
304
305
306
308
310
311
312
313
315
318
319
320
321
321
320
319
318
317
317
317
318
319
320
321
321
322
323
327
327
334
335
339
343
347
347
340
337
334
332
327
325
326
328
329
330
330
332
333
333
333
334
334
334
334
334
334
334
334
334
334
335
336
337
337
338
340
343
344
345
348
350
352
352
356
356
356
356
356
354
353
353
352
352
352
352
352
352
352
352
352
352
353
353
353
353
353
353
352
352
351
351
350
350
350
353
354
356
357
358
359
359
360
362
363
366
368
368
369
369
369
369
369
369
369
369
369
369
371
373
378
380
380
381
381
381
381
386
389
391
393
395
396
397
399
400
400
400
402
412
414
414
414
414
414
415
416
421
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
423
424
426
426
426
430
432
433
435
435
436
436
443
446
451
459
463
461
461
460
459
458
455
457
457
458
458
459
459
458
458
456
455
454
454
453
452
450
449
447
447
446
445
445
445
446
448
449
450
446
444
442
441
441
441
443
443
441
439
442
445
445
446
446
446
446
446
446
446
446
446
446
446
453
459
463
460
459
454
451
449
440
440
440
440
440
440
440
440
440
440
440
437
432
424
422
424
427
430
431
430
429
427
425
424
422
418
417
416
416
415
414
414
413
413
413
413
423
428
434
429
426
416
415
413
412
412
412
412
410
406
403
401
400
399
401
403
404
401
390
382
364
361
359
358
358
358
358
357
357
356
356
355
354
354
353
353
352
352
352
352
351
349
348
346
341
340
338
337
337
334
332
331
331
331
331
332
332
332
333
333
334
334
334
336
337
337
337
336
334
334
333
332
331
330
326
324
311
308
308
305
302
295
293
292
291
289
287
286
286
285
285
285
284
276
275
275
274
274
273
271
277
264
265
267
269
270
270
270
270
270
270
269
269
269
269
269
269
269
267
267
266
266
265
264
262
261
259
256
255
254
252
250
243
243
243
243
243
243
243
243
238
237
228
228
227
227
227
227
226
225
224
220
218
217
217
217
217
217
217
217
217
217
216
215
215
214
214
214
215
217
217
217
216
215
214
213
212
211
210
209
205
204
203
202
203
205
207
208
209
210
210
210
208
205
205
205
204
203
203
201
198
197
196
191
187
186
185
183
183
182
181
178
178
175
174
174
172
170
169
169
168
169
170
171
172
172
171
170
170
165
164
164
159
159
159
159
159
159
159
159
159
159
159
159
159
158
157
156
148
144
144
146
146
156
154
153
152
148
145
142
141
141
140
140
140
140
139
136
131
130
132
133
133
134
134
134
134
134
137
139
139
139
139
139
133
133
133
133
134
135
133
132
129
129
129
128
126
125
124
123
124
126
126
126
124
123
122
120
122
124
128
128
128
127
127
128
132
136
137
132
119
127
127
128
129
129
130
131
131
132
134
138
140
141
143
146
151
153
153
151
150
149
148
146
142
140
137
141
150
154
159
158
156
154
143
136
135
133
133
132
132
129
127
124
124
124
125
126
126
127
127
127
127
127
127
128
128
129
129
125
125
125
125
125
126
126
126
126
126
125
125
124
124
123
123
122
121
121
120
120
120
120
120
121
122
123
123
123
124
124
124
123
123
122
121
120
117
117
117
117
119
115
115
115
114
113
112
110
109
108
107
104
104
103
100
98
97
96
96
96
96
95
95
92
91
89
89
88
88
88
87
86
85
84
83
82
81
80
79
79
79
79
77
77
78
80
83
86
88
88
88
88
85
84
83
83
84
84
85
85
86
86
86
85
85
84
84
83
83
83
81
81
80
81
83
85
87
88
89
92
93
94
96
96
96
96
96
97
97
97
97
97
98
98
98
98
98
98
98
99
101
101
102
103
105
108
108
107
106
107
109
109
109
110
110
111
112
111
110
109
108
107
106
105
104
104
101
100
99
98
97
97
95
95
94
98
100
103
104
106
107
106
105
105
103
102
101
100
97
95
92
92
92
92
92
92
92
94
95
97
99
100
106
107
107
107
107
107
107
107
107
107
107
107
107
106
105
105
104
103
103
103
102
102
102
102
102
102
102
102
102
90
90
89
89
85
84
82
81
78
77
74
73
72
72
70
68
66
66
65
64
62
63
64
64
65
66
67
67
86
92
94
95
94
93
91
90
89
88
88
87
87
87
87
87
86
86
85
84
84
83
81
87
99
104
109
108
107
104
103
102
100
99
98
97
97
97
96
95
86
83
81
78
78
78
78
77
77
77
74
69
68
65
62
60
62
62
64
64
65
65
64
64
64
63
62
60
59
59
59
59
58
58
58
59
60
61
61
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
64
64
66
69
73
74
75
72
70
69
68
65
63
62
60
57
57
58
58
58
58
59
59
59
60
60
60
60
60
61
61
62
62
63
63
64
65
67
67
67
68
68
69
69
69
69
70
70
70
68
65
63
58
57
58
60
61
63
64
62
61
59
59
58
56
56
56
57
59
59
59
58
58
58
58
58
59
59
60
60
61
61
61
62
63
64
70
72
73
74
74
73
73
72
71
71
73
75
76
76
77
77
77
78
80
72
62
59
59
60
61
61
67
71
74
75
80
82
82
83
84
84
85
86
86
88
88
88
86
82
80
74
72
64
59
56
55
55
54
54
56
57
59
60
63
64
65
64
62
60
59
54
51
50
52
53
53
53
53
53
53
53
55
57
57
58
59
59
60
60
62
62
62
64
63
62
61
60
61
63
63
65
66
68
73
74
74
76
77
77
77
77
77
77
77
77
77
79
80
82
83
88
90
89
87
87
88
89
90
91
92
92
93
95
98
100
104
106
107
109
111
115
119
122
123
123
124
124
124
125
126
126
126
123
123
122
123
123
123
124
124
122
122
121
121
120
120
119
119
117
116
115
111
110
109
105
104
104
104
102
102
101
100
100
99
100
100
100
101
101
104
106
107
107
105
105
100
99
99
98
95
94
94
94
94
94
94
94
95
95
94
94
93
93
92
92
91
91
90
90
89
88
88
88
88
87
87
87
87
86
86
84
82
80
77
76
76
76
76
76
76
75
68
67
66
66
65
65
64
64
64
64
71
73
72
65
60
57
55
54
53
53
55
62
62
64
65
65
67
69
71
71
70
69
68
68
68
66
67
68
69
72
73
74
75
78
80
83
87
87
87
87
89
89
89
89
90
90
88
86
81
77
74
73
57
57
59
62
62
62
61
59
58
57
56
55
60
64
68
71
73
81
82
83
84
84
86
86
87
87
87
85
81
80
80
79
71
70
68
66
66
64
63
62
62
61
61
60
60
59
58
58
57
57
57
57
57
57
58
58
58
58
57
56
51
49
48
46
45
43
40
39
33
33
32
32
32
31
28
27
26
25
24
24
24
24
24
23
23
23
23
22
22
21
21
21
21
22
23
24
24
25
24
24
23
23
22
22
21
21
20
19
19
19
19
17
15
15
14
14
14
14
14
14
14
14
14
14
15
16
16
16
15
14
13
13
13
12
11
11
10
10
9
9
9
9
9
9
9
9
9
8
8
8
7
7
7
7
7
7
8
8
7
7
7
7
6
6
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
6
5
5
5
5
5
5
5
6
7
8
11
15
15
15
15
15
15
13
12
11
15
19
20
22
24
26
27
32
35
37
37
36
36
36
37
37
37
37
37
33
30
29
27
25
20
20
21
21
22
23
22
18
17
17
16
15
15
15
14
14
13
13
12
12
11
13
14
15
15
17
17
22
23
24
24
25
26
27
28
28
29
29
29
28
27
24
24
26
29
31
35
36
38
38
39
39
40
39
39
39
38
38
37
36
36
37
37
37
37
37
34
34
24
18
15
13
12
11
11
11
12
12
15
15
16
14
12
11
11
6
9
11
12
12
12
12
12
11
11
10
9
9
8
8
7
6
6
6
6
6
6
6
6
6
9
9
9
9
12
17
25
29
30
33
33
33
35
35
35
35
36
39
42
48
51
59
59
60
60
61
61
61
60
57
55
51
49
47
45
43
41
39
37
34
31
29
29
28
28
27
26
25
24
24
23
22
21
20
19
18
17
12
8
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
12
12
13
13
13
13
13
13
20
37
38
38
55
58
58
62
62
64
64
64
64
64
59
53
43
43
43
43
43
43
43
45
46
47
48
52
53
53
54
55
55
66
67
73
90
93
93
93
93
93
93
94
95
96
98
100
100
99
97
96
99
104
109
112
109
108
105
101
99
94
94
95
95
96
96
97
97
97
98
98
99
100
101
104
105
108
118
118
118
118
119
119
119
120
120
120
122
122
122
122
122
122
123
124
126
127
128
128
129
132
134
136
140
146
147
149
150
151
156
157
161
164
164
172
176
177
177
176
176
176
176
177
180
183
186
192
193
193
191
184
182
181
171
170
168
165
163
159
157
155
153
151
149
149
148
145
143
142
143
145
147
154
156
164
164
167
181
185
187
190
192
194
195
201
201
202
205
206
206
207
205
205
199
197
195
196
197
200
202
207
209
211
212
216
217
222
241
244
252
254
254
254
254
254
253
253
252
251
250
249
248
247
247
247
247
247
247
246
245
245
244
249
254
255
257
258
258
257
256
255
252
251
250
249
249
248
247
245
235
229
222
221
219
218
219
222
224
228
225
225
219
217
208
195
194
192
189
180
168
165
163
162
158
156
156
155
152
151
149
147
140
137
133
132
129
125
123
120
119
119
118
118
118
118
118
119
119
120
120
121
121
121
121
121
121
121
121
122
122
121
118
114
113
113
112
112
111
111
111
111
110
110
114
114
115
119
119
119
119
120
121
122
122
123
125
125
125
126
126
126
127
127
128
136
137
138
136
136
134
133
132
129
126
123
123
123
123
123
123
123
122
121
121
120
120
120
120
119
118
116
116
116
116
116
120
120
121
130
131
136
138
139
141
142
151
153
155
157
163
178
180
181
182
184
185
187
188
191
192
193
194
195
197
213
222
222
224
224
225
225
225
225
225
226
234
236
243
247
251
255
259
262
264
265
268
270
273
274
274
274
274
274
274
274
274
274
274
275
278
280
281
281
283
283
283
280
274
273
271
266
264
262
260
258
255
253
247
246
245
244
244
233
232
230
229
228
227
227
226
225
233
234
235
234
232
230
226
222
221
219
216
199
198
198
198
198
197
197
196
196
196
196
192
188
187
186
186
185
185
185
181
180
180
179
179
178
177
170
170
167
167
167
167
164
163
161
160
159
158
158
158
158
158
156
156
155
155
153
152
152
152
152
152
152
152
151
150
149
149
148
148
146
151
156
158
159
159
159
159
158
158
157
155
154
153
153
136
131
130
129
129
129
129
129
130
130
134
135
135
136
135
135
134
134
131
128
122
120
118
115
115
112
112
111
110
109
98
98
96
96
91
91
91
90
90
90
89
89
89
93
89
89
89
89
89
90
90
91
92
94
95
95
95
96
98
101
101
101
101
100
99
99
98
98
98
98
97
97
97
97
97
97
97
97
97
97
97
97
98
96
95
95
96
98
98
98
98
99
100
104
105
113
115
116
116
113
107
104
104
106
106
114
115
116
115
111
109
106
103
97
97
96
96
97
97
97
97
98
97
97
97
98
100
100
100
100
100
100
100
100
100
100
101
101
101
101
101
101
100
100
98
92
91
91
91
89
89
89
89
89
89
89
89
89
90
91
92
93
93
92
89
90
87
85
84
83
83
82
82
82
82
82
82
81
81
80
80
80
80
80
80
80
81
81
81
82
82
83
83
83
83
83
83
83
84
85
85
81
80
80
80
79
79
79
79
78
78
77
74
73
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
76
74
73
72
71
70
69
69
69
68
68
68
67
65
56
55
55
53
52
51
48
46
45
46
48
49
50
51
52
47
45
32
31
30
29
29
28
19
17
14
13
13
13
13
11
11
11
11
11
11
11
11
11
11
12
12
13
14
14
15
16
17
18
19
20
21
22
23
23
24
24
25
25
27
27
29
35
35
33
31
29
29
28
28
27
26
22
19
16
14
11
10
10
12
16
16
18
19
19
19
19
19
19
19
19
19
19
19
25
37
39
36
33
30
26
8
6
0
0
0
0
17
20
41
42
44
44
45
45
46
46
46
45
45
45
45
44
44
44
43
43
43
43
43
43
43
44
44
44
44
44
45
45
45
50
50
51
51
52
52
52
52
53
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
56
56
56
56
56
57
58
62
63
63
63
63
62
62
61
61
61
60
60
58
53
51
49
43
35
35
34
34
33
33
32
30
29
43
43
46
49
57
55
55
55
54
54
54
52
50
44
43
41
41
40
39
35
34
32
30
25
22
22
22
22
23
23
23
23
25
26
26
26
27
27
28
28
28
29
29
29
29
30
30
31
33
33
34
35
35
36
36
39
39
40
40
44
44
43
41
40
39
38
37
38
41
42
45
47
51
51
52
55
56
58
59
59
60
61
62
62
63
64
65
65
67
67
66
65
64
63
63
62
59
59
58
55
55
54
53
53
53
52
52
52
53
53
53
54
54
54
55
55
55
55
56
56
56
56
56
56
56
57
57
57
57
57
54
54
52
52
50
48
48
47
46
44
44
44
43
42
40
38
35
35
34
32
31
31
30
30
30
30
30
30
30
27
26
26
26
25
23
23
23
23
23
23
23
23
23
23
23
23