378
378
379
379
380
380
380
380
380
380
380
381
381
381
382
382
383
383
383
383
383
383
382
382
381
381
381
381
382
382
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
384
385
387
387
387
387
387
387
387
388
389
389
389
389
389
389
390
391
392
392
392
391
391
391
391
392
392
394
394
393
394
394
396
396
396
397
398
398
398
401
400
400
399
399
399
399
401
399
402
403
404
404
404
404
404
407
410
410
409
409
411
410
409
408
407
407
407
408
408
409
409
410
410
410
411
411
411
411
411
411
411
413
415
416
416
418
419
419
419
420
420
420
420
419
419
418
417
417
417
421
422
422
422
423
423
424
425
425
425
424
423
423
424
426
427
425
432
434
438
440
441
442
443
443
444
444
446
446
448
449
446
448
446
446
446
446
447
447
445
440
440
440
440
440
440
442
444
445
445
446
447
449
450
451
453
457
458
458
457
455
450
446
446
446
446
446
446
446
446
444
449
451
453
455
458
463
449
449
450
451
452
452
453
457
458
463
465
465
473
488
493
504
506
506
514
513
512
512
514
516
517
518
519
520
519
504
499
499
495
495
493
492
491
491
491
491
491
493
494
495
496
498
500
501
503
504
504
503
501
501
500
499
498
497
497
496
493
491
492
495
497
497
497
496
496
496
495
495
495
495
495
495
495
496
497
497
497
497
497
497
497
497
496
494
487
487
487
487
488
490
493
494
494
494
493
494
495
496
495
493
493
493
493
493
494
495
495
495
495
495
493
491
490
490
490
489
489
489
489
490
490
491
491
494
496
495
494
493
493
489
480
482
483
482
481
479
477
477
477
477
477
477
476
475
474
473
473
473
472
472
472
471
471
476
477
477
477
477
477
477
476
476
476
475
474
473
473
470
470
470
470
473
474
475
476
478
479
479
479
479
479
480
480
480
482
482
483
481
481
480
480
479
476
474
473
473
468
468
468
468
468
470
470
470
475
475
475
475
474
474
474
474
474
474
475
475
476
478
479
479
480
480
481
482
482
481
482
484
486
488
492
494
494
496
497
498
498
498
500
502
511
511
510
510
513
521
521
521
520
521
522
518
515
515
519
521
522
526
525
524
522
522
522
525
525
526
526
527
527
529
530
530
534
534
534
535
536
538
538
540
540
540
540
540
540
540
540
540
540
539
538
538
538
537
537
534
537
538
537
533
531
530
522
518
515
514
516
519
519
522
524
525
527
531
534
543
550
550
551
551
556
557
558
559
560
560
561
558
556
558
561
570
572
572
572
572
571
570
570
568
566
563
562
548
547
549
549
550
551
552
553
554
554
556
557
557
557
557
556
556
556
555
555
556
557
559
562
564
567
569
571
572
573
573
573
572
571
571
571
571
572
574
579
598
599
597
596
595
592
589
588
588
589
589
589
590
591
592
596
602
602
603
604
605
610
612
623
627
629
628
623
621
622
623
624
636
639
640
640
641
643
645
646
646
645
645
643
642
647
650
654
659
657
655
650
652
654
654
654
654
654
656
656
656
657
657
657
661
668
672
674
677
678
683
687
691
696
706
711
719
735
734
733
732
732
735
738
740
741
742
743
745
745
746
748
753
756
758
761
762
761
760
759
758
759
762
765
765
766
768
770
771
773
773
774
774
774
776
778
778
777
777
776
774
772
771
769
767
766
765
763
761
761
761
761
761
761
761
760
760
760
760
759
758
756
755
755
754
752
758
763
772
785
787
790
792
789
786
775
767
766
762
761
759
753
741
737
736
734
733
730
729
726
725
724
723
722
723
725
720
710
707
699
699
698
696
694
690
685
680
675
667
663
660
650
642
632
628
609
603
600
588
586
586
587
587
588
588
588
588
588
587
585
584
580
579
574
570
569
569
568
567
564
563
561
558
557
554
554
554
553
551
550
548
547
545
544
543
543
542
541
540
539
538
536
533
530
530
529
529
528
527
527
525
525
524
523
522
521
516
509
511
512
512
514
515
515
517
516
515
512
507
500
485
484
481
479
478
477
472
471
469
467
465
463
462
460
456
443
441
439
438
432
431
429
427
426
424
423
420
418
416
415
414
412
410
412
414
415
416
415
414
410
408
406
405
403
401
400
396
394
392
391
391
391
391
391
391
387
386
377
376
375
373
372
373
385
393
401
399
397
395
378
371
364
357
351
349
349
349
349
343
341
339
339
338
338
339
342
345
343
342
343
344
344
338
336
309
307
304
304
304
301
300
297
296
295
293
292
292
292
292
291
290
288
287
286
285
283
283
285
285
287
289
291
292
294
300
296
293
291
289
288
283
285
288
290
292
300
305
300
300
292
287
283
283
283
284
284
285
285
285
281
277
282
284
285
287
288
283
279
275
272
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
266
266
264
263
263
262
262
260
259
259
259
260
260
261
265
271
273
279
280
280
281
281
282
291
300
313
330
335
330
318
300
302
303
304
305
307
305
297
286
279
272
272
271
271
270
270
271
271
271
271
270
270
270
261
266
269
271
279
282
284
285
286
287
287
286
283
282
269
264
269
272
272
272
271
271
270
269
268
266
265
263
263
262
262
262
263
266
268
271
273
287
304
309
319
326
341
341
341
338
334
330
331
343
357
370
373
377
377
377
379
383
386
390
397
402
400
399
397
403
410
412
415
423
425
429
431
434
434
433
432
431
434
439
444
448
453
455
456
459
465
471
471
470
470
469
469
468
468
468
469
470
471
471
474
475
477
480
484
486
497
500
502
506
509
524
529
530
532
531
530
528
528
540
551
554
558
564
560
558
556
554
553
551
552
558
561
568
571
574
579
581
588
589
591
592
594
595
596
598
601
604
607
610
614
619
623
628
630
632
635
637
637
637
640
640
641
642
640
638
645
648
669
684
678
666
671
683
688
699
704
711
719
722
718
715
712
710
707
705
705
705
704
704
706
707
710
713
715
717
720
722
722
722
723
724
725
726
728
734
738
746
754
758
758
756
755
758
767
764
759
754
748
747
745
743
747
751
754
756
761
762
764
767
766
766
765
763
763
761
761
763
765
767
770
772
773
764
762
759
757
755
752
749
745
738
736
733
728
727
727
727
726
722
720
714
711
706
706
706
707
707
707
707
703
697
693
689
685
683
683
682
682
682
681
681
680
679
678
676
675
674
674
674
674
674
673
670
664
662
659
650
627
620
618
616
614
612
610
606
602
598
596
590
588
587
587
588
590
592
594
595
598
598
600
601
603
605
607
607
607
607
606
600
596
593
589
588
587
587
590
592
597
597
597
596
595
595
595
595
595
591
587
584
580
577
573
573
573
573
573
573
573
572
572
570
570
569
568
568
568
568
568
570
572
574
577
583
593
597
603
607
613
624
628
633
642
642
641
641
640
640
640
639
639
639
639
640
640
640
640
641
644
645
647
648
649
649
648
647
646
649
652
655
657
656
655
654
651
651
649
641
638
636
634
633
631
626
623
621
620
616
613
610
610
610
610
610
610
610
610
610
610
610
610
610
609
608
607
605
600
600
597
596
594
592
592
593
602
604
612
617
620
623
629
635
635
636
637
638
638
639
639
640
642
644
645
646
647
649
650
650
649
648
647
647
646
646
648
649
650
651
651
652
655
658
659
660
660
661
662
662
663
663
664
665
670
670
671
672
672
672
672
672
672
673
673
676
678
679
679
682
683
686
689
687
685
681
680
681
686
690
698
702
703
701
699
693
689
689
689
690
690
691
691
691
691
690
688
687
686
678
676
673
670
668
666
665
664
664
664
664
665
665
666
667
669
671
674
683
686
690
687
686
684
683
683
684
685
686
687
687
688
688
688
688
688
688
686
684
683
682
681
683
685
685
685
685
685
685
685
686
686
689
689
690
691
692
696
700
704
707
715
724
725
725
725
726
730
732
736
742
743
744
745
746
748
748
748
748
748
741
740
738
736
733
730
728
727
726
725
723
721
721
721
721
716
715
716
719
722
720
719
718
714
712
709
706
697
695
692
692
692
693
693
694
694
689
685
682
679
678
678
680
681
683
685
686
687
688
691
689
687
686
685
685
684
684
683
683
684
684
684
675
672
665
662
659
656
654
651
643
638
635
632
629
624
622
620
619
618
615
612
610
607
604
603
602
603
603
603
604
604
604
604
602
600
598
594
593
596
601
602
602
601
597
594
592
581
580
582
583
585
586
588
589
589
590
591
591
591
591
596
603
603
603
603
601
599
597
596
596
596
596
595
595
595
592
586
573
571
572
572
572
575
579
586
592
593
594
594
594
591
581
562
561
561
561
566
569
572
575
575
571
572
574
577
576
574
570
565
563
562
553
549
541
525
517
511
514
512
504
496
483
469
461
459
456
455
449
443
441
439
436
433
430
427
427
429
430
431
432
428
427
422
418
414
414
413
413
413
408
400
386
384
381
376
374
372
371
370
368
366
368
370
368
367
365
361
360
359
359
356
355
355
354
354
356
356
355
351
350
348
349
350
355
356
356
357
358
359
360
360
360
360
360
357
354
350
347
340
340
340
340
340
339
338
336
336
335
335
334
334
334
334
334
334
332
332
330
323
321
319
315
315
316
303
300
297
295
290
287
285
280
272
272
273
268
266
261
261
260
258
254
253
244
241
239
238
237
234
233
231
229
226
225
224
219
219
218
218
218
218
218
217
212
212
212
212
211
211
211
211
212
211
208
204
205
202
200
198
197
193
193
195
196
196
197
208
211
205
196
186
188
196
188
180
177
172
172
172
176
184
184
185
181
165
160
160
162
163
163
164
165
166
165
163
164
160
154
153
153
152
151
149
149
149
150
149
149
149
149
149
148
148
148
148
148
148
148
147
147
147
147
147
147
147
147
147
147
146
146
145
145
144
143
143
143
143
143
145
144
141
141
141
141
141
140
140
141
140
140
140
140
140
140
140
140
140
140
140
141
141
140
141
141
142
142
142
142
141
141
141
141
140
140
140
139
139
143
143
147
148
147
146
145
144
143
142
141
138
137
136
136
137
139
141
142
142
137
136
136
135
135
135
135
134
134
134
134
134
134
134
133
132
132
132
132
132
133
133
133
133
134
134
134
134
134
134
134
132
131
131
133
133
133
135
133
131
131
130
127
126
125
129
131
133
137
137
136
136
135
135
135
135
135
135
133
130
129
129
130
130
135
140
141
131
138
134
136
139
132
129
126
142
138
131
121
120
119
119
118
118
117
120
124
119
119
119
119
119
120
121
123
131
135
137
146
152
152
152
151
150
147
142
138
136
132
130
127
126
121
119
118
117
117
120
120
120
122
120
121
123
122
122
124
125
126
128
130
130
130
133
134
140
137
134
129
128
128
126
122
124
124
121
119
120
124
125
120
123
127
123
122
121
121
121
121
121
120
120
120
119
119
119
115
116
117
119
120
121
121
121
121
121
120
120
120
123
122
113
108
107
107
107
114
116
114
106
107
107
107
107
108
108
108
109
109
109
109
109
108
108
107
107
106
106
134
145
150
155
162
162
159
151
148
147
145
146
153
157
160
161
163
164
164
163
163
173
179
185
185
175
167
165
163
157
152
150
148
146
143
142
140
140
137
135
134
134
134
134
134
134
134
133
132
132
131
130
130
130
129
129
129
127
126
125
124
123
123
123
118
113
111
109
106
106
107
106
106
103
103
103
103
104
103
103
103
103
103
104
104
104
104
104
102
102
102
102
102
102
104
108