19
18
17
17
17
16
18
20
20
23
34
41
46
55
49
50
52
55
57
59
59
61
66
71
81
91
101
105
116
124
124
122
122
122
139
144
151
161
163
160
150
143
152
168
172
190
192
194
196
228
229
231
234
240
246
252
257
262
264
268
271
292
300
320
332
342
353
353
355
356
357
358
358
359
359
360
360
361
361
362
373
374
377
383
388
391
413
416
417
420
422
429
428
428
427
426
426
425
425
426
426
427
427
428
428
428
429
429
429
430
431
432
433
433
435
435
430
423
418
415
412
408
405
404
404
404
403
405
408
411
414
419
425
430
433
431
430
428
428
425
425
425
425
425
424
424
424
424
424
423
423
423
424
424
425
427
428
428
419
414
408
406
401
385
383
380
376
374
373
362
365
367
369
370
374
378
380
381
383
398
405
379
369
355
338
326
324
321
313
305
305
309
324
323
331
336
336
336
338
365
383
390
393
401
409
410
410
426
433
432
435
440
440
434
446
460
463
477
478
488
491
498
503
512
516
517
519
527
529
541
549
555
568
577
585
579
582
597
596
598
606
611
619
627
634
635
632
631
637
648
649
659
671
674
677
674
659
659
659
639
637
649
658
660
661
664
675
678
660
667
670
672
676
681
681
680
678
677
679
673
675
676
673
658
656
655
649
648
652
660
660
660
660
660
660
659
659
659
661
666
670
673
679
665
657
657
660
661
658
657
656
653
652
651
651
652
629
610
600
600
600
589
581
580
577
575
575
577
586
595
584
604
611
615
617
620
621
626
631
637
643
646
648
653
662
666
667
679
686
693
696
699
701
716
717
723
742
740
740
740
741
746
749
750
753
753
756
759
761
767
772
770
785
782
766
766
766
764
763
762
760
752
751
750
748
747
746
745
740
739
732
730
728
727
726
725
724
722
721
721
719
717
715
707
704
699
697
688
687
681
679
678
677
677
677
677
677
677
677
677
677
676
676
676
676
676
675
674
674
674
674
674
673
673
672
672
672
672
671
671
671
670
670
668
658
646
645
645
645
645
644
643
641
631
621
619
616
600
598
594
586
583
579
576
576
575
574
573
571
570
557
553
554
558
547
546
529
525
520
514
496
495
495
497
500
501
498
496
492
491
491
487
484
480
480
480
480
469
457
452
443
432
406
404
402
370
364
358
358
358
358
358
358
358
355
353
351
349
348
346
346
346
346
346
346
346
346
344
339
331
327
326
325
324
322
321
320
319
316
316
314
308
305
303
296
295
291
288
283
283
279
273
267
262
256
251
246
241
215
139
132
129
121
106
104
102
100
97
95
91
88
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
74
75
76
77
77
78
79
79
80
81
83
82
81
80
79
77
76
75
75
74
72
67
67
65
65
63
62
61
59
55
44
44
44
44
44
44
45
46
47
48
49
50
50
52
53
55
56
57
58
59
62
62
62
62
61
61
61
61
60
60
60
60
69
94
94
94
94
94
101
123
124
127
130
132
135
147
148
150
157
163
169
171
175
178
192
193
197
200
213
221
224
232
233
242
244
252
254
256
255
255
256
259
261
269
278
289
291
296
298
303
307
307
306
316
322
329
340
329
333
327
320
320
318
318
317
317
317
317
313
311
311
315
323
320
320
330
334
339
338
328
331
334
337
335
337
342
343
344
354
382
386
388
386
386
380
361
363
363
365
381
385
385
384
382
380
377
375
372
361
360
361
361
361
358
353
351
347
345
341
340
336
334
331
327
320
314
310
300
297
294
288
276
270
264
249
247
244
240
238
236
234
230
228
225
222
218
209
207
205
203
200
198
197
195
191
189
186
185
184
184
183
182
180
180
178
177
176
174
170
169
163
159
155
153
149
144
137
128
125
121
113
103
95
86
82
81
71
68
66
62
57
56
54
48
46
46
46
45
44
44
42
40
38
37
36
33
31
30
29
28
27
26
24
22
22
23
24
25
23
22
21
21
21
21
22
22
24
25
29
27
28
28
29
29
30
30
30
30
31
31
28
25
23
22
23
20
18
18
19
23
20
16
18
17
15
15
15
17
18
26
19
15
16
17
19
19
20
15
13
13
10
10
10
12
14
25
32
33
35
38
40
40
42
63
67
79
80
90
92
120
123
119
116
121
128
150
150
151
152
152
153
153
154
157
158
159
160
162
163
165
166
167
167
167
167
171
171
171
171
172
175
176
176
178
179
181
182
184
186
186
189
190
191
192
193
194
194
194
193
192
189
188
184
183
181
178
176
172
171
167
166
166
163
163
162
162
162
158
158
158
158
158
158
157
156
155
154
154
152
150
150
150
149
149
148
145
146
146
158
171
181
200
222
225
241
258
262
266
273
272
268
268
266
259
254
237
234
232
230
225
223
238
247
256
260
264
265
267
272
274
279
282
284
295
306
309
311
321
322
325
327
328
331
334
334
335
336
339
345
346
347
352
350
344
338
329
326
339
337
333
358
361
363
363
361
358
364
364
364
363
359
357
353
353
319
311
300
294
290
281
274
266
266
273
269
255
254
257
260
260
258
257
257
258
259
259
261
261
263
265
265
268
268
269
275
279
291
293
298
300
306
313
313
300
285
273
263
264
266
268
276
288
292
294
299
301
306
309
310
324
326
327
334
344
353
364
368
381
387
384
383
389
414
418
419
425
428
434
431
429
428
427
428
427
423
430
426
430
432
439
440
434
429
434
439
442
445
448
447
449
450
453
449
448
446
442
434
445
446
446
444
442
434
432
425
420
414
406
398
394
385
382
380
374
361
357
350
332
328
313
313
313
311
310
309
308
307
302
304
306
307
308
310
311
322
323
327
329
330
341
343
344
347
347
347
348
348
349
350
351
350
349
349
348
347
344
342
340
340
339
332
331
330
329
321
320
316
316
314
312
308
306
303
299
298
297
296
290
289
285
282
282
281
280
278
276
274
272
267
258
256
255
250
250
244
244
242
241
237
236
235
232
228
225
224
222
215
205
201
187
173
173
177
186
189
200
213
223
231
235
241
253
255
257
259
260
266
275
285
295
309
317
319
320
336
342
339
328
332
334
342
341
335
341
357
360
358
358
359
361
368
367
368
370
375
374
374
374
380
381
384
387
385
385
375
366
372
371
371
368
369
370
372
372
373
373
380
391
391
391
392
392
391
392
392
400
400
403
404
405
406
406
407
407
406
405
402
401
393
392
392
392
392
391
391
391
391
391
391
392
393
396
397
397
399
399
399
399
401
402
403
404
405
405
406
406
404
400
394
391
391
379
377
374
369
368
368
367
367
368
369
374
371
370
368
365
365
364
364
364
362
360
359
357
352
352
352
352
352
352
352
351
351
351
351
351
351
351
351
351
352
352
353
354
354
355
355
355
355
357
359
361
361
361
362
362
362
362
361
359
359
358
355
352
350
349
349
349
349
349
349
349
350
351
352
353
353
354
354
353
353
355
357
357
357
357
357
356
356
357
358
361
366
369
372
374
373
372
371
370
369
368
366
364
364
364
365
365
365
364
363
363
362
360
360
360
360
360
360
359
357
353
352
350
349
349
351
353
354
355
356
358
359
363
370
372
381
383
384
384
385
386
388
388
388
388
387
387
387
386
386
385
384
383
383
382
381
381
380
380
379
378
377
377
376
376
374
374
372
371
370
369
369
368
368
366
365
363
362
362
362
363
363
363
363
359
357
357
357
358
358
358
358
359
360
361
362
364
364
364
364
364
366
366
366
366
366
366
366
366
365
365
365
366
367
368
370
371
371
371
372
372
372
372
372
373
373
373
373
372
372
371
370
368
367
367
367
367
367
367
368
368
368
371
371
370
370
370
370
369
368
367
367
367
355
346
344
344
344
344
343
343
343
342
340
340
339
338
330
328
328
329
330
331
332
332
332
334
334
334
333
333
330
328
325
321
319
317
315
313
306
306
306
305
302
301
297
293
288
287
287
287
285
284
284
283
282
282
278
277
277
277
277
277
278
278
278
282
283
283
283
283
282
281
279
278
278
278
277
277
275
272
271
269
268
264
258
256
255
255
255
255
254
240
236
235
232
232
231
229
228
228
228
228
228
228
229
229
231
234
236
237
241
243
252
255
255
258
260
262
263
265
271
275
276
277
278
278
278
279
280
280
281
281
282
283
283
287
288
288
288
288
290
290
291
294
299
301
300
299
298
302
304
308
307
305
304
303
303
302
301
299
298
297
295
295
295
296
299
300
302
303
306
307
308
308
309
310
311
313
314
314
315
316
316
316
314
314
313
312
312
311
309
307
304
304
304
304
304
304
304
303
303
303
303
310
317
317
317
317
317
317
318
318
319
320
320
320
319
317
316
312
310
308
307
305
304
304
304
303
303
303
299
297
296
294
293
285
282
282
282
282
282
282
282
280
277
277
273
275
276
279
282
288
291
290
289
289
288
287
287
287
287
287
288
290
291
291
289
289
288
287
286
286
285
285
284
284
284
284
285
285
283
281
279
278
278
278
278
278
278
278
278
278
278
278
278
279
279
280
280
281
281
285
286
285
285
284
288
292
294
296
296
296
296
297
298
301
303
308
308
306
303
303
303
303
303
303
304
304
304
304
304
303
303
302
302
303
304
302
300
301
302
303
305
306
306
307
307
308
309
309
309
309
309
309
310
311
311
311
312
312
312
312
312
310
309
308
307
307
306
306
306
305
303
302
304
306
306
305
305
305
305
304
304
304
304
303
302
301
301
300
300
299
298
297
294
288
287
284
283
281
279
279
278
277
276
274
269
267
265
259
258
257
256
252
251
251
251
251
251
250
250
250
250
249
249
246
243
242
240
238
236
236
233
233
231
230
228
224
219
217
216
213
211
209
208
207
206
206
205
203
201
200
199
197
196
196
194
193
192
192
191
190
189
188
187
187
186
185
184
184
182
182
182
182
182
182
183
183
183
183
182
182
182
181
181
181
181
181
181
182
184
187
187
181
179
178
175
174
172
169
165
165
165
166
166
166
168
170
171
171
170
169
166
166
164
161
159
159
158
157
154
151
150
148
144
144
143
143
143
143
143
143
143
143
143
143
143
148
148
157
157
156
156
155
154
155
156
157
159
159
173
174
179
179
175
174
174
173
172
169
166
165
164
164
163
163
166
165
165
165
165
165
168
169
170
171
172
175
175
175
175
175
173
171
170
170
169
169
169
169
169
168
168
168
167
166
162
162
157
163
163
169
171
175
176
164
152
148
146
132
133
132
129
131
131
134
136
137
137
126
119
110
88
74
70
60
54
50
40
28
30
30
30
30
30
30
30
30
29
29
28
27
27
24
20
19
15
15
19
21
22
24
21
15