76
77
79
80
80
81
81
83
83
83
83
84
84
84
84
84
84
84
84
86
88
88
89
92
94
104
108
113
116
122
127
133
146
150
158
160
166
167
174
175
176
178
179
179
182
184
185
186
189
192
197
202
205
208
212
213
213
214
214
214
214
213
204
199
203
201
200
196
201
206
218
232
241
247
247
247
246
243
241
240
239
238
237
235
234
232
231
230
228
226
225
223
223
226
227
229
231
233
235
237
238
239
241
243
245
248
252
256
261
262
262
263
264
266
270
268
264
263
263
263
264
265
266
267
270
273
282
282
282
282
282
282
272
268
266
264
263
261
258
242
218
208
201
179
164
159
151
147
134
131
127
125
118
114
110
107
105
102
99
97
91
89
78
76
74
73
70
67
65
65
65
65
66
66
66
66
64
63
62
59
59
57
57
57
57
57
57
58
58
58
58
59
59
59
59
59
60
60
60
61
61
62
62
63
64
66
66
67
68
69
69
72
72
72
72
72
72
72
72
82
86
88
91
95
96
96
96
95
93
93
93
92
92
91
88
85
84
82
80
77
76
74
70
69
68
68
68
68
68
69
69
69
69
69
69
70
70
73
73
75
78
78
82
82
84
91
91
91
90
90
90
91
92
94
95
96
97
99
99
99
99
98
98
98
97
97
97
97
97
97
97
97
97
97
96
95
95
94
94
93
95
97
99
109
113
115
117
121
126
130
137
145
153
155
156
151
148
144
138
136
133
131
125
123
122
121
121
122
124
126
127
129
136
142
143
149
148
145
144
141
139
136
133
131
128
126
128
132
144
148
157
165
176
187
194
196
199
201
206
207
208
211
217
221
222
228
230
227
225
223
222
219
216
214
207
204
198
194
179
169
158
153
147
131
125
120
113
109
105
106
109
110
111
112
113
123
129
132
137
143
145
148
157
161
167
181
184
193
202
209
213
216
215
215
214
212
212
212
215
217
219
220
221
221
221
217
211
211
212
212
212
212
210
201
200
196
193
195
196
197
198
201
201
200
197
203
208
211
212
212
212
211
209
208
205
204
201
200
202
215
219
219
218
217
216
215
214
218
225
226
226
230
233
234
235
237
240
242
248
253
262
270
276
279
282
285
289
294
297
302
317
323
336
355
371
371
385
395
406
403
400
398
396
397
398
404
406
408
409
415
415
416
416
416
417
415
412
409
396
396
395
395
394
394
394
393
386
385
383
379
376
367
360
327
309
310
311
311
311
318
320
322
324
325
325
306
302
304
305
307
309
314
316
316
310
308
309
310
310
310
311
312
313
315
317
330
334
335
336
336
338
348
355
358
344
351
358
360
359
361
365
372
376
381
386
387
387
387
387
387
391
394
396
398
404
404
402
401
397
396
394
392
387
382
373
371
370
368
374
370
369
364
364
366
366
365
365
368
371
377
379
380
383
386
389
385
374
355
332
324
314
301
294
287
286
282
272
264
254
237
233
228
228
228
228
228
228
228
231
233
245
257
270
293
302
304
307
313
314
316
317
319
321
321
323
330
333
336
353
362
364
366
368
367
368
369
371
376
381
384
387
389
405
404
402
401
400
398
398
399
399
399
396
390
389
389
386
384
383
386
389
391
392
392
394
396
400
402
408
420
418
417
414
406
402
401
400
405
409
416
429
434
435
436
439
442
447
451
455
460
462
469
471
471
471
471
471
471
471
471
472
473
475
475
475
474
474
478
481
492
496
500
503
510
514
515
516
517
518
517
517
514
511
510
506
506
521
516
512
509
506
504
504
505
506
506
506
504
504
506
507
509
513
512
511
511
510
511
514
515
515
515
515
515
515
514
513
512
511
510
509
508
507
505
501
495
493
496
503
509
509
508
506
505
504
504
505
505
505
505
500
498
494
492
490
490
490
490
492
492
492
492
491
490
487
486
484
484
478
477
476
470
470
469
469
469
468
468
467
467
467
466
466
465
465
464
464
464
464
464
463
462
462
462
462
461
461
460
460
460
460
460
460
460
460
460
460
459
457
457
455
454
454
453
452
449
449
450
451
452
453
453
454
454
454
453
453
453
452
452
451
451
451
450
450
450
450
455
457
460
462
463
465
467
469
471
472
473
477
478
482
484
485
485
487
488
488
489
490
491
491
491
491
492
494
495
505
506
502
499
497
497
497
497
498
500
501
504
507
509
511
498
492
488
484
479
479
479
479
479
479
479
479
480
481
486
488
491
492
493
493
495
497
499
501
503
506
509
510
511
512
514
514
515
515
517
518
519
520
523
529
532
533
538
544
547
548
551
554
556
554
550
547
544
543
545
547
555
557
559
561
567
567
568
570
570
570
570
570
570
569
568
565
563
561
558
559
561
567
571
576
580
587
588
587
584
581
577
574
575
575
576
576
577
578
581
582
585
587
589
592
595
595
597
597
595
593
590
589
589
590
593
595
593
574
571
565
569
577
579
581
590
591
590
589
587
586
586
585
585
584
585
596
596
591
581
572
558
551
547
537
534
529
523
521
514
515
517
518
519
516
513
511
503
500
502
505
516
519
519
520
520
524
526
528
532
534
535
535
536
536
535
533
530
527
525
517
515
512
511
515
519
522
525
528
532
534
532
528
526
522
511
511
507
506
505
505
506
508
510
512
512
512
512
512
511
504
498
492
486
480
492
495
496
494
490
489
487
486
484
483
482
475
474
474
474
475
476
476
476
475
473
469
468
467
457
453
450
447
445
444
444
445
459
465
469
472
483
486
490
494
517
526
531
534
538
542
545
549
552
554
555
556
555
555
554
554
554
556
557
561
568
571
575
579
583
587
589
587
584
582
580
578
573
573
574
574
573
570
569
568
574
576
582
584
586
588
591
593
595
600
604
606
609
617
620
629
633
634
635
636
627
625
622
603
599
595
590
589
592
592
598
599
602
607
611
629
629
629
629
629
629
629
629
629
637
638
638
638
638
638
637
636
635
636
638
641
642
645
647
647
651
654
658
671
671
671
671
672
674
677
680
678
675
672
668
665
668
671
672
677
679
680
680
681
682
683
686
693
699
696
687
684
675
667
656
656
656
656
656
656
659
662
665
669
671
671
676
687
695
700
702
703
702
701
710
714
714
715
715
715
712
711
710
708
706
705
691
672
653
631
624
625
622
586
564
542
539
513
496
496
504
509
512
540
549
563
577
590
605
606
607
605
603
601
600
602
604
603
602
595
593
593
593
593
593
595
598
601
605
604
604
603
603
603
603
606
612
619
613
601
560
551
541
531
524
509
506
500
498
495
489
480
476
470
465
462
462
463
463
461
456
454
451
449
453
457
461
466
470
474
474
472
469
460
451
437
428
434
431
427
411
396
372
334
321
310
298
290
283
284
286
287
287
288
288
288
283
279
275
271
269
268
266
264
261
252
247
243
250
253
255
254
253
241
229
229
229
229
228
227
227
226
226
224
224
224
224
224
225
228
230
231
233
233
233
233
236
238
247
256
253
250
250
256
257
262
267
273
280
285
289
292
296
302
303
306
311
313
314
311
310
309
308
310
314
317
339
347
350
352
353
356
356
357
358
366
374
380
386
390
395
397
401
403
404
405
407
409
411
413
416
426
431
446
450
451
452
455
457
459
460
461
462
463
467
471
475
483
487
494
505
509
513
517
520
521
523
524
524
528
531
536
542
547
556
559
563
569
580
588
589
590
591
592
594
583
574
605
515
612
612
616
620
625
615
609
605
600
568
558
543
538
534
531
526
521
510
492
486
485
488
485
484
477
469
471
469
466
470
477
487
506
514
531
550
559
566
566
566
565
565
565
568
584
601
596
591
584
582
580
579
588
594
596
603
604
604
609
618
632
653
663
659
653
653
655
652
640
630
619
617
612
606
612
612
582
574
566
563
575
584
585
585
526
496
471
459
449
440
435
431
426
427
428
429
429
429
431
434
441
465
475
488
489
487
485
483
479
473
472
472
471
470
469
467
466
464
462
447
428
423
449
463
461
457
453
450
435
433
436
443
456
459
461
465
471
475
476
477
479
480
479
478
476
476
476
476
477
518
533
544
557
562
562
563
563
563
564
564
564
563
563
562
557
554
552
548
545
545
546
555
566
576
580
584
587
593
594
593
592
594
595
597
597
595
593
591
588
583
579
579
582
590
609
624
632
634
636
637
640
647
655
662
663
664
668
672
678
680
673
671
668
667
662
660
658
655
651
647
647
647
646
634
620
616
613
606
599
597
595
590
587
584
582
577
566
552
545
539
532
527
520
520
521
523
523
525
534
535
535
537
539
533
515
510
507
506
507
508
512
521
532
537
542
539
535
538
540
539
531
523
522
520
511
507
499
499
498
497
495
492
489
479
465
465
460
455
443
442
440
434
425
399
397
419
426
431
435
438
438
439
440
440
441
442
447
448
451
453
453
453
453
453
453
460
462
464
464
464
464
468
472
475
477
475
470
467
465
462
471
475
486
487
487
487
486
486
485
485
484
484
483
482
482
482
482
482
483
485
486
486
485
485
480
480
474
472
469
467
466
465
463
463
460
459
458
446
443
427
410
397
392
391
377
373
370
368
365
361
360
357
356
355
355
355
354
352
350
349
347
346
345
344
341
338
333
332
327
323
314
310
302
296
292
274
267
261
259
253
250
243
238
222
214
203
210
219
227
232
249
257
264
261
254
242
236
235
235
239
247
262
276
286
300
312
303
300
296
287
278
263
252
232
225
211
195
199
197
196
195
201
203
205
210
216
223
232
240
249
258
261
271
286
292
308
313
319
310
307
315
327
337
365
373
378
380
378
374
375
387
400
404
407
409
410
417
440
446
442
440
440
442
448
454
449
441
439
440
441
445
448
453
447
444
452
461
467
485
500
510
510
512
512
512
514
514
515
519
520
522
527
529
529
529
530
530
532
535
537
545
550
551
551
551
551
551
547
547
547
547
548
555
553
551
550
548
545
543
544
544
545
546
544
541
536
524
557
550
549
555
556
558
561
571
571
571
570
569
570
570
571
572
575
574
574
573
568
564
561
556
545
535
535
535
534
531
531
532
533
535
535
536
536
537
538
539
540
543
548
555
556
556
556
556
552
556
574
560
553
559
586
601
616
614
614
612
584
561
554
561
572
560
549
555
556
553
552
551
551
550
551
557
569
573
575
577
579
583
584
585
589
590
590
595
598
604
608
610
612
614
614
614
614
614
614
614
614
615
617
618
620
621
623
624
626
628
629
629
630
631
632
633
633
635
636
638
639
641
642
643
646
647
649
651
655
656
656
656
656
657
657
656
648
650
652
650
649
650
651
651
650
648
645
642
641
644
644
644
644
642
642
641
634
631
626
626
625
625
625
626
627
628
628
626
622
617
605
580
575
571
565
565
566
568
569
571
579
575
564
553
536
526
516
516
515
515
515
515
515
525
542
556
569
576
578
574
568
568
565
563
565
570
574
574
591
620
623
627
627
618
616
612
614
615
610
602
605
606
604
602
601
597
592
593
586
582
578
576
571
566
566
565
563
561
559
557
556
555
555
553
552
551
551
550
550
550
550
549
548
545
543
541
529
523
520
519
519
519
518
518
518
518
512
506
500
492
489
486
486
493
499
505
511
523
523
524
529
535
537
539
539
534
525
518
512
504
499
496
493
488
479
478
475
473
473
473
475
477
477
477
477
477
476
476
477
479
479
479
479
484
493
493
491
487
482
478
475
464
460
458
456
448
444
441
441
440
440
439
439
440
439
436
433
428
426
425
423
420
416
413
405
398
398
402
401
400
399
399
399
399
395
392
391
390
387
384
381
377
374
371
365
341
338
336
331
334
338
336
334
332
331
330
330
330
330
330
329
327
324
324
325
326
327
330
330
334
335
336
337
339
360
368
374
389
396
401
405
410
413
419
422
424
428
433
435
440
443
447
449
451
453
458
460
462
466
470
474
482
488
491
491
492
492
492
490
489
488
485
484
484
483
474
471
468
466
465
468
471
476
474
473
472
471
464
456
436
425
420
416
412
406
398
400
402
404
402
399
397
394
385
383
376
374
372
370
370
372
375
376
377
383
388
390
395
403
404
408
418
428
447
452
457
461
462
463
464
465
471
478
487
499
508
511
513
523
526
540
540
535
532
530
527
522
524
526
529
535
537
541
542
542
542
542
541
541
541
541
541
543
540
536
534
530
529
527
525
522
524
526
529
532
533
539
542
542
522
506
502
491
488
484
473
462
456
452
448
446
443
440
435
427
421
414
411
408
394
387
371
365
361
359
359
359
363
365
367
370
373
369
364
359
349
343
339
336
333
330
325
318
312
298
284
283
282
281
281
278
273
271
272
269
266
264
260
248
241
237
234
231
229
226
220
217
216
215
216
214
212
209
205
202
195
188
164
163
162
159
156
155
156
129
129
128
128
128
129
129
130
130
130
130
128
127
127
127
127
123
121
122
123
123
122
120
120
120
120
117
124
137
132
129
120
114
111
112
120
121
120
115
115
115
115
113
112
111
105
104
104
104
104
105
106
108
109
109
108
108
108
108
107
106
105
105
105
110
110
110
110
110
110
110
111
111
120
120
126
130
132
128
126
125
123
122
122
123
124
125
125
125
125
124
123
121
122
123
123
114
112
110
111
112
114
115
115
116
120
123
125
127
129
129
128
127
116
114
112
112
111
111
111
113
115
115
116
117
117
117
117
118
118
118
118
117
115
117
118
118
119
119
119
119
119
119
119
119
118