581
581
581
581
581
581
581
581
581
581
581
581
581
580
580
580
581
582
581
581
581
581
581
581
581
581
581
584
581
582
584
582
591
592
592
592
593
593
593
597
596
597
594
594
594
594
594
593
592
591
590
590
590
590
590
591
591
592
591
590
589
589
590
592
596
599
603
606
608
610
610
610
610
610
610
611
627
639
641
646
659
651
649
667
664
672
673
673
673
674
679
692
729
752
751
745
745
750
775
772
806
800
800
808
816
821
839
851
879
879
879
881
888
910
918
924
930
934
935
937
950
963
971
1004
1007
1013
1009
1006
1003
1003
1004
1007
1008
1009
1013
1022
1022
1022
1025
1034
1054
1061
1065
1066
1067
1070
1073
1078
1080
1098
1096
1098
1100
1100
1105
1108
1104
1106
1111
1112
1119
1125
1130
1135
1137
1139
1144
1146
1141
1146
1157
1158
1163
1174
1186
1186
1187
1189
1189
1187
1191
1194
1199
1205
1214
1221
1227
1227
1229
1229
1216
1216
1217
1215
1205
1212
1203
1198
1194
1193
1180
1181
1179
1178
1178
1173
1163
1159
1150
1143
1139
1137
1139
1143
1127
1114
1109
1106
1087
1082
1088
1086
1082
1082
1081
1074
1080
1075
1072
1067
1064
1051
1050
1049
1048
1045
1048
1043
1035
1019
1019
1020
1023
1020
1019
1017
1011
1006
1006
1008
1011
1012
1019
1021
1021
1019
1019
1032
1037
1034
1042
1045
1049
1050
1051
1069
1077
1076
1077
1081
1073
1075
1083
1085
1080
1077
1068
1086
1094
1100
1112
1113
1111
1123
1129
1139
1137
1137
1147
1159
1163
1167
1172
1165
1169
1175
1175
1180
1182
1189
1187
1182
1181
1180
1185
1191
1185
1183
1173
1158
1152
1153
1156
1157
1150
1137
1137
1132
1129
1115
1122
1103
1093
1094
1094
1080
1084
1090
1096
1083
1080
1079
1075
1062
1059
1057
1052
1051
1050
1051
1045
1032
1028
1019
1019
1017
1016
1019
1019
1006
1007
1011
1015
1013
1010
1006
1004
1001
1003
1001
991
979
969
968
967
962
962
962
962
962
962
963
960
959
959
959
958
957
957
955
954
955
958
949
945
946
947
948
946
946
942
941
940
938
937
934
933
932
932
929
924
924
924
924
924
923
922
922
920
921
925
932
939
936
935
935
944
954
956
953
955
953
964
963
964
962
964
967
941
944
943
939
941
938
933
927
924
924
909
907
910
912
914
911
896
894
895
896
889
885
887
895
893
889
885
880
880
886
903
904
897
881
882
882
883
882
882
882
882
882
878
878
879
882
875
874
875
876
876
876
876
876
876
875
875
875
868
867
867
867
867
867
868
868
869
871
871
871
871
872
873
874
876
878
879
870
868
868
868
869
874
879
884
884
884
885
885
887
890
898
900
900
899
899
898
898
900
898
900
900
895
888
890
893
894
891
881
877
863
862
858
850
846
847
845
844
844
837
837
837
837
836
841
846
844
833
838
829
831
836
833
832
831
830
829
830
837
834
827
821
818
831
837
834
822
827
829
825
822
825
817
807
807
808
809
809
814
818
820
823
825
825
825
827
828
829
835
845
845
845
845
845
845
851
856
860
863
871
875
880
882
882
880
869
861
862
855
849
846
842
839
836
833
827
825
824
823
815
813
814
818
820
822
821
820
808
806
808
808
807
807
803
802
803
804
805
805
806
806
806
804
802
802
804
804
804
803
804
805
806
808
817
819
820
824
816
798
802
814
818
819
821
819
816
823
829
826
818
806
816
851
843
805
817
832
831
818
807
814
824
826
820
823
837
846
844
798
798
798
800
803
812
815
825
828
831
823
814
821
821
816
800
802
806
801
798
805
806
805
798
807
823
822
817
810
827
836
838
838
839
840
842
844
844
844
844
841
840
854
862
868
875
879
871
869
867
867
865
864
864
872
879
884
864
852
847
873
847
846
839
834
830
827
827
830
832
832
832
831
828
826
803
803
803
803
803
798
797
795
794
794
794
794
794
792
764
761
764
767
780
778
773
771
766
762
759
755
749
747
753
760
751
746
742
746
749
761
759
758
756
752
747
743
732
721
722
723
724
722
720
718
715
712
705
702
694
695
694
690
686
681
687
698
705
722
726
705
702
698
693
686
685
683
682
681
676
672
670
669
667
665
659
657
654
651
649
648
656
661
667
670
672
679
678
669
643
631
628
626
629
632
629
628
631
642
650
648
615
611
602
604
607
597
604
619
618
613
608
607
607
607
610
611
612
611
610
609
607
607
608
609
610
611
613
618
620
630
623
623
623
623
616
615
614
613
612
611
611
611
611
611
610
608
607
608
609
610
608
606
604
604
604
603
603
605
608
609
649
649
638
638
632
633
633
619
616
615
617
619
620
619
620
620
622
625
626
624
626
627
637
635
630
630
628
627
629
631
633
635
635
635
635
635
634
632
630
628
625
624
624
623
624
626
627
627
628
627
625
625
625
624
623
621
619
619
619
619
619
618
618
618
618
617
617
616
615
616
605
598
598
599
597
601
603
600
597
600
598
597
598
599
600
601
603
603
603
603
603
603
603
603
603
603
603
606
606
608
608
604
601
602
601
602
606
603
603
602
602
604
608
604
603
603
603
603
603
603
604
604
605
606
610
614
616
618
618
619
619
622
622
618
615
614
619
619
613
606
605
607
602
604
615
626
628
632
634
632
631
630
630
630
631
631
631
638
640
642
643
652
656
656
656
657
657
655
653
652
651
654
650
647
646
646
646
642
639
636
638
638
645
645
646
647
647
646
646
644
643
639
634
628
622
619
602
600
600
600
600
601
601
600
602
602
602
603
603
603
603
604
604
604
604
605
607
607
609
609
609
608
608
610
611
609
609
613
612
612
611
611
611
611
611
611
607
605
602
602
602
604
601
599
599
600
603
605
605
605
602
600
600
602
605
607
600
601
601
600
600
599
599
598
597
596
597
598
598
597
591
600
597
598
598
596
592
593
593
592
591
590
586
585
584
582
580
582
582
582
584
580
583
583
584
579
579
579
580
580
580
579
578
579
580
579
578
577
577
576
575
576
577
580
581
581
581
580
580
580
580
580
577
575
575
576
578
578
578
578
578
578
579
580
580
579
578
578
577
576
576
577
577
578
579
591
589
600
595
588
600
596
589
595
597
608
610
609
609
608
607
606
602
608
612
617
626
628
628
627
627
630
607
602
606
611
615
640
640
640
640
642
644
645
649
648
647
648
656
657
661
658
652
651
653
658
659
660
666
663
660
670
667
656
654
645
643
648
648
645
648
645
643
643
644
646
645
646
647
654
662
660
659
660
661
663
663
664
667
667
665
663
662
662
665
668
669
666
666
666
657
655
654
654
654
656
656
654
654
654
658
657
659
660
663
661
661
657
651
654
656
645
636
636
635
634
620
625
630
628
624
622
621
620
619
619
619
620
621
623
627
626
625
624
618
615
614
613
612
612
611
611
611
614
609
614
612
614
607
603
602
601
599
599
594
593
594
592
591
589
582
581
585
583
579
580
580
579
578
578
574
573
572
572
571
571
570
567
566
566
568
566
566
565
565
565
564
563
563
563
563
564
562
557
553
557
555
555
554
549
545
544
543
545
544
533
529
530
529
528
527
525
524
524
527
527
523
522
522
524
526
526
519
519
517
520
519
519
519
519
519
521
522
520
520
522
519
518
515
515
518
517
516
519
524
526
529
530
532
533
532
531
529
529
529
526
527
525
525
527
525
524
525
525
524
525
525
528
528
527
522
523
523
522
520
520
524
521
517
520
520
516
515
516
520
520
518
519
520
519
516
517
517
515
517
514
515
514
512
514
514
512
511
511
511
510
515
514
511
509
509
505
504
504
505
506
507
507
506
506
506
506
506
507
507
507
507
507
506
505
505
506
506
507
507
507
509
509
505
505
505
505
506
506
505
505
505
504
504
503
502
501
502
497
495
496
496
496
496
496
496
496
496
494
494
494
496
495
493
494
494
492
490
492
493
491
491
492
493
489
489
488
488
488
488
489
489
489
489
488
485
484
482
485
480
483
485
486
481
480
482
481
480
480
479
479
479
480
480
481
484
484
485
484
484
484
481
482
481
481
481
483
483
481
481
484
483
483
483
483
483
483
483
484
484
485
485
486
488
483
478
478
480
477
476
476
477
477
471
473
473
473
474
472
473
472
471
471
471
471
472
468
468
468
473
469
467
467
467
468
473
491
493
493
486
488
489
486
485
483
483
485
486
486
486
486
485
485
488
486
482
489
489
485
485
489
488
488
488
486
482
479
477
473
472
471
470
468
466
458
457
457
455
456
455
455
455
455
458
458
459
459
459
459
459
459
459
461
463
465
469
475
477
481
487
488
492
495
497
500
499
493
494
494
495
497
502
500
499
500
501
503
503
503
505
484
479
477
488
492
495
493
490
487
485
483
480
478
479
486
489
490
493
494
486
485
481
476
473
469
470
471
475
477
480
484
486
493
496
495
490
491
490
487
488
490
500
501
503
512
511
493
488
478
473
473
472
471
471
470
470
469
452
453
452
450
452
454
469
470
472
477
481
479
479
479
479
481
489
497
506
510
514
519
526
507
506
505
506
506
506
504
503
501
498
498
498
491
487
484
481
474
471
469
466
462
462
463
458
457
456
456
456
456
456
451
451
450
449
448
451
450
449
449
447
450
443
442
446
442
442
449
452
446
444
444
444
440
438
435
436
436
438
439
439
433
433
436
438
438
436
433
433
434
433
430
430
431
431
432
432
430
430
430
431
431
431
427
426
431
432
432
429
427
427
427
427
427
426
425
423
422
423
423
423
422
421
420
420
418
418
421
422
422
425
429
431
432
437
440
441
443
448
448
446
440
437
437
436
436
436
437
439
441
441
441
441
441
437
432
430
428
430
438
453
453
448
443
445
449
451
452
464
482
479
483
493
501
497
488
478
478
477
479
479
478
471
475
478
484
484
490
496
496
496
490
490
490
485
482
486
482
479
468
464
451
447
437
437
437
437
433
431
427
425
422
422
418
409
409
409
405
402
400
400
399
399
398
396
394
393
391
391
391
390
390
383
383
383
383
383
383
385
385
384
382
382
382
380
381
384
385
380
382
382
381
380
380
380
380
380
381
381
381
382
382
382
383
381
380
380
383
393
405
418
418
422
413
408
396
378
372
372
372
372
372
370
371
370
368
368
369
369
370
369
367
367
368
368
368
370
370
369
369
368
367
367
366
366
366
368
368
367
366
365
365
365
365
365
365
365
365
366
367
368
368
368
366
366
366
367
367
368
368
368
367
367
367
366
365
365
366
366
366
366
366
368
367
369
369
369
369
369
369
367
368
368
369
369
371
372
372
372
373
374
372
368
368
368
369
372
370
368
367
369
369
369
369
369
368
371
372
369
368
368
369
372
374
373
372
372
371
369
366
366
366
366
366
366
366
367
368
368
368
366
368
368
373
372
372
371
373
373
373
373
373
376
376
375
375
375
377
377
377
375
375
375
375
374
372
372
372
371
371
371
373
374
374
374
374
374
374
373
372
370
372
372
372
373
374
374
373
373
370
371
371
372
372
372
374
375
375
378
382
383
381
380
379
379
384
386
390
393
395
397
400
401
401
400
400
400
402
403
403
403
400
406
423
426
430
434
437
434
433
432
434
435
440
442
445
452
454
456
459
453
451
448
447
439
439
440
442
444
444
448
459
462
463
463
463
465
468
472
472
472
472
471
472
473
476
480
483
484
486
486
486
486
486
486
486
488
488
487
486
486
489
483
483
488
490
498
501
492
490
489
487
486
484
485
490
495
498
501
501
502
505
504
499
497
498
508
510
508
496
499
502
501
531
529
520
516
510
511
513
513
526
516
513
514
511
496
491
489
486
481
481
481
483
484
486
486
486
493
503
503
503
503
504
504
504
504
504
506
509
517
520
521
521
523
524
530
530
530
530
530
523
530
529
529
541
530
533
533
514
514
525
530
532
531
529
515
514
511
508
506
503
510
511
510
510
515
514
513
508
505
502
498
499
501
509
509
509
508
499
495
493
490
495
495
495
493
492
490
489
489
490
492
494
494
497
484
479
489
465
464
455
432
427
425
397
388
377
368
368
367
365
365
365
365
368
368
368
368
368
368
368
368
368
369
369
369
370
371
373
373
373
373
374
374
374
376
373
372
370
371
372
371
371
371
372
373
383
386
389
389
390
395
390
388
386
387
385
386
386
386
387
385
388
385
388
388
389
390
389
390
390
387
385
386
393
398
393
393
392
393
390
388
388
385
386
386
388
390
390
390
389
387
388
389
389
390
391
393
393
390
390
391
390
392
392
392
392
394
396
396
393
393
393
392
392
391
396
395
393
393
397
394
397
393
393
393
394
393
392
392
396
398
394
392
391
391
391
391
396
404
413
422
406
402
403
402
400
400
401
400
403
403
404
404
404
405
406
406
405
405
409
405
404
406
406
408
409
413
413
415
415
417
423
424
425
428
428
426
420
420
419
416
416
416
416
416
416
416
416
416
416
416
417
417
417
417
416
415
416
417
417
417
417
420
421
421
422
424
419
410
407
405
405
404
404
404
405
405
405
405
405
405
405
405
405
405
405
406
405
404
403
403
404
403
403
403
403
403
403
403
405
406
405
403
405
405
407
407
407
410
409
407
407
407
408
409
409
410
411
412
412
409
408
408
408
407
407
407
407
409
409
410
411
412
411
411
411
411
411
411
411
412
413
415
417
416
417
418
418
418
418
415
414
413
413
416
418
418
418
418
418
420
421
428
426
427
428
430
430
430
431
432
435
435
438
439
440
441
442
440
428
424
422
420
418
423
419
405
396
402
405
404
403
399
401
396
388
380
379
380
381
381
385
385
383
386
387
385
385
386
387
391
391
392
392
392
395
429
410
410
415
419
419
419
420
421
420
416
405
405
402
393
389
390
388
385
390
394
394
394
390
388
386
393
396
400
397
397
396
388
384
386
387
389
388
386
386
387
390
395
398
393
392
389
388
386
384
380
377
376
376
367
366
365
364
363
362
362
361
362
363
362
364
377
380
382
384
383
384
381
377
372
372
372
372
374
374
372
372
361
362
362
361
354
350
349
346
346
348
349
352
336
336
339
345
346
346
348
352
353
356
365
370
370
368
366
366
372
377
381
383
382
382
380
382
378
380
379
378
379
379
371
366
364
362
361
359
356
356
354
354
354
357
358
358
354
350
350
343
343
342
338
338
336
336
336
330
323
323
320
322
326
326
326
330
329
326
327
324
326
326
320
320
328
328
326
322
324
324
322
321
320
320
320
320
317
316
316
316
316
316
316
314
313
317
317
315
312
311
311
311
312
311
311
311
314
317
317
317
318
316
317
317
317
317
316
317
317
316
316
316
315
315
310
311
312
307
304
303
304
302
303
303
303
307
305
303
303
304
303
303
299
298
299
299
300
303
303
302
300
299
299
299
300
300
300
296
295
295
295
295
295
291
291
290
290
288
287
287
287
287
287
287
285
285
285
286
286
287
288
287
285
285
287
289
289
290
292
298
304
303
303
306
307
309
309
310
309
310
309
310
308
305
313
315
319
320
320
318
316
316
316
316
315
314
310
308
306
306
306
305
305
305
307
315
315
315
315
315
316
316
315
315
315
316
316
316
317
318
315
311
312
313
313
313
313
316
306
305
303
301
300
299
298
298
299
300
299
296
296
296
296
295
295
296
299
300
300
300
300
302
302
300
300
300
301
302
305
307
314
315
314
319
323
329
331
323
325
325
325
326
327
335
335
339
340
344
347
347
347
347
347
348
349
352
353
353
350
347
342
342
337
336
343
347
349
349
349
346
346
349
350
353
352
350
350
350
350
349
349
348
343
345
348
347
345
342
342
343
343
340
337
336
333
332
332
332
332
329
329
322
317
312
312
315
314
311
307
303
301
306
307
307
307
307
308
310
314
319
326
331
333
334
335
335
335
335
336
336
336
339
340
347
348
345
339
334
343
344
345
336
336
335
335
335
338
341
344
344
344
350
351
352
336
336
339
348
348
349
356
355
352
350
338
335
316
315
311
311
310
309
308
311
313
319
315
312
309
309
309
308
306
306
306
305
301
301
303
309
320
323
313
320
316
316
317
320
326
329
328
330
337
341
341
342
336
332
329
326
321
320
316
313
312
312
311
325
328
318
307
306
306
305
303
302
305
306
307
311
313
309
308
307
302
299
296
296
296
295
293
295
295
294
293
291
293
297
299
291
285
283
282
286
289
290
279
277
277
278
279
281
282
278
271
269
269
268
268
268
268
268
268
268
268
270
271
272
275
275
275
275
275
275
275
276
276
277
277
278
281
281
282
283
285
288
288
290
293
295
295
295
296
296
298
295
287
284
282
281
281
280
280
279
279
279
280
281
282
284
285
319
325
325
321
314
312
313
319
328
327
329
330
324
325
324
324
322
320
317
298
289
289
289
290
284
279
277
276
274
274
275
276
276
277
280
285
285
284
281
272
273
274
276
279
282
282
282
281
278
278
278
279
276
265
264
264
264
265
267
268
268
269
274
275
272
271
267
267
266
267
271
271
274
276
277
277
277
276
274
272
272
272
272
273
274
274
275
275
276
282
288
290
290
292
329
329
328
325
336
339
335
336
336
337
336
325
314
304
300
299
298
296
293
291
288
287
282
279
256
256
256
255
255
254
254
254
254
255
256
256
257
258
259
260
261
263
264
267
268
286
288
293
296
298
298
295
296
297
298
300
300
303
306
309
309
308
304
302
299
291
286
280
275
269
266
263
257
258
261
269
274
278
280
283
283
283
283
283
283
285
286
286
287
287
292
296
298
302
299
301
293
289
289
289
289
287
281
278
274
265
263
263
259
248
247
245
243
242
242
242
241
239
238
239
243
244
242
242
242
241
241
242
244
245
245
245
245
244
244
247
248
248
242
241
240
238
239
240
241
242
241
241
241
235
235
236
238
241
239
239
239
240
241
241
240
240
239
238
238
239
237
237
238
239
239
239
240
238
238
237
236
235
235
236
241
241
240
239
239
241
242
242
240
240
240
240
238
238
238
238
238
240
240
239
239
239
239
238
238
238
240
241
241
242
243
246
247
248
247
246
246
245
245
245
246
246
246
246
246
246
246
248
249
249
248
246
246
246
246
247
248
248
247
245
243
240
240
239
239
239
239
239
239
240
241
240
240
240
240
239
240
239
240
240
238
239
239
240
241
247
251
256
258
258
258
251
247
244
244
244
244
245
245
244
244
244
246
249
246
249
251
261
252
248
245
245
245
246
251
253
253
252
252
250
253
250
251
256
256
258
261
261
258
256
255
257
257
255
250
250
251
252
257
251
254
258
259
263
265
261
264
272
272
273
274
275
274
274
269
263
260
253
252
252
250
250
251
251
251
251
252
253
253
255
253
255
255
255
255
258
264
265
265
264
264
262
260
257
256
257
258
257
257
258
258
257
256
253
253
253
255
256
259
261
262
259
259
259
258
258
256
257
258
261
263
268
271
263
260
259
259
260
260
258
258
259
259
259
259
259
259
258
260
262
275
278
274
270
268
270
273
268
271
267
268
270
268
267
267
266
266
265
266
267
268
270
268
268
267
269
270
267
268
269
269
268
268
268
269
269
269
269
271
273
272
273
273
277
276
275
275
275
277
277
278
279
281
280
279
279
280
280
280
280
279
282
282
282
283
284
282
286
286
284
284
286
288
288
288
288
288
288
289
291
294
293
300
295
296
299
299
298
296
296
293
292
291
291
291
292
293
294
294
294
294
294
294
294
295
295
295
296
300
299
298
297
295
295
295
295
295
295
295
295
295
295
295
294
294
297
294
293
294
294
298
306
301
300
300
299
303
301
306
309
308
305
303
301
301
302
304
305
307
305
298
297
297
298
299
303
304
304
306
310
302
303
303
302
301
301
301
301
302
302
304
306
307
307
308
309
309
309
309
309
307
302
302
303
303
304
302
302
302
302
302
305
304
303
303
304
307
305
305
307
308
308
308
309
310
312
311
312
313
314
314
315
313
315
316
336
340
342
307
299
298
298
297
297
296
296
295
292
292
293
294
294
295
298
299
298
298
300
302
305
307
308
309
314
314
317
316
315
315
315
315
317
318
318
317
316
316
317
316
314
314
314
314
314
314
314
318
318
323
323
317
312
311
311
311
312
315
316
317
317
315
315
317
319
321
322
323
324
321
320
320
322
327
329
328
327
327
327
322
326
327
327
326
326
330
333
332
331
330
330
326
326
326
325
325
326
329
330
331
335
334
334
337
340
342
343
352
371
382
389
404
447
435
436
439
439
439
439
443
451
458
457
451
446
443
438
434
429
425
427
419
417
413
403
380
380
382
388
386
384
390
389
381
381
380
378
378
377
377
377
379
380
378
375
375
376
376
378
378
378
379
381
379
379
378
376
376
376
376
374
371
370
370
373
374
376
374
376
376
374
375
374
376
371
371
372
361
358
359
365
372
375
375
375
377
385
389
392
395
399
402
402
401
393
406
407
412
412
410
410
411
410
408
408
408
408
415
420
418
416
411
411
411
412
406
391
391
343
341
339
339
340
341
341
338
337
336
338
341
334
328
329
330
329
329
330
330
330
330
330
329
329
328
328
326
326
326
324
323
325
325
326
327
322
322
321
322
323
331
335
335
327
325
323
322
323
323
323
323
324
324
333
336
337
339
328
328
328
329
329
327
326
325
324
323
324
320
320
322
329
324
322
321
321
319
319
319
322
324
326
329
330
332
334
337
337
343
337
333
331
328
325
322
320
320
319
317
316
316
316
313
313
313
316
315
315
316
316
313
313
321
341
327
323
318
313
309
327
328
324
318
318
318
315
311
309
310
312
312
314
313
310
311
310
322
320
319
319
312
307
307
305
304
305
323
330
338
341
342
341
334
319
313
310
306
302
301
301
301
301
309
307
305
302
297
294
294
294
294
293
294
295
296
295
294
295
296
301
302
302
295
295
298
296
296
294
302
300
301
297
294
293
292
291
291
291
290
289
288
288
288
288
289
290
290
290
291
292
291
291
290
291
292
292
294
293
294
292
290
291
291
292
291
291
291
291
291
290
289
289
289
289
289
291
291
291
290
292
292
293
293
295
295
294
292
291
291
293
304
306
307
308
310
314
317
317
310
310
302
302
304
304
298
300
302
298
297
297
296
303
302
307
300
295
290
289
283
284
283
279
279
278
279
281
282
284
281
289
291
301
301
299
297
299
300
302
304
297
282
279
279
279
283
286
285
282
282
277
277
277
276
275
275
276
275
276
274
272
272
272
273
274
274
290
281
287
290
288
280
284
288
288
285
280
278
284
281
281
287
284
275
274
277
275
277
277
274
279
281
286
289
292
299
297
295
290
298
311
311
311
310
308
301
291
278
280
280
280
278
273
270
268
267
259
262
268
269
271
277
279
278
278
276
275
263
262
260
262
262
262
261
254
254
254
256
255
254
254
254
255
269
279
281
282
286
287
281
281
288
293
291
295
293
268
270
257
255
254
252
254
258
258
254
255
258
264
266
270
272
269
267
266
265
264
263
267
269
269
268
267
266
269
276
247
254
255
256
256
265
274
279
273
275
276
276
276
276
272
270
268
268
284
288
276
270
267
266
266
265
266
266
271
273
266
265
263
259
259
260
260
259
259
259
259
259
259
260
262
263
265
266
268
269
272
279
283
284
286
289
292
292
288
288
291
296
296
292
295
311
311
310
306
304
303
303
303
305
310
311
313
313
315
316
318
319
321
331
373
378
377
376
378
382
393
403
405
406
404
398
383
382
377
374
369
368
367
364
369
369
368
368
367
366
363
363
364
364
364
365
360
357
356
349
343
342
341
343
336
333
330
330
332
344
344
344
342
324
323
322
319
317
317
318
320
322
324
330
360
370
372
373
374
376
379
381
384
386
391
392
392
394
394
395
394
393
391
393
395
402
403
405
407
408
408
410
418
427
432
438
438
438
439
439
437
424
417
414
401
399
397
391
388
386
377
374
369
362
354
357
356
351
347
340
336
335
334
323
324
322
320
320
316
310
309
308
308
307
304
299
295
284
284
283
288
286
271
268
260
265
260
258
256
256
255
245
245
245
241
241
240
240
239
237
236
234
233
231
230
229
229
230
231
231
231
229
224
222
222
219
219
219
219
219
218
217
217
217
216
218
215
214
214
213
213
213
214
214
215
217
219
221
228
229
228
227
226
226
226
227
228
232
233
239
240
240
237
239
241
243
243
242
242
242
243
246
249
253
256
258
266
267
269
270
278
282
286
292
293
296
300
305
312
315
316
319
323
325
329
329
328
327
327
326
333
330
332
339
345
348
357
360
363
365
358
354
358
358
349
322
318
316
313
311
308
306
301
294
292
291
290
277
271
267
257
252
246
246
247
246
243
241
238
230
217
212
207
206
204
203
202
201
192
190
190
190
190
189
188
190
190
192
193
194
196
198
197
193
194
198
199
201
203
204
201
199
192
191
193
196
197
200
200
199
196
192
187
182
182
184
184
186
188
198
200
213
222
222
226
237
237
235
236
237
233
233
233
233
233
237
239
237
219
219
219
221
230
230
230
232
233
233
242
244
244
245
249
253
252
251
250
250
264
271
262
256
254
255
263
265
265
254
252
259
262
257
259
259
261
265
269
273
271
269
268
269
272
274
276
276
278
281
281
281
289
294
296
297
298
299
291
302
317
312
308
306
307
310
319
320
322
329
325
317
319
326
330
334
331
328
329
330
335
338
343
346
346
347
349
364
368
365
351
348
348
343
344
345
345
345
348
349
349
351
355
365
368
369
373
376
376
379
380
386
391
392
386
387
390
390
396
402
401
400
402
403
406
407
408
408
408
407
407
401
385
384
382
380
380
380
374
364
363
358
358
358
358
358
360
362
366
367
368
372
382
387
388
389
389
394
396
395
394
392
391
396
397
397
398
400
403
404
405
407
408
409
409
412
413
413
415
419
420
425
435
439
452
463
464
465
464
473
480
471
479
480
482
482
474
468
470
470
471
478
478
478
479
479
468
461
457
460
462
459
460
462
462
462
462
464
465
471
477
478
476
476
477
477
477
478
479
483
485
488
489
489
490
490
489
486
487
490
493
494
494
502
502
501
501
501
499
498
499
497
486
485
483
479
473
473
458
456
454
447
448
448
448
449
447
442
443
459
461
463
465
466
460
460
461
461
462
450
446
442
441
441
441
441
442
444
444
442
439
437
436
435
431
431
431
431
428
425
423
422
428
428
427
425
423
423
421
420
419
419
419
416
412
404
400
393
391
390
390
389
388
386
383
380
376
373
366
361
355
349
345
343
343
344
341
338
335
332
331
331
332
332
333
333
332
332
332
331
330
330
333
336
335
342
342
342
341
337
334
332
351
377
383
392
398
403
407
408
415
421
423
432
442
442
426
424
429
428
426
412
401
394
397
393
384
379
378
378
357
346
344
338
336
355
347
344
341
340
339
338
327
325
324
323
323
323
323
324
324
324
322
321
321
321
319
318
318
322
324
328
330
331
336
339
338
335
333
358
357
357
354
354
362
366
370
371
369
367
366
365
363
363
364
364
365
365
349
344
340
335
331
332
329
329
329
329
328
328
327
331
329
331
337
336
337
337
337
337
336
336
336
336
337
337
338
339
346
355
350
346
342
343
345
324
323
319
313
311
307
306
299
295
292
286
285
286
284
284
284
283
282
280
274
270
268
256
255
254
251
249
243
247
247
236
234
234
231
229
229
228
226
226
226
225
223
223
223
224
224
228
226
224
223
225
231
225
227
228
204
205
204
203
205
204
201
200
199
196
197
193
191
191
193
193
193
192
192
191
187
187
183
183
181
180
179
178
178
181
181
180
178
177
176
176
175
175
176
175
173
173
173
173
175
176
176
176
176
175
173
173
173
172
172
170
170
169
169
174
169
169
171
172
172
171
170
168
167
167
170
170
168
167
171
165
164
164
163
163
163
164
165
165
167
169
171
168
166
165
165
165
165
165
166
164
163
167
169
170
169
160
160
161
160
159
159
159
158
158
157
157
157
160
157
158
157
156
156
156
156
160
156
157
156
154
154
153
152
153
154
154
156
157
157
153
152
152
152
153
153
153
154
153
149
149
150
149
149
147
147
147
147
149
149
150
152
153
156
157
158
158
158
157
149
147
147
149
150
150
152
153
154
152
150
153
153
152
154
154
153
147
149
149
149
149
144
144
144
144
146
145
145
145
142
142
142
142
140
140
140
140
139
139
138
139
137
137
148
149
142
141
141
143
143
144
145
143
138
137
137
139
140
141
138
141
143
142
139
137
137
129
129
130
130
128
126
122
122
122
132
145
145
128
124
125
123
126
126
128
128
127
124
123
121
121
121
123
123
123
123
121
121
121
121
121
121
118
118
118
119
119
119
119
120
120
121
122
122
122
125
126
125
125
136
132
132
134
137
138
138
138
139
139
139
139
140
142
143
146
146
146
145
145
145
145
145
147
152
148
156
152
154
155
155
156
157
163
195
201
203
204
205
208
210
214
214
212
210
206
199
198
186
178
160
153
150
150
148
139
139
137
131
144
147
159
179
181
200
200
209
209
209
197
195
207
199
204
208
213
220
222
221
225
226
229
230
229
224
225
225
225
226
226
226
226
226
226
220
220
221
221
222
224
220
217
213
212
211
210
209
200
196
195
193
189
185
184
183
181
180
180
181
184
185
186
188
190
190
190
190
188
188
186
186
187
191
192
197
197
197
197
197
198
198
199
200
210
217
219
221
224
218
217
216
215
213
211
209
206
204
189
189
187
184
182
176
175
174
169
168
166
166
166
166
163
162
162
167
166
161
161
162
162
159
157
169
175
177
182
187
192
200
200
201
201
202
204
205
205
204
203
191
190
187
188
184
181
180
163
161
161
161
161
159
159
158
153
152
151
150
149
149
149
152
154
154
149
152
155
155
157
157
157
158
159
160
156
155
154
152
151
151
151
151
147
142
138
133
132
132
134
134
135
136
133
133
133
131
131
131
130
130
128
130
130
127
126
125
125
128
128
128
131
133
133
140
141
141
138
138
142
144
142
134
134
134
133
133
133
133
128
127
127
125
123
122
121
121
120
120
120
123
127
130
134
137
138
137
137
137
137
137
135
135
131
130
129
118
116
116
117
112
110
110
110
110
108
108
122
122
122
123
123
122
122
125
127
128
129
128
120
119
117
119
121
120
117
118
122
125
127
133
138
147
147
147
148
149
152
153
153
169
167
160
158
158
158
158
157
155
154
152
153
154
154
155
155
155
152
152
151
150
152
151
150
148
149
149
147
146
144
142
140
139
137
131
126
126
126
126
121
118
117
115
113
113
113
113
113
112
111
110
110
110
108
108
104
105
105
103
101
100
101
102
104
105
105
105
105
105
105
105
105
103
102
102
98
98
98
98
97
95
94
94
94
94
94
95
95
97
98
100
102
103
103
106
107
109
109
111
111
111
111
112
114
108
108
109
110
110
110
107
101
95
94
93
94
94
94
95
98
97
97
96
96
96
97
99
99
99
99
99
99
99
99
97
97
97
97
96
96
99
99
99
100
101
101
102
103
129
130
140
142
148
150
150
155
155
155
156
154
152
148
152
156
157
159
160
161
163
164
165
165
166
167
168
166
161
162
162
161
160
164
170
169
168
166
165
163
162
162
157
153
149
145
141
134
132
132
115
115
114
114
109
107
107
106
106
117
114
114
104
101
100
99
99
86
86
84
82
79
80
80
81
97
102
102
101
97
97
96
93
92
92
92
91
90
89
89
89
87
83
79
76
75
74
87
91
90
91
92
93
96
96
96
96
98
98
97
96
95
95
91
89
87
77
76
80
81
81
83
90
90
89
89
89
92
92
92
92
92
91
89
89
88
87
81
79
79
79
79
79
78
77
77
74
73
72
72
71
73
73
72
72
72
73
73
73
73
71
69
69
69
68
68
68
68
68
69
75
74
73
72
73
72
72
71
71
71
67
69
65
67
69
80
69
69
69
69
69
68
68
68
68
68
68
67
66
65
65
66
67
64
64
63
63
63
63
63
68
68
67
67
67
67
64
63
63
63
60
61
61
61
62
63
64
64
58
58
58
58
60
60
58
58
61
61
62
62
62
61
61
62
62
62
62
62
62
62
61
60
59
58
58
58
59
59
60
60
59
60
60
60
59
58
58
58
63
63
57
57
57
52
52
52
52
52
52
52
53
53
53
52
50
49
48
46
46
46
45
44
44
44
44
44
44
44
44
44
44
44
44
43
43
43
42
42
43
41
41
41
41
40
41
41
41
42
41
41
41
40
40
40
40
40
40
40
40
48
45
40
40
40
41
38
39
41
38
37
37
40
39
38
38
39
40
42
42
41
41
42
42
41
41
41
41
41
40
40
40
39
42
42
43
43
43
50
49
50
52
52
54
55
55
55
55
55
54
54
56
56
57
56
55
54
55
57
56
56
57
61
61
60
65
68
65
65
70
70
69
67
65
71
76
76
75
73
74
74
74
75
74
73
73
70
70
70
71
71
76
77
78
71
71
71
73
73
73
74
76
80
84
84
87
94
99
92
97
91
101
97
100
104
102
101
110
108
119
120
121
129
136
125
123
130
115
111
107
102
103
104
83
84
74
73
73
72
72
71
71
60
60
58
53
53
51
50
49
48
47
44
44
45
46
49
50
50
51
51
49
48
48
48
47
49
51
54
58
55
57
53
46
44
43
60
65
50
50
50
50
51
52
52
51
50
49
48
47
46
44
46
46
47
47
46
46
43
43
43
43
43
43
42
43
42
39
37
37
37
37
37
41
40
39
39
39
39
38
39
39
39
39
38
37
37
37
37
38
38
40
41
43
42
43
44
43
43
41
40
41
42
42
42
42
43
42
40
39
39
39
39
40
37
36
36
36
35
34
36
36
36
36
35
34
33
32
32
35
38
39
38
38
38
39
41
41
42
44
45
42
42
45
45
42
44
45
46
49
50
50
48
51
51
52
54
54
55
55
56
56
56
51
54
54
54
71
73
73
74
74
74
74
77
78
78
77
78
83
87
88
87
87
71
60
58
53
49
49
47
48
48
50
56
45
45
47
47
43
50
51
51
50
51
47
30
29
27
28
24
24
24
24
22
22
27
39
34
31
19
20
19
21
30
30
21
26
27
27
18
18
24
25
24
24
24
24
30
31
31
19
18
17
17
17
17
18
19
19
13
22
22
23
24
24
25
25
25
24
25
26
27
27
26
31
32
32
33
29
24
21
19
19
19
19
19
19
20
18
19
19
19
20
19
19
31
32
33
32
30
31
31
30
28
27
25
20
19
17
16
15
15
15
16
14
15
14
13
13
13
13
13
13
12
13
12
12
12
12
12
11
10
10
10
10
13
13
13
13
12
13
13
13
13
16
17
17
18
18
19
18
18
17
17
17
17
16
16
15
11
10
10
10
12
14
13
12
11
12
12
13
13
13
12
12
12
12
12
11
11
12
19
19
18
18
17
16
16
18
18
16
29
28
28
32
23
21
23
15
16
14
12
11
7
5
6
4
6
6
7
5
5
4
5
5
5
4
4
3
3
3
3
3
3
3
3
3
3
3
4
4
3
3
2
4
4
3
3
2
4
5
2
4
4
4
4
4
5
5
4
4
4
4
4
4
6
6
7
8
7
6
5
6
6
6
7
6
6
5
5
5
5
5
5
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
7
4
1
8
8
9
9
7
6
6
12
19
18
18
16
14
11
12
9
11
13
18
16
18
11
13
17
16
16
16
19
21
20
25
33
37
41
42
42
54
54
54
56
50
49
49
51
52
53
53
50
50
49
48
45
48
51
53
53
52
48
46
45
44
43
42
39
36
39
35
37
40
42
44
43
42
42
43
46
39
35
25
23
20
20
18
16
18
16
16
15
16
17
17
15
13
17
17
17
15
15
14
14
17
15
18
22
19
18
18
18
18
18
18
17
17
17
17
17
17
18
19
19
19
17
18
18
18
19
19
20
22
21
23
22
21
20
21
23
25
25
26
25
26
26
26
26
26
27
27
25
25
24
26
25
24
24
25
26
29
30
29
28
28
28
30
30
31
32
35
35
35
41
40
39
32
33
33
32
32
33
33
32
31
31
31
31
32
30
29
29
30
30
30
30
33
35
34
33
34
33
33
34
35
35
35
37
38
38
37
35
35
35
37
37
32
32
32
32
33
34
34
34
33
33
34
34
34
34
33
33
34
34
33
32
33
38
35
36
28
24
22
19
24
27
30
33
37
14
29
38
35
35
31
30
27
24
20
21
22
23
22
21
22
21
21
23
35
36
36
39
45
44
46
46
42
38
33
28
28
28
28
29
30
30
26
27
28
31
32
33
27
27
27
27
28
28
30
31
35
34
33
30
30
31
30
29
28
31
33
32
28
26
29
28
29
29
28
26
25
23
23
23
23
24
13
14
17
16
16
12
8
11
14
15
15
16
16
17
17
17
15
9
8
8
9
11
13
15
16
14
13
13
17
20
22
24
30
32
29
18
21
21
21
21
22
19
14
8
8
7
8
11
21
18
12
11
10
8
10
4
4
12
13
13
11
12
13
13
13
11
11
11
10
11
11
11
10
10
9
8
8
1
1
1
1
4
7
8
9
9
6
6
6
6
6
6
6
6
6
7
7
8
8
7
7
7
7
7
9
13
13
14
15
15
14
13
13
13
14
15
15
15
13
13
19
16
16
16
16
16
17
19
20
21
25
29
28
24
23
23
23
23
23
23
23
22
22
21
18
17
16
16
17
15
15
15
14
15
17
12
15
17
18
18
14
15
15
18
19
22
25
27
31
35
37
36
36
41
42
43
40
39
38
35
30
28
28
30
30
29
28
28
24
24
22
21
20
22
24
27
31
33
31
32
35
36
36
37
37
39
37
41
41
41
41
40
38
37
37
38
40
42
44
45
45
45
48
51
52
50
50
49
49
50
55
57
58
61
61
61
63
63
58
58
57
57
57
57
57
57
57
58
57
53
52
50
49
47
48
49
54
55
55
55
55
56
56
56
56
57
58
59
59
60
61
57
57
62
63
63
63
62
62
65
65
65
65
57
57
57
55
54
54
54
51
56
58
59
59
46
45
44
40
41
42
42
41
40
38
38
41
42
42
42
38
52
52
53
55
54
56
58
57
53
52
52
54
53
51
51
59
59
61
63
63
63
63
62
63
63
63
64
67
68
67
72
68
68
65
64
59
54
47
38
38
38
37
37
37
36
35
33
32
33
33
34
34
37
38
38
39
39
39
38
35
30
31
33
32
29
31
37
37
46
51
52
44
44
40
37
40
41
42
44
45
45
42
31
31
34
41
41
43
42
43
44
44
44
44
44
44
44
44
41
41
41
41
41
38
37
37
40
35
35
36
33
32
31
34
37
35
36
36
36
34
34
35
35
35
36
37
34
31
33
36
36
36
35
34
39
38
37
36
30
30
31
31
43
56
62
65
78
71
73
70
68
65
64
62
57
55
49
49
43
41
41
41
36
36
38
39
40
41
41
40
41
41
43
66
69
89
91
93
93
99
101
101
100
99
97
97
97
97
99
103
103
103
103
102
91
88
84
84
84
84
79
77
74
74
87
86
81
79
71
71
72
72
72
72
74
75
78
85
80
79
76
75
65
64
64
64
65
65
64
60
56
50
36
36
36
36
35
35
34
30
29
29
29
29
23
22
21
16
15
13
12
9
6
6
6
9
9
9
9
9
8
13
13
8
6
6
7
9
10
12
6
6
6
8
8
13
13
12
11
11
14
16
16
21
21
16
10
7
7
8
8
8
7
7
8
8
8
8
8
8
8
8
7
6
6
6
3
0
0
0
2
6
7
7
7
7
7
6
6
6
6
5
5
5
5
5
5