0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-09-20 06:45:26 +00:00
OI-codes/S2OJ/1693/data/idiom17.out

178916 lines
687 KiB (Stored with Git LFS)
Plaintext

321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
518
519
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
142
143
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
151
152
153
154
155
156
157
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
593
594
595
596
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
477
478
479
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
180
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
265
266
267
268
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
443
444
445
446
447
448
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
593
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
219
76
421
486
191
48
372
435
488
251
359
330
399
329
433
412
309
375
409
313
474
178
143
114
474
186
420
194
518
412
353
635
214
305
370
772
130
487
304
259
232
180
101
328
168
283
305
649
342
333
241
332
542
289
66
198
258
498
362
99
404
1123
339
499
512
512
535
377
182
71
82
220
118
619
625
454
185
351
171
384
405
188
224
202
786
264
537
533
64
172
59
117
296
325
842
577
293
485
447
198
290
292
737
170
136
384
93
247
392
434
23
608
687
572
343
585
275
484
172
225
357
332
298
505
380
307
311
816
131
261
149
546
168
147
209
624
129
51
343
191
569
316
294
110
515
520
445
596
240
155
475
561
79
274
400
128
481
455
490
263
285
313
252
96
576
105
329
301
212
527
176
162
396
211
216
484
383
525
352
299
257
165
359
369
232
269
537
181
338
328
576
285
364
329
285
285
106
302
145
285
350
242
584
382
526
598
649
346
813
155
327
526
253
211
891
384
654
247
217
615
237
324
189
152
676
457
600
387
112
147
153
281
368
721
376
53
905
528
394
583
624
239
211
378
342
298
439
190
724
706
626
160
161
332
337
421
217
112
56
80
159
542
271
225
769
356
304
445
153
137
518
312
92
363
398
328
89
226
446
535
238
687
148
315
543
291
299
441
157
345
392
237
640
414
271
180
43
499
250
251
86
630
500
132
556
364
512
76
408
322
369
352
314
321
265
854
68
670
327
466
360
657
215
481
26
157
509
300
416
688
165
332
352
130
206
588
555
422
344
570
149
438
171
71
363
699
191
405
418
297
274
478
187
249
238
204
414
71
444
345
122
367
188
322
548
423
224
315
298
35
70
270
363
190
215
262
318
130
134
235
402
537
195
131
305
291
714
218
211
287
521
280
489
233
417
337
183
435
383
167
400
92
421
415
519
294
443
506
379
470
439
380
252
404
368
464
219
423
445
237
75
146
384
500
137
276
300
450
52
501
213
322
498
324
42
311
89
526
202
225
474
369
812
240
151
597
402
792
213
339
178
603
381
203
118
630
225
383
221
285
274
106
228
84
750
604
75
570
192
173
208
493
560
421
267
516
150
434
60
65
379
427
211
382
187
36
58
141
14
270
88
584
256
465
182
575
201
231
439
509
742
591
464
175
912
327
337
406
543
125
289
325
566
62
460
143
232
254
802
165
450
504
227
365
251
231
347
254
418
922
191
235
322
453
723
297
60
182
578
105
261
213
525
446
272
55
315
567
474
334
269
432
306
775
692
616
296
235
515
321
448
222
392
164
327
388
279
465
298
323
410
371
395
155
459
541
553
58
624
325
490
358
414
242
348
300
658
294
100
489
469
592
489
200
577
384
152
412
242
127
364
217
147
395
267
171
317
598
375
250
400
87
61
113
92
225
134
125
457
579
400
467
251
186
98
235
394
267
468
755
192
399
223
356
588
586
334
334
504
269
47
336
77
91
294
70
257
70
387
361
356
711
88
370
344
522
193
342
266
616
243
483
530
375
224
281
448
384
583
106
162
303
258
571
177
342
149
53
464
208
137
262
398
354
390
173
115
467
193
501
249
167
348
248
174
257
129
543
387
314
581
316
401
244
111
452
465
260
472
385
273
296
620
237
578
62
426
279
258
264
581
458
201
843
36
258
109
575
129
466
242
519
73
563
156
441
381
476
675
535
271
356
414
122
235
170
300
485
316
672
323
270
594
470
301
515
148
554
606
159
908
270
212
400
213
297
466
423
523
348
459
210
351
460
167
215
277
176
504
361
701
242
201
319
332
327
164
353
81
200
260
393
7
266
139
263
70
237
289
582
366
380
200
33
294
713
335
80
430
105
438
288
306
274
102
417
224
498
128
175
485
380
863
263
608
610
612
571
395
486
506
86
281
286
125
196
121
339
666
258
106
382
490
275
520
643
456
159
778
352
166
391
35
385
228
26
126
508
440
345
328
653
452
343
141
395
207
617
622
260
361
60
698
378
190
155
452
59
445
292
273
105
269
338
262
43
264
401
192
144
451
310
494
459
540
534
286
457
416
165
497
541
699
281
196
271
20
739
486
331
252
542
265
42
428
201
285
189
345
386
237
439
433
420
320
55
383
117
345
644
268
166
261
584
231
379
312
210
356
351
678
198
181
370
365
60
499
263
141
201
705
251
506
531
258
224
482
527
167
112
470
367
338
290
108
413
130
484
408
136
409
375
290
746
295
544
181
427
213
623
161
246
736
332
229
299
12
401
275
628
336
60
204
263
561
282
151
72
365
158
327
220
49
205
108
122
258
317
455
217
474
250
325
661
309
159
302
242
781
459
563
348
149
263
797
220
328
136
303
178
480
361
351
422
721
293
317
332
52
244
111
697
321
382
660
130
546
281
621
147
626
181
466
736
358
128
331
157
286
213
259
260
366
112
38
533
474
186
329
468
199
169
451
269
680
247
596
526
180
237
272
221
341
522
414
250
106
640
648
496
121
32
312
551
89
401
408
425
273
170
223
332
393
197
486
938
298
424
221
257
565
441
273
305
384
331
264
447
451
313
182
419
123
248
752
331
298
228
819
303
125
691
133
121
251
128
433
837
82
290
723
174
301
131
134
565
119
343
729
228
321
284
509
627
74
271
122
364
242
494
337
419
215
488
247
421
84
348
188
741
371
354
110
590
533
235
246
476
415
43
119
496
329
261
592
459
214
477
143
239
311
254
496
387
484
393
398
226
259
251
424
603
329
441
430
475
591
560
496
560
283
570
173
141
298
246
738
182
278
50
206
295
268
820
224
96
661
484
376
188
269
85
216
80
566
343
363
303
580
547
462
669
110
495
105
256
732
371
355
255
245
292
371
243
542
104
85
217
293
386
427
35
274
257
218
494
346
90
540
251
718
500
173
103
149
255
588
179
187
415
78
569
670
340
316
112
323
218
439
96
667
726
645
162
335
394
185
152
268
192
361
433
249
384
195
521
237
489
251
770
418
207
466
380
346
63
400
256
280
831
612
311
314
601
270
494
466
524
482
164
196
292
241
137
162
54
197
443
74
289
266
451
296
681
250
512
366
172
321
195
125
394
129
49
232
323
356
657
579
528
341
403
112
349
790
556
862
655
427
344
227
152
146
420
347
497
346
79
189
54
624
326
586
82
492
561
508
534
555
397
58
210
235
49
396
499
361
575
505
596
392
206
458
262
126
662
204
382
273
115
308
413
521
246
169
234
390
418
157
23
98
174
360
170
401
649
184
173
191
778
853
370
193
623
317
667
147
277
223
309
358
201
107
398
212
304
212
590
371
543
249
330
392
345
110
656
174
239
278
354
468
66
337
230
778
424
125
197
237
375
396
279
336
623
311
480
194
639
139
186
352
714
123
300
603
282
119
220
184
315
546
515
30
203
367
413
602
376
595
93
239
305
132
532
312
330
198
813
360
487
614
71
329
396
299
418
243
292
506
490
363
351
523
254
144
216
721
236
305
415
541
95
544
435
370
175
985
154
332
351
484
317
150
420
444
495
369
257
683
205
151
474
261
493
175
355
592
441
232
343
145
574
208
900
379
491
229
303
527
258
409
448
133
337
95
226
298
232
548
347
278
510
486
470
430
409
349
284
225
411
464
163
419
264
354
443
563
227
497
541
381
385
441
284
405
182
302
189
173
614
253
453
650
609
246
148
113
478
211
488
205
335
472
337
345
298
197
71
51
111
255
159
269
211
253
297
1083
69
476
118
407
575
575
393
324
531
69
345
254
536
518
511
144
746
340
144
151
30
306
452
644
442
353
392
684
363
271
301
134
502
654
250
475
529
470
48
219
321
722
348
193
172
148
388
106
642
513
174
233
217
287
180
226
91
604
144
142
523
298
416
505
405
273
209
293
340
243
560
285
345
407
175
572
145
543
514
513
245
350
682
128
120
326
180
823
523
135
116
151
351
161
332
279
399
364
351
390
591
483
796
210
170
224
46
214
545
53
50
507
229
679
133
268
250
95
275
352
602
401
703
403
290
875
98
210
364
95
590
322
209
224
554
51
507
539
363
154
249
463
535
350
212
363
138
477
345
343
139
561
711
596
222
266
165
550
333
291
120
385
149
223
579
424
113
456
542
331
172
589
115
192
495
327
119
556
544
198
247
358
346
445
375
224
248
234
316
185
93
53
1066
505
69
818
671
683
371
262
217
183
116
551
716
285
226
792
280
262
113
106
58
237
287
306
766
44
141
322
405
366
243
81
217
380
105
441
502
88
575
268
484
267
302
291
116
56
632
769
492
552
831
326
1082
147
121
186
672
306
561
34
476
254
238
399
245
446
654
293
284
257
144
508
78
129
530
234
428
798
418
227
483
401
405
372
440
182
88
410
470
442
305
352
22
579
770
109
203
369
368
218
218
341
362
435
440
207
602
313
390
284
235
457
245
581
362
321
243
259
553
299
498
589
552
156
401
179
211
433
359
235
261
293
133
672
101
284
288
347
447
659
328
350
386
479
444
223
449
351
397
747
679
47
278
354
684
131
871
374
459
291
348
277
293
682
118
237
297
486
382
165
323
257
527
257
343
245
288
231
446
469
192
126
189
705
517
371
266
301
837
383
230
130
342
499
432
291
826
514
833
81
245
307
197
437
329
475
326
484
809
275
248
457
149
133
479
554
468
681
204
91
328
550
189
346
557
413
164
935
145
805
442
151
89
85
267
219
391
622
11
797
256
189
437
396
174
321
275
257
296
249
236
483
237
380
314
203
331
277
736
265
551
510
261
374
338
431
322
522
596
706
268
668
275
165
362
197
586
277
846
128
628
351
361
35
180
314
80
379
264
308
438
408
322
440
565
572
263
264
393
796
189
147
400
268
417
424
110
78
270
418
377
584
351
263
210
293
671
583
99
51
316
552
228
221
146
511
315
658
96
241
402
813
261
344
140
808
271
333
253
507
368
176
140
275
62
551
140
256
181
181
181
248
815
390
359
612
248
177
285
473
366
231
387
301
295
299
119
846
273
542
357
179
132
324
209
80
343
498
380
419
287
571
470
777
307
72
132
532
643
250
304
476
481
94
654
359
288
507
881
308
473
479
167
823
188
448
558
160
530
67
221
335
576
282
257
193
896
302
695
241
327
276
245
272
656
264
309
586
69
182
451
458
110
94
416
339
338
557
898
686
320
359
228
392
27
280
364
111
453
92
65
315
178
200
356
420
618
505
176
358
349
744
608
159
467
98
238
539
251
220
233
110
294
214
254
161
255
803
357
391
86
485
216
498
144
290
400
139
95
399
204
417
265
92
636
312
474
380
59
202
649
501
494
337
535
171
438
405
389
398
280
350
269
192
894
43
78
139
134
395
79
391
461
586
418
502
146
188
254
542
34
197
288
760
179
66
435
115
522
537
591
515
664
168
449
502
449
411
252
493
94
203
544
136
252
507
487
787
367
349
306
70
182
308
428
305
627
498
483
141
84
404
497
437
775
538
139
48
278
147
592
154
221
595
216
304
687
330
116
294
535
594
239
200
503
331
246
413
240
122
697
377
223
117
591
418
358
287
907
438
181
185
399
348
420
704
249
552
31
346
612
269
186
107
291
233
281
339
356
363
421
566
341
481
410
272
344
325
516
332
547
357
335
731
50
123
268
700
306
362
422
142
202
463
323
644
406
373
318
512
598
51
565
267
36
745
323
451
551
377
476
109
417
526
298
416
380
365
350
407
139
571
561
325
706
447
322
503
406
383
138
333
530
675
1086
139
159
271
198
302
219
474
17
285
176
323
702
304
231
552
384
515
127
149
192
143
137
398
265
414
338
588
126
360
214
307
143
838
354
304
210
215
609
621
223
406
500
178
74
174
502
692
171
262
249
78
117
228
252
721
471
797
163
354
126
137
345
142
225
400
243
483
305
618
187
659
514
278
716
544
175
526
179
149
609
331
692
311
272
108
201
156
536
460
208
262
247
168
502
270
88
449
237
106
82
335
671
372
233
713
116
305
477
192
513
727
279
193
244
399
186
604
719
309
485
303
154
640
491
634
571
575
338
79
548
306
756
560
333
292
321
258
509
420
249
421
175
185
404
186
493
366
167
368
538
289
907
1090
77
340
169
403
150
447
450
525
385
431
305
532
303
137
436
121
525
488
680
225
157
1069
421
327
362
520
208
138
342
175
527
221
870
164
353
676
327
75
428
416
54
256
690
190
577
279
81
104
484
346
336
292
568
529
643
506
446
458
418
411
360
486
657
676
202
377
352
171
196
338
105
103
358
335
335
452
561
195
94
143
370
221
497
506
414
655
532
389
215
580
574
315
229
207
455
172
441
349
581
425
317
411
60
221
154
170
529
331
644
366
215
109
362
518
379
359
365
261
322
614
621
196
533
406
457
309
497
329
260
448
592
364
178
327
552
327
159
482
460
181
155
317
594
419
485
176
126
412
343
472
45
337
767
428
281
353
195
437
294
228
145
434
138
336
228
606
900
163
237
271
356
343
738
476
144
170
491
113
196
257
308
216
369
614
154
179
577
330
240
552
591
386
155
460
70
247
221
672
739
57
98
81
351
107
514
199
402
519
193
510
324
90
239
173
557
567
563
407
312
670
291
263
137
393
363
325
295
598
156
292
332
183
52
449
389
302
618
118
646
120
389
297
240
401
47
654
134
299
654
189
39
55
225
291
434
386
132
171
259
304
483
136
415
618
163
589
172
112
190
369
319
211
224
181
119
217
377
487
439
359
386
579
235
223
252
443
345
185
711
570
267
157
224
1119
188
346
149
442
338
424
182
456
265
271
444
505
235
246
316
346
542
126
498
1099
542
755
840
322
28
558
106
209
294
126
245
535
319
70
891
181
37
296
352
316
436
101
545
265
100
114
560
333
473
583
258
793
29
649
162
210
65
230
491
528
333
332
218
548
678
363
270
192
207
499
61
123
429
473
233
647
579
274
231
319
172
95
656
342
589
47
188
725
424
285
168
175
174
124
219
111
363
554
327
761
394
381
416
268
334
138
124
192
141
641
536
383
536
485
237
314
523
380
620
216
289
121
883
329
653
417
614
614
389
636
307
389
472
434
309
429
280
504
368
307
290
96
675
146
481
145
18
712
345
411
422
369
321
245
535
706
356
649
124
435
313
752
181
655
447
257
296
307
97
272
315
246
115
280
286
658
661
52
503
207
235
459
504
365
303
280
587
231
274
337
152
359
457
521
94
712
346
403
494
106
254
114
354
346
671
152
394
195
538
531
496
138
401
439
76
347
288
415
720
288
380
549
199
85
173
284
276
68
31
212
599
257
303
143
422
538
392
191
242
441
282
904
386
639
116
212
542
455
604
703
86
238
224
431
237
516
65
486
274
30
475
160
433
218
96
110
156
249
398
437
282
232
309
472
54
245
192
356
393
346
192
104
68
145
503
56
243
309
289
98
385
838
273
406
493
410
466
429
629
141
375
658
364
427
276
823
649
448
254
360
130
209
538
658
416
678
159
529
490
615
189
408
486
434
236
363
94
549
490
235
103
636
395
297
383
224
417
605
580
490
468
335
212
132
196
583
699
279
350
459
31
233
566
140
392
283
458
150
69
428
575
155
592
331
694
341
229
153
359
138
212
472
483
244
562
322
324
483
544
269
252
339
141
668
376
100
121
491
114
411
222
586
354
554
93
282
383
533
60
241
143
394
615
376
291
314
437
902
602
147
224
212
331
439
343
33
358
351
519
444
710
140
255
338
75
373
580
265
656
378
222
212
824
217
524
28
551
544
482
332
688
74
90
523
687
125
303
367
207
249
206
197
664
241
571
740
346
119
226
217
357
584
415
355
176
60
917
472
440
431
463
378
84
44
877
624
157
564
516
406
267
515
469
612
835
488
180
613
218
95
309
395
154
156
410
460
429
461
620
466
601
201
161
210
112
395
184
362
567
450
281
238
138
896
50
508
521
282
462
395
684
636
121
446
214
106
270
522
555
385
290
234
249
497
230
89
647
137
427
378
339
537
378
412
305
554
287
86
433
142
521
329
502
551
265
440
462
578
479
272
212
129
237
492
305
494
196
371
547
362
183
542
419
386
612
299
542
487
475
235
127
506
381
96
253
220
481
485
419
476
586
255
185
252
554
379
408
489
632
267
602
186
582
433
266
287
291
416
588
240
588
394
619
650
175
734
568
540
275
539
298
361
599
544
158
411
479
534
808
50
533
293
252
59
668
48
194
207
380
273
322
192
408
533
79
220
353
365
236
682
118
337
270
532
274
174
818
390
337
294
190
193
62
400
222
105
344
55
171
158
320
329
409
370
90
452
672
501
363
596
622
500
74
201
430
376
378
266
96
997
383
63
504
330
183
576
349
150
422
357
430
182
171
465
182
452
388
380
279
234
575
318
457
98
281
107
795
230
383
251
283
310
211
551
137
599
158
174
226
225
306
414
343
488
476
354
453
152
208
644
164
628
386
185
302
215
820
449
726
602
757
138
651
504
562
616
244
357
356
459
63
46
180
354
278
369
198
448
476
475
495
75
402
195
523
290
162
464
309
827
130
815
114
84
616
343
207
520
536
217
368
212
98
601
415
365
516
860
456
468
208
347
409
219
560
306
459
577
221
256
889
342
402
203
567
711
537
667
499
518
42
138
463
275
471
335
563
632
486
296
427
30
266
667
174
322
316
468
789
25
631
202
231
535
362
549
354
74
451
147
516
496
523
296
381
682
167
312
563
183
478
457
225
179
451
212
380
455
169
169
57
790
401
390
523
530
255
248
776
458
398
530
415
629
246
110
269
326
64
225
387
302
285
549
763
125
244
577
486
248
246
131
587
532
345
541
508
487
420
456
463
529
158
184
330
79
288
120
266
326
611
283
203
271
450
448
227
401
618
474
210
242
667
61
238
447
155
510
382
428
203
634
465
249
482
228
509
791
313
455
230
758
312
776
64
795
599
483
253
664
219
610
587
233
158
360
224
477
291
557
434
347
125
224
208
714
529
223
198
27
345
418
476
625
178
300
553
541
438
413
519
449
57
491
773
367
269
646
212
305
210
500
286
219
86
568
304
599
162
212
185
328
302
254
305
266
366
414
573
241
194
484
115
425
291
116
585
582
64
459
369
242
351
286
477
134
496
89
364
324
143
332
200
121
116
395
395
225
307
753
482
623
197
329
334
306
828
365
259
676
895
322
580
372
327
343
178
370
564
431
365
295
97
229
275
567
249
338
121
147
330
534
78
333
479
629
571
59
161
373
478
280
112
723
276
417
210
193
546
70
481
474
465
384
266
489
97
454
409
123
81
165
434
564
395
556
443
200
31
165
311
159
111
267
185
518
208
289
203
534
219
130
785
173
122
527
243
446
196
238
169
211
290
719
263
161
570
345
62
380
281
904
198
248
418
369
540
625
109
507
178
418
140
234
266
125
333
52
480
321
790
11
272
374
176
234
696
762
316
328
260
292
105
397
286
107
66
328
80
492
455
227
266
327
225
117
173
292
280
189
315
125
293
387
357
736
416
388
462
343
408
599
487
273
445
565
435
163
255
276
373
248
507
174
251
380
474
303
473
174
355
436
364
106
249
277
197
141
661
538
199
156
330
226
119
280
548
139
417
791
272
196
161
539
538
359
384
198
328
336
171
630
78
531
188
609
389
851
485
288
754
227
457
200
238
516
302
256
573
250
363
414
192
334
263
292
112
556
535
365
492
209
311
598
350
650
280
68
359
578
148
589
207
319
197
559
301
181
477
135
525
149
64
110
547
387
417
368
225
82
269
425
634
614
240
532
115
347
252
86
248
241
291
182
402
437
378
110
590
209
182
168
262
279
111
57
401
419
401
406
622
225
500
653
211
177
420
567
649
373
389
552
280
430
127
417
385
47
521
144
294
252
274
351
290
285
95
356
97
600
520
107
577
386
259
278
394
440
392
431
722
289
377
285
430
287
667
332
470
50
643
191
553
808
266
227
584
294
49
350
346
560
351
523
539
172
245
286
258
248
261
295
54
81
240
514
122
481
255
446
444
312
390
482
292
376
108
325
107
193
538
369
224
377
450
552
612
109
430
312
149
281
623
160
327
224
604
87
270
583
280
383
628
644
380
461
475
244
316
192
506
279
585
645
152
737
239
324
527
373
153
88
208
598
504
455
388
547
197
211
182
575
376
403
656
271
271
220
358
516
202
679
306
655
213
529
176
526
177
253
60
309
281
67
94
179
582
566
615
199
126
318
372
437
414
589
194
492
391
602
447
595
272
633
238
359
210
273
524
133
83
142
284
359
372
671
550
178
244
380
371
112
347
122
155
155
550
113
117
212
737
158
479
403
285
36
377
408
203
141
547
427
301
214
429
368
443
408
183
237
227
259
383
138
722
380
295
257
579
517
56
309
500
268
339
135
141
231
458
428
329
253
626
436
221
453
227
184
180
202
589
685
438
371
916
233
473
538
154
267
82
191
286
235
331
36
519
157
632
363
222
193
270
171
413
58
287
330
248
464
324
812
402
625
362
863
518
89
709
204
257
491
473
165
143
174
542
443
456
378
334
488
167
141
727
197
88
497
326
380
378
212
623
382
99
597
77
760
499
247
206
223
796
484
198
167
265
154
546
457
422
177
309
222
343
57
222
311
274
289
682
31
834
410
692
322
374
599
227
830
478
219
149
162
111
574
75
138
364
670
384
390
442
362
471
192
593
786
455
218
414
492
557
126
139
136
225
347
79
438
16
733
212
333
165
575
36
184
538
342
554
318
484
194
767
30
479
226
503
239
481
239
632
74
513
388
521
201
532
303
230
355
778
845
267
830
153
189
209
1039
479
348
278
127
431
487
408
556
495
211
60
111
91
290
322
96
721
347
578
219
244
367
313
356
449
579
81
217
652
248
270
409
284
360
688
219
405
312
291
225
399
353
538
190
92
349
582
350
523
90
663
358
261
694
575
298
535
113
85
194
166
120
107
221
287
401
333
281
129
244
263
199
282
58
177
41
136
360
531
200
86
438
216
308
397
464
256
334
436
569
97
49
353
453
173
282
422
119
44
435
234
152
191
388
351
217
201
354
212
74
479
279
553
277
267
443
483
182
153
814
415
346
585
351
126
489
303
157
243
567
486
702
617
348
36
155
362
194
218
546
329
316
260
110
52
515
165
301
724
219
481
548
587
59
583
241
525
517
174
522
422
305
252
93
684
354
767
590
174
57
616
134
283
23
148
108
533
482
203
508
397
574
401
739
241
476
463
339
477
386
142
400
682
529
414
55
202
300
637
336
50
107
609
440
105
501
552
522
418
252
452
232
244
132
499
329
608
627
441
310
724
124
825
82
478
275
130
77
264
750
670
185
270
682
279
261
354
1110
107
134
534
393
407
306
124
279
487
63
325
83
647
193
388
522
64
315
285
517
417
512
356
117
433
313
307
619
253
360
197
320
80
112
57
329
275
278
163
57
583
542
273
159
345
113
207
372
247
231
512
365
374
656
526
606
358
196
166
318
703
738
245
415
368
542
408
430
639
386
450
639
109
61
125
162
144
541
422
489
489
215
309
367
1077
687
434
80
495
305
193
379
248
272
177
502
368
225
762
232
494
346
654
165
526
331
223
355
218
357
309
364
256
291
233
210
531
366
786
650
428
746
217
674
496
193
328
55
386
413
528
165
440
275
302
545
163
431
476
734
157
359
184
389
252
204
47
289
532
191
556
153
364
384
186
702
481
406
623
660
295
191
349
530
193
89
568
31
299
668
450
385
558
60
560
628
178
572
465
438
556
223
338
233
642
598
227
612
378
264
617
140
668
44
192
552
488
168
420
167
463
235
650
335
523
332
109
439
192
353
443
768
382
486
823
695
139
353
139
242
561
288
301
145
89
761
263
392
247
308
263
211
274
566
368
472
580
288
331
323
175
316
61
208
45
300
197
281
252
56
349
373
296
481
302
365
454
145
236
334
139
298
94
186
317
148
212
162
291
474
163
242
271
485
240
180
581
362
568
335
129
99
75
412
197
230
135
160
181
346
59
661
410
352
353
461
391
283
340
402
228
105
322
243
427
706
629
358
381
574
269
265
397
264
267
291
208
616
352
582
622
602
609
306
216
436
307
525
285
439
331
296
668
309
457
548
346
262
735
483
81
330
243
490
165
345
399
629
568
88
632
219
761
349
531
561
194
357
447
290
257
339
531
565
140
661
74
218
637
216
189
176
444
423
330
272
282
326
439
492
113
396
177
362
195
406
201
404
611
86
559
146
255
316
92
83
627
226
293
553
608
650
469
227
306
266
265
1124
275
183
249
264
360
338
249
204
586
51
367
305
423
315
88
811
117
388
490
752
195
480
523
288
209
465
167
368
272
469
380
486
161
598
209
371
662
411
335
174
318
568
385
526
377
596
377
300
810
372
552
87
306
498
308
213
222
71
486
664
192
331
199
509
418
217
134
548
588
554
576
441
581
278
226
274
386
369
185
147
59
162
364
255
785
520
413
63
482
584
367
163
271
698
37
307
398
708
503
343
292
475
300
240
85
233
192
175
123
147
319
174
314
64
299
132
310
38
426
293
329
781
370
389
165
413
274
456
159
496
125
534
114
289
315
279
308
440
392
282
210
105
531
542
870
70
273
262
603
868
362
384
493
298
224
528
362
592
730
449
84
150
173
552
344
259
58
467
481
461
237
723
196
261
44
141
192
320
170
497
579
56
256
275
391
417
196
596
685
219
105
626
201
362
148
307
285
180
563
716
469
198
101
539
417
629
512
67
484
258
160
525
209
232
712
464
440
173
313
89
658
282
318
186
387
115
71
266
303
668
324
101
312
385
273
93
262
308
604
275
350
430
506
424
499
271
309
468
485
157
497
418
374
409
545
470
189
266
357
495
221
75
577
626
197
241
432
348
399
388
482
717
467
476
380
409
323
158
189
448
209
58
549
502
80
84
770
114
332
506
302
230
338
497
62
325
55
407
356
714
168
421
373
76
733
314
330
160
283
423
617
787
576
394
728
97
881
275
263
463
458
253
391
372
234
62
260
144
590
174
115
40
446
496
212
414
341
178
233
27
405
430
145
213
341
313
523
209
163
513
468
210
212
30
399
392
429
317
194
538
182
224
446
188
107
305
241
325
802
645
443
347
208
163
732
625
404
559
539
470
501
311
55
325
336
531
201
597
279
750
290
79
301
366
181
312
479
349
473
194
291
142
69
143
336
289
248
164
167
714
364
118
336
396
135
62
541
202
61
700
340
198
567
310
421
289
549
385
240
378
457
150
70
316
420
514
361
231
220
226
260
67
340
697
538
465
37
539
331
414
287
401
234
254
458
632
617
195
250
80
197
507
607
68
327
159
241
573
793
434
407
121
263
309
308
603
443
661
402
669
135
214
79
679
432
409
181
462
432
490
454
342
312
262
145
533
503
475
392
444
168
346
219
558
481
559
575
318
365
251
191
641
509
30
815
304
312
544
496
257
305
59
160
348
565
461
348
343
421
231
183
533
54
471
196
279
121
636
374
396
347
193
325
247
485
437
176
334
217
367
832
193
145
438
445
71
245
405
19
67
554
175
431
66
144
22
272
149
411
225
289
251
686
481
448
324
998
507
71
290
401
348
679
391
579
538
204
231
41
440
509
161
403
214
553
434
720
318
522
254
264
166
490
194
210
313
155
368
260
385
379
335
378
351
322
236
588
351
369
325
278
405
125
727
40
220
158
248
370
313
213
362
490
393
68
53
360
579
344
868
961
292
176
239
529
47
587
384
230
183
264
235
346
267
200
422
626
520
261
131
595
308
434
314
372
374
569
72
591
238
769
252
292
13
639
164
184
546
218
281
410
341
217
418
350
330
395
447
397
220
241
546
346
271
244
318
680
85
185
251
267
233
346
327
728
491
373
265
158
209
490
421
297
344
478
173
253
215
275
114
185
646
89
98
269
307
318
705
48
173
109
331
195
306
394
132
272
72
472
566
363
522
748
382
613
73
322
485
168
180
403
142
135
386
281
579
224
265
486
355
357
347
1037
749
398
306
554
514
120
278
426
248
341
133
416
368
258
217
495
249
157
219
699
566
547
326
882
508
218
449
556
685
282
592
101
539
607
314
474
352
104
408
341
311
116
50
690
315
291
293
165
553
557
269
388
367
275
413
206
454
321
594
374
200
412
569
554
486
330
291
795
580
345
616
256
286
196
251
460
317
809
136
480
788
489
478
139
175
478
395
278
69
169
883
786
517
622
260
510
267
166
200
49
189
275
89
310
227
118
666
337
529
492
514
453
365
313
87
250
280
467
236
105
47
257
445
69
514
508
214
164
439
257
594
105
704
465
424
19
428
495
263
401
147
772
206
426
36
453
237
549
139
504
58
760
208
179
578
550
157
464
571
199
336
473
532
596
287
148
54
443
807
152
380
486
487
545
214
198
370
190
434
323
256
300
381
169
141
659
380
625
208
241
162
322
219
256
149
536
797
521
167
587
261
262
400
23
356
268
458
459
715
318
288
834
442
578
524
436
676
155
440
175
486
437
80
259
372
200
447
544
133
580
545
330
499
358
62
440
239
535
491
648
102
343
93
600
123
560
139
289
464
493
176
465
466
56
452
530
357
532
316
55
468
282
494
412
177
533
477
400
369
100
491
411
100
370
59
167
99
412
172
306
282
244
496
157
242
436
167
237
229
368
208
448
181
332
219
497
131
149
412
413
572
438
60
524
309
386
92
477
249
228
800
257
435
692
194
364
98
301
393
490
502
268
128
115
449
140
149
407
267
564
375
303
412
46
260
715
490
546
268
643
627
99
397
304
497
370
377
148
132
208
344
434
260
451
387
307
61
98
147
214
423
467
190
267
709
194
283
155
369
18
427
277
403
277
115
177
243
335
421
495
87
662
262
540
409
347
234
65
599
168
464
290
719
429
222
327
530
953
145
414
447
113
210
527
303
491
227
571
99
404
189
382
162
361
344
457
709
349
248
496
853
251
343
366
280
425
408
49
457
634
156
69
219
438
551
658
171
358
699
470
103
371
109
222
360
311
704
586
372
432
480
744
572
359
133
361
348
128
116
317
477
358
508
289
624
491
253
389
356
197
489
615
362
640
175
246
213
188
213
428
461
128
353
95
557
243
262
97
540
432
412
181
280
593
439
373
242
382
280
252
209
323
128
672
323
257
694
262
576
364
689
266
880
379
240
584
94
425
153
90
713
301
258
383
36
530
269
620
274
467
519
55
307
253
208
228
331
234
153
409
537
101
244
146
323
233
304
151
584
248
274
148
349
442
258
723
170
258
680
149
343
546
271
293
334
584
523
373
133
459
546
562
570
363
276
452
224
477
342
328
526
497
458
155
433
276
395
211
409
59
138
480
162
164
284
373
355
205
99
527
220
364
148
492
286
228
285
267
387
138
165
564
416
332
354
149
381
432
119
247
286
409
143
290
238
365
591
601
75
174
770
226
567
419
50
321
54
348
390
334
556
197
548
15
507
408
523
273
230
557
242
541
483
108
350
276
149
240
470
126
999
204
163
353
817
276
226
213
227
555
568
284
149
209
194
150
209
742
250
234
108
159
356
379
306
707
85
451
437
233
325
575
110
202
362
390
524
199
385
230
414
517
358
120
235
345
375
255
299
743
593
300
580
315
271
163
130
549
232
539
833
360
564
506
247
425
393
682
506
353
245
672
353
221
42
220
398
286
315
247
340
27
242
835
88
175
382
363
412
56
603
153
571
258
110
637
258
294
299
118
293
309
365
406
175
711
615
478
162
632
77
129
380
400
631
119
268
556
288
834
452
327
339
579
299
513
606
302
199
203
560
215
296
612
524
19
47
210
218
396
342
581
239
479
310
490
636
281
349
406
312
358
198
766
123
526
475
204
358
287
103
271
578
638
277
137
101
285
253
115
141
287
392
197
90
836
126
274
241
183
324
156
280
638
391
122
294
693
669
161
288
331
150
389
430
359
875
191
141
39
653
285
170
583
284
580
291
336
553
600
644
303
518
661
487
222
152
503
255
681
266
625
276
420
387
730
364
240
282
727
536
394
204
189
224
48
886
318
418
235
279
529
656
340
343
269
350
290
455
580
141
253
569
399
338
309
426
378
893
268
51
391
347
199
372
477
423
170
465
333
76
87
503
582
242
402
273
413
72
337
564
531
673
220
1049
597
447
426
203
535
731
659
430
145
721
515
610
452
599
179
308
161
141
573
286
272
26
329
199
593
390
53
483
350
470
377
710
251
408
172
314
236
368
150
183
431
442
290
394
369
432
347
214
72
229
432
695
470
227
222
349
238
492
69
116
72
502
153
143
306
82
519
432
321
524
255
196
324
409
345
260
76
466
88
545
824
556
835
350
621
109
308
194
269
519
507
409
218
21
365
344
663
385
64
298
422
838
386
804
31
284
248
94
499
148
663
202
349
505
259
229
78
88
194
261
346
513
355
116
345
638
495
602
205
435
617
729
92
27
484
291
460
97
305
299
130
158
374
512
502
453
388
261
179
195
335
270
418
288
667
200
441
746
815
598
84
471
384
509
373
560
146
221
553
447
142
396
583
16
115
133
553
522
312
530
172
235
193
402
433
714
247
858
547
442
227
416
60
341
320
376
227
44
364
502
337
210
232
187
382
354
309
458
747
576
330
676
307
401
364
565
581
336
365
262
176
166
416
415
372
210
191
456
443
528
588
516
685
85
604
191
148
298
231
98
223
547
213
382
379
179
304
135
407
274
99
327
430
128
156
355
103
121
381
336
525
387
342
202
38
477
334
352
285
197
330
376
264
494
339
414
435
371
717
652
415
205
60
191
338
291
235
141
334
312
159
558
634
280
344
362
430
96
412
430
342
328
312
126
382
620
470
269
304
408
500
140
462
313
243
443
737
165
144
255
204
465
306
89
61
357
466
442
46
69
115
127
669
169
458
538
112
403
648
59
238
305
325
474
307
344
147
520
546
520
131
144
322
114
198
147
81
216
434
49
203
442
682
105
323
132
418
382
770
206
490
211
556
401
529
344
557
313
252
266
493
672
380
464
387
794
107
561
321
452
168
314
291
554
118
280
116
442
361
483
759
366
769
444
287
375
514
46
536
423
222
220
640
371
129
159
558
624
354
312
356
434
161
669
778
117
632
412
97
129
73
496
173
552
337
413
254
596
251
363
624
249
478
326
285
173
547
432
292
628
352
234
258
610
317
374
341
762
200
264
495
182
208
516
50
105
342
581
706
347
183
198
370
600
73
505
46
350
200
275
147
230
123
528
471
168
282
698
514
300
372
404
542
221
310
326
296
317
182
424
58
356
444
170
362
806
211
211
119
467
441
149
94
292
840
234
332
278
44
516
501
375
824
296
64
441
623
334
319
184
437
1096
104
435
472
643
382
215
396
370
212
666
219
146
554
149
547
188
231
592
326
785
280
579
549
468
224
81
219
196
388
658
520
104
682
267
223
283
121
298
441
160
421
495
201
70
521
362
367
150
113
672
126
456
35
634
529
578
478
139
260
480
621
253
34
429
278
593
428
527
365
343
472
161
838
525
366
615
453
269
207
286
70
823
294
853
389
387
137
227
503
464
235
572
512
536
182
314
394
182
473
135
575
149
66
165
152
137
478
225
504
254
487
773
249
464
517
706
269
83
514
264
28
385
235
252
590
763
188
364
383
478
432
57
175
153
152
435
120
418
202
303
475
536
526
119
530
737
662
515
338
118
435
185
266
458
160
506
178
283
213
234
599
324
255
330
235
221
96
85
263
367
276
309
278
11
171
86
504
81
514
160
346
376
447
324
218
176
342
139
263
35
250
105
133
222
71
379
305
326
460
365
51
748
313
220
224
691
209
58
446
168
323
258
802
78
141
356
506
78
338
676
129
325
49
733
576
93
481
598
265
426
495
528
412
227
155
251
197
508
672
116
618
193
136
296
160
406
354
458
427
486
154
168
186
264
358
843
17
341
400
439
184
300
198
477
198
413
383
229
512
531
569
500
233
262
127
350
329
448
301
239
411
370
336
326
363
246
109
483
647
616
333
162
574
479
217
590
108
128
641
645
182
678
295
349
51
562
351
31
155
110
47
350
491
801
167
101
331
386
123
354
555
368
261
168
267
218
140
241
336
304
325
444
23
166
264
190
167
476
714
546
176
388
322
377
714
339
312
295
251
531
320
133
254
105
494
688
32
133
199
370
142
512
654
205
328
338
311
999
304
850
587
348
415
144
259
387
196
278
167
241
251
477
279
320
603
632
173
39
440
173
239
66
722
386
299
674
772
102
348
569
391
241
243
244
425
250
242
53
603
793
313
370
521
401
543
151
344
713
302
283
457
436
751
243
452
149
265
383
459
297
649
795
505
548
486
33
145
59
131
509
269
416
225
645
329
169
473
470
165
305
251
352
460
438
36
438
421
389
220
389
513
308
448
129
418
171
127
264
332
409
397
304
437
375
195
259
207
468
287
282
163
786
251
423
434
331
449
290
425
72
516
392
208
349
25
89
442
170
424
352
370
90
126
317
60
648
475
139
406
320
844
818
185
160
199
714
408
899
314
427
615
441
124
389
316
426
128
273
262
339
364
318
202
602
474
493
355
366
93
486
589
307
534
351
256
365
267
553
430
701
613
263
557
387
585
339
422
554
553
216
308
298
519
325
316
554
69
556
308
419
175
246
255
299
583
201
281
507
143
258
670
571
222
240
143
799
570
216
647
687
105
326
119
306
150
179
783
326
367
527
421
304
513
682
741
152
522
354
230
727
255
415
784
465
284
231
597
501
62
549
109
609
207
217
39
304
547
657
451
349
331
355
118
595
80
308
582
456
121
616
412
228
522
250
447
286
504
668
415
276
515
663
370
323
528
341
145
64
601
523
280
150
634
211
64
230
340
214
190
517
314
489
256
228
588
265
81
452
513
566
618
272
133
351
290
516
355
239
429
572
590
513
533
55
479
276
586
249
336
448
343
85
101
784
209
58
611
452
311
612
165
208
496
297
308
381
296
714
168
380
457
325
279
442
212
248
99
559
324
295
102
138
133
155
170
270
483
63
173
348
151
457
328
350
485
961
622
566
414
60
435
381
391
374
775
109
307
671
163
374
119
416
204
181
257
627
293
367
65
493
613
585
162
564
442
231
353
347
365
308
156
249
424
915
325
159
230
288
550
115
287
271
794
133
702
604
103
676
129
721
387
373
407
268
104
376
420
212
228
269
615
212
164
175
286
606
684
536
231
97
313
373
232
543
192
292
173
224
269
616
498
82
340
752
282
506
505
271
844
427
224
127
297
663
314
501
63
126
214
382
577
619
136
609
466
242
102
234
24
328
66
189
410
290
544
721
353
213
267
507
727
407
424
483
444
162
15
276
78
459
346
531
680
524
823
501
547
207
288
156
326
439
504
230
377
105
413
153
362
162
677
46
139
178
514
733
460
15
228
137
371
283
432
106
322
380
317
325
532
109
288
290
12
292
615
121
819
68
165
356
714
156
583
486
68
408
153
489
460
175
300
136
280
231
269
438
449
159
63
358
359
699
477
481
397
338
572
225
287
402
531
199
168
284
453
473
559
432
527
655
428
538
138
414
87
301
333
478
66
321
619
208
192
203
146
536
508
230
314
161
226
437
279
738
214
258
487
578
704
507
257
144
376
202
208
399
109
679
462
291
274
551
185
284
406
580
401
205
314
373
426
521
41
489
344
192
269
193
247
276
131
388
359
122
461
332
610
445
427
353
51
368
504
642
736
56
300
430
312
267
433
268
648
421
614
416
351
554
243
398
659
427
372
673
267
802
430
488
586
337
109
534
211
704
484
434
357
531
649
206
31
280
464
823
531
102
503
243
663
344
233
107
490
661
666
563
121
189
126
415
79
593
672
350
334
333
112
358
403
372
36
420
135
188
74
181
23
641
177
566
465
461
340
295
138
500
466
131
347
348
62
411
268
517
443
231
651
229
558
116
246
206
273
1028
372
502
146
1120
572
348
428
310
357
612
349
218
592
552
542
324
129
722
72
533
248
379
173
605
375
341
142
254
144
275
512
496
241
244
537
283
501
333
36
198
289
130
888
262
116
256
320
377
450
500
276
353
492
441
986
450
621
390
146
116
457
427
200
404
789
537
592
136
467
130
601
915
280
208
473
812
290
544
194
176
181
307
354
71
371
157
496
256
556
246
695
434
195
795
168
424
479
264
90
351
769
554
262
390
662
212
303
90
39
568
249
230
611
168
138
75
453
358
240
547
312
360
144
118
59
133
249
713
145
207
185
644
238
275
695
253
468
458
33
371
153
295
143
116
214
153
266
145
477
67
491
295
483
225
505
271
203
470
686
702
213
405
131
369
356
189
575
564
283
288
426
286
529
339
248
504
28
786
417
578
676
488
802
339
392
509
141
283
389
340
215
825
233
388
366
373
518
148
96
119
248
546
288
504
36
251
778
201
176
171
174
257
347
304
787
187
113
383
353
570
196
476
545
202
553
314
212
733
150
415
310
156
37
680
606
497
50
344
391
152
292
525
614
259
174
248
376
233
208
463
308
355
429
784
255
380
248
233
230
482
56
582
600
117
332
680
600
318
558
366
791
81
280
140
246
588
162
374
275
668
401
650
320
544
202
596
586
171
564
266
485
161
88
403
182
619
300
69
621
420
973
392
981
504
238
743
468
219
298
419
366
290
528
234
270
151
619
292
211
707
161
245
244
161
390
573
287
66
164
234
597
406
257
145
428
458
233
428
598
380
418
367
807
510
601
820
496
405
221
205
405
453
895
453
211
118
343
562
390
59
417
549
196
162
221
112
219
581
402
229
499
149
287
524
443
194
378
310
112
502
186
551
189
342
433
126
282
582
367
645
72
387
307
811
101
191
229
389
373
345
137
450
836
347
353
441
187
397
391
336
114
551
94
369
784
634
96
580
348
169
591
678
322
57
220
517
299
215
247
388
305
596
263
231
195
263
399
33
436
382
28
370
429
137
332
444
555
118
439
341
653
469
466
278
383
454
557
396
285
247
559
572
394
371
555
593
50
309
593
151
140
308
540
342
754
355
413
281
619
363
791
422
561
458
827
237
408
160
423
640
167
352
269
84
295
367
223
126
407
461
300
467
787
586
807
727
209
121
284
297
227
696
99
277
83
191
149
449
398
510
482
207
183
224
79
397
349
490
486
438
130
583
457
237
257
249
595
94
454
390
384
394
518
357
161
405
214
732
261
188
182
253
311
268
490
426
385
642
263
404
483
85
500
327
95
739
109
263
284
435
374
816
637
312
92
353
173
584
169
301
95
575
482
567
110
119
313
275
268
171
53
289
410
178
532
374
67
299
540
411
145
88
81
296
388
392
313
413
547
674
475
787
215
342
197
376
854
309
561
198
279
418
176
353
555
489
462
158
454
383
523
231
363
173
496
380
296
226
503
307
87
266
655
278
721
219
334
193
71
312
428
339
349
508
189
193
342
766
197
504
401
307
250
158
330
404
522
146
514
293
527
567
209
642
77
140
765
107
495
594
127
208
284
90
76
382
612
166
665
915
380
569
786
163
120
347
733
361
333
345
175
572
347
403
242
131
266
135
245
362
190
658
246
151
555
450
166
721
101
244
148
275
499
123
316
116
415
340
391
355
745
86
343
699
546
149
343
546
123
459
286
351
1120
467
416
371
69
211
351
336
478
101
500
525
384
149
100
310
146
292
266
509
218
83
441
49
564
393
410
456
282
324
629
217
380
416
89
480
78
125
236
283
395
449
442
215
242
617
365
222
588
223
322
683
180
649
244
831
1041
463
229
412
373
655
187
384
296
494
52
376
318
606
252
120
322
512
508
332
366
389
363
151
275
101
504
71
578
368
199
469
761
115
510
100
180
626
474
23
372
197
829
386
389
326
240
613
406
449
397
409
204
218
308
209
710
441
179
240
272
725
493
806
296
678
330
272
587
138
347
180
380
440
632
204
223
382
29
415
161
197
452
15
271
555
302
111
258
337
260
172
435
149
137
340
353
387
495
193
160
128
329
729
371
344
200
207
405
310
253
511
140
274
320
175
667
373
316
507
450
276
379
259
146
531
132
562
282
151
469
159
384
335
478
217
523
274
850
504
351
190
586
389
257
268
478
328
605
439
102
303
311
432
351
443
274
84
323
247
359
134
116
278
531
145
312
484
380
487
227
226
446
173
444
33
381
460
482
168
35
164
286
661
101
411
334
239
197
380
358
505
213
465
228
49
476
114
484
670
314
154
377
764
236
509
254
107
308
585
163
493
281
411
330
627
319
176
449
327
367
207
355
227
535
278
170
349
51
174
576
300
508
247
598
770
306
618
362
375
72
254
723
400
552
405
676
693
303
278
336
100
172
140
262
514
128
114
510
155
209
537
143
422
508
170
453
152
566
271
239
308
716
338
802
217
75
631
365
189
555
172
350
380
215
708
91
433
124
86
33
145
302
421
542
382
915
638
374
239
513
141
251
293
271
122
489
860
172
71
606
642
299
467
330
430
348
228
374
320
485
210
219
664
574
530
283
423
146
191
152
710
373
364
365
515
632
110
602
216
279
817
263
218
448
382
435
165
335
50
306
463
508
75
482
573
598
178
403
423
637
574
92
410
215
685
316
532
552
350
153
546
213
248
36
486
469
540
230
490
480
562
621
77
439
417
239
330
367
163
312
213
470
44
472
342
560
504
437
90
537
115
154
285
353
527
483
588
117
688
196
129
262
62
342
267
652
382
208
356
308
398
104
689
413
387
388
153
346
179
227
334
389
189
851
494
444
279
411
113
330
456
482
190
461
140
168
115
399
560
163
111
652
370
559
328
136
173
386
138
328
582
368
441
200
375
491
574
149
529
398
457
255
704
530
504
294
434
552
411
76
589
490
507
307
68
488
135
391
118
77
136
219
768
581
146
507
408
332
389
511
833
348
490
218
275
246
400
97
496
360
232
14
351
563
37
265
189
425
202
401
216
414
704
490
244
167
94
383
234
142
157
344
273
304
197
216
323
244
911
200
311
338
1107
435
397
171
442
242
180
364
22
562
400
504
762
392
359
202
205
238
432
92
297
178
442
179
490
370
607
166
620
184
342
474
555
67
608
238
53
236
435
628
248
164
201
396
401
677
113
204
151
50
437
109
143
209
371
425
399
454
197
263
61
256
646
173
351
440
115
73
113
557
395
545
219
650
415
714
811
477
372
162
315
183
119
193
278
618
619
484
211
497
351
526
449
343
140
164
92
775
519
374
155
422
492
257
415
183
106
203
410
105
722
95
341
310
347
252
383
525
416
358
453
60
376
512
333
188
170
236
560
72
155
344
429
270
382
358
360
558
338
278
167
705
509
331
413
86
282
169
677
438
243
450
349
183
277
282
473
549
217
451
283
480
284
190
12
386
404
252
61
518
108
425
343
370
240
352
447
416
726
517
184
681
339
363
233
117
239
149
209
166
412
361
375
430
281
196
449
264
815
363
449
408
129
239
65
152
338
359
153
294
261
335
199
413
381
341
646
82
417
311
651
69
97
140
398
217
398
134
767
645
380
753
754
407
441
428
242
105
446
470
513
99
97
477
259
465
343
280
629
66
718
493
154
281
592
193
290
181
472
661
336
410
113
391
95
239
424
497
186
428
332
352
315
900
450
270
326
139
861
257
260
127
662
280
481
916
285
356
172
325
533
479
265
216
590
385
560
240
282
220
107
349
322
435
516
106
358
351
510
38
147
464
482
299
140
393
246
181
181
480
566
519
362
45
218
401
636
178
657
837
515
187
846
332
205
307
302
332
80
497
531
172
361
328
211
168
349
544
443
190
567
478
132
647
501
252
260
369
192
317
294
371
64
162
363
126
742
56
309
295
580
441
351
803
442
304
279
119
723
426
521
495
356
377
337
326
344
71
385
530
363
552
538
605
507
156
303
170
360
91
229
442
314
169
485
809
292
345
234
503
772
106
263
819
318
126
106
661
237
131
177
421
50
411
69
332
485
394
235
292
658
279
151
431
879
207
704
156
644
274
220
178
216
48
55
14
375
345
837
236
265
273
684
296
730
370
470
348
412
236
38
379
605
104
585
35
198
158
571
517
516
204
185
410
213
364
187
78
488
185
400
198
209
476
574
155
528
168
267
252
227
367
710
549
227
487
473
584
250
262
309
247
226
451
656
762
196
70
176
208
322
730
495
251
275
252
449
358
195
654
386
362
93
246
396
278
622
443
240
765
676
58
129
174
264
616
282
135
131
624
149
113
190
289
455
239
380
352
369
558
217
108
143
138
363
247
414
362
518
443
147
486
80
227
815
267
393
289
65
397
451
257
902
224
123
687
293
351
396
498
602
453
350
479
456
553
404
402
193
439
226
333
247
612
538
485
445
376
231
333
72
370
501
167
409
97
389
664
97
354
413
438
615
477
394
404
535
282
334
365
337
311
394
184
539
310
391
756
358
300
447
583
468
97
228
496
649
821
224
146
574
142
119
482
77
293
264
340
397
275
773
99
363
206
274
194
340
138
487
314
519
130
253
38
543
470
196
486
568
459
365
275
337
692
344
157
532
537
70
243
211
281
673
690
257
146
522
617
161
218
298
658
459
668
130
394
385
224
256
257
270
425
496
569
513
228
467
286
73
277
537
603
76
284
240
840
728
175
201
370
549
474
150
334
463
167
221
624
209
92
466
299
108
117
489
77
144
595
600
594
176
414
585
588
170
387
530
537
285
182
57
179
128
468
686
128
251
29
384
801
34
398
513
193
450
52
357
454
672
566
207
281
350
274
219
262
386
350
90
249
249
664
244
106
387
472
281
244
392
420
912
191
545
805
233
118
161
212
301
166
232
629
294
275
840
404
105
283
296
88
880
283
731
341
233
233
74
251
219
785
94
73
163
237
238
458
562
544
591
181
201
90
774
418
337
258
443
66
576
216
255
17
162
536
160
52
209
45
392
187
186
244
605
77
271
625
312
114
407
293
438
256
89
771
145
169
675
286
411
190
66
620
297
166
607
169
255
413
468
491
325
168
281
268
802
487
438
389
160
257
500
760
332
234
353
74
288
62
291
367
476
228
211
105
196
336
779
364
214
493
243
94
394
266
187
215
369
438
385
223
324
390
408
363
342
291
302
95
72
93
439
311
29
364
693
272
406
333
398
295
492
234
42
605
148
73
238
736
265
331
597
208
286
231
459
258
166
312
407
236
104
477
321
107
477
707
132
489
207
693
337
354
341
416
423
149
304
647
351
287
816
71
356
300
218
316
823
236
578
296
730
82
188
237
211
668
531
135
232
515
736
441
548
573
506
97
523
583
465
766
94
555
478
542
490
495
248
332
337
390
185
217
311
245
673
417
251
235
294
586
309
354
454
291
159
250
378
496
245
591
682
761
559
220
153
322
324
512
588
829
621
295
491
439
341
244
486
430
209
766
180
364
163
271
386
497
243
811
534
207
228
432
266
493
447
493
172
538
148
212
570
320
156
226
163
812
262
534
412
349
317
725
488
194
504
212
144
209
244
584
1027
284
525
232
195
412
63
419
252
537
580
404
539
230
419
279
442
259
482
697
91
184
279
161
233
215
255
240
225
748
366
444
180
86
362
461
238
261
522
575
379
493
357
268
373
193
486
156
503
220
387
689
317
258
252
639
550
449
788
476
412
230
528
350
257
416
493
284
541
614
524
720
526
83
85
428
427
454
293
208
681
618
662
40
492
62
290
215
513
216
578
416
492
445
195
644
465
79
134
590
323
310
55
281
268
186
631
474
152
260
330
444
939
360
715
625
160
304
611
90
259
261
505
448
228
183
357
473
228
137
146
557
544
137
268
278
82
181
214
571
49
156
158
458
314
213
499
501
473
372
332
224
329
85
204
559
538
153
329
797
787
231
440
91
590
103
164
355
167
465
290
123
222
386
457
679
324
433
534
494
541
360
362
118
165
451
256
496
125
327
441
261
284
161
724
208
264
229
507
585
140
325
419
278
241
238
245
62
887
197
495
68
304
343
64
329
359
186
517
60
267
356
410
194
288
282
244
509
570
86
439
327
370
269
447
411
296
348
288
43
442
381
407
186
376
288
264
297
243
987
294
143
347
347
267
258
628
216
947
197
542
360
443
309
501
820
98
248
78
258
413
144
332
457
149
46
120
740
245
217
223
313
744
210
77
347
424
529
740
415
506
485
288
69
37
393
286
413
93
299
340
397
618
205
509
65
608
91
145
554
363
354
144
31
250
99
101
42
683
488
209
58
390
17
509
463
209
174
296
777
367
267
343
158
288
548
414
197
294
257
446
155
51
505
561
549
478
129
622
698
444
159
243
122
210
352
235
152
555
424
690
410
573
511
484
568
377
343
16
263
229
214
187
459
525
356
682
399
287
537
426
512
307
259
264
282
264
450
286
197
197
640
466
187
684
140
197
139
210
380
290
698
408
400
72
469
374
153
199
146
532
539
239
504
360
128
386
419
196
304
340
378
273
1046
320
363
288
529
281
211
348
573
549
245
208
293
416
186
408
143
822
479
123
124
446
513
214
269
68
305
293
415
441
144
91
293
258
330
301
294
304
343
201
173
415
461
497
168
513
94
520
294
1094
559
287
207
308
194
89
642
201
151
268
128
146
233
559
214
432
191
578
836
847
304
555
294
148
90
355
68
528
233
339
597
626
279
212
613
410
355
568
300
164
384
401
421
297
344
894
405
205
514
450
461
572
300
821
237
293
153
167
204
282
500
310
69
496
209
394
261
258
496
900
540
807
231
251
141
370
109
93
156
288
237
268
623
278
37
469
187
145
197
690
543
228
334
94
296
254
283
257
118
371
464
458
348
530
299
652
247
393
28
502
162
825
358
534
253
230
440
369
167
200
392
197
565
206
524
670
109
579
729
445
57
180
256
84
195
347
132
164
435
99
494
323
330
456
345
567
336
281
256
438
149
589
330
232
620
347
160
542
97
342
394
369
381
261
151
690
846
654
421
355
605
351
369
543
257
491
282
388
373
158
317
430
505
416
340
244
118
347
156
157
560
467
276
343
404
248
802
580
458
568
397
544
374
170
184
566
215
313
486
381
693
125
606
462
52
246
207
203
382
741
510
80
225
426
228
645
341
66
484
363
608
594
686
328
195
799
638
351
185
505
474
559
245
367
154
105
290
241
184
512
318
395
731
597
283
210
650
309
280
280
235
253
185
204
42
787
458
255
578
620
203
267
628
227
131
546
632
239
24
362
559
405
185
225
127
684
356
103
401
46
393
255
627
436
351
254
235
416
439
136
58
175
161
537
150
168
330
787
245
291
204
212
251
132
628
49
533
328
401
85
159
273
636
867
87
650
366
288
493
161
54
187
267
133
227
213
442
132
202
408
233
81
281
368
153
77
228
135
266
229
576
712
155
466
474
668
391
96
819
532
279
389
209
220
565
222
429
368
460
267
535
215
87
200
530
407
111
265
482
191
193
574
238
312
471
325
268
183
727
68
275
190
705
689
599
367
727
90
140
389
313
512
206
313
728
437
311
436
149
257
47
122
626
345
70
529
373
545
257
671
395
480
262
279
576
319
451
140
283
688
391
133
570
1083
422
503
364
79
205
739
132
628
620
705
395
386
113
786
400
416
80
184
342
250
122
392
751
166
122
285
161
627
220
771
272
239
189
222
265
510
76
636
250
306
360
411
719
122
84
120
279
424
443
291
423
316
737
98
278
202
380
525
785
234
555
363
368
269
725
432
847
444
177
554
102
237
621
480
383
241
618
345
445
284
365
232
240
377
338
342
41
774
314
432
349
103
564
308
406
581
345
398
311
279
539
575
155
305
473
594
424
298
182
310
827
807
303
241
222
269
261
285
433
305
302
274
331
229
56
212
651
387
237
248
564
512
308
372
491
421
257
103
228
552
276
238
251
176
478
330
260
607
318
168
556
565
257
486
139
233
255
542
445
563
225
257
481
414
277
485
733
552
349
503
128
359
353
59
247
167
234
628
848
272
380
429
230
710
372
418
195
507
344
443
370
376
231
486
416
635
433
533
387
579
882
410
329
526
444
405
351
572
533
554
213
664
676
71
246
573
300
594
555
658
184
385
289
86
381
441
261
59
346
286
442
369
329
409
216
648
298
417
614
338
600
59
119
223
134
200
190
330
185
211
340
355
276
504
217
643
530
452
226
592
329
161
160
343
162
237
37
59
323
446
273
298
728
284
95
256
102
250
489
329
345
340
639
641
315
390
299
88
323
212
106
282
93
448
134
70
86
111
191
286
90
239
401
367
368
202
100
283
472
501
408
318
193
635
50
168
397
859
359
195
290
245
524
346
160
245
516
802
497
203
368
512
234
108
300
369
650
171
523
198
371
639
183
261
312
213
205
467
433
275
222
743
427
430
326
146
88
263
436
174
376
610
330
336
249
229
275
521
203
464
239
207
234
380
223
349
503
203
509
540
648
302
598
355
583
617
318
634
334
715
152
141
156
553
369
67
397
222
628
284
245
284
236
108
188
456
507
263
107
529
195
308
306
592
727
133
180
215
394
619
17
475
492
218
71
475
243
204
347
23
386
72
249
283
337
529
128
307
385
242
272
276
495
230
209
554
376
492
367
275
436
424
510
169
412
340
333
277
366
143
207
502
268
103
709
883
294
116
235
592
668
353
389
376
252
339
381
440
517
470
183
408
142
331
336
164
487
700
563
267
238
294
135
314
363
175
232
357
154
384
192
367
239
445
90
172
526
214
254
220
432
630
81
212
344
419
470
451
80
447
523
398
117
632
228
986
269
197
223
138
263
477
382
383
216
230
43
74
364
541
292
363
80
545
554
353
542
392
178
358
66
534
193
385
382
238
228
222
341
839
72
580
500
355
636
823
543
798
90
616
320
147
238
416
330
306
287
145
536
238
133
283
262
255
138
357
452
257
426
598
55
157
101
285
88
692
94
750
31
667
292
238
340
606
176
536
164
735
203
33
332
425
245
209
451
651
82
367
398
613
747
268
180
323
528
372
539
295
112
565
210
114
421
441
27
157
271
303
141
193
316
605
181
353
143
29
788
810
385
151
233
703
313
470
337
546
215
475
314
482
163
132
93
631
619
475
91
466
22
287
437
397
299
502
500
622
818
352
407
436
80
287
176
349
217
502
586
212
364
120
315
560
353
136
400
162
303
525
232
396
479
86
97
377
210
160
214
327
370
696
510
270
556
463
245
617
580
68
203
371
455
170
388
275
393
308
492
397
653
361
369
532
298
154
201
495
658
87
372
311
572
423
337
423
126
333
581
462
141
610
169
287
135
594
434
330
150
578
808
371
79
95
123
188
340
359
480
806
46
422
216
339
91
181
235
587
355
74
518
245
38
284
508
327
54
69
220
201
633
328
202
377
92
440
126
482
288
586
197
111
298
133
150
36
381
548
130
880
524
382
572
638
215
369
81
483
103
268
157
535
567
385
532
609
333
738
112
68
258
71
770
131
630
276
274
321
253
506
206
407
201
525
410
30
582
240
485
471
55
279
467
322
361
509
65
353
160
137
342
514
446
163
195
567
819
123
206
165
854
565
428
220
152
133
128
279
203
393
169
408
493
899
264
396
204
422
76
336
370
129
275
322
239
542
81
457
342
397
158
56
325
219
123
232
439
439
663
372
327
277
78
406
314
556
369
349
258
369
597
686
664
350
262
247
126
738
232
65
616
221
340
243
300
279
405
724
514
273
391
421
52
478
120
377
282
377
379
248
216
317
439
464
279
257
252
147
214
304
141
362
109
350
93
256
481
286
333
198
519
398
500
236
469
225
379
284
356
615
66
183
633
190
418
443
395
347
103
84
163
337
225
528
337
484
736
459
54
177
374
204
528
171
418
166
748
714
161
345
494
284
121
304
453
201
258
224
140
370
393
217
67
859
93
418
673
177
763
775
263
73
760
221
643
236
11
349
312
271
240
491
737
128
206
435
366
277
241
315
290
773
369
455
400
136
269
406
285
53
256
264
591
546
550
165
274
235
550
496
372
257
325
561
334
342
259
811
418
209
456
345
542
217
565
138
336
116
419
325
308
142
444
104
583
145
402
250
347
109
334
269
203
167
123
134
307
204
490
171
510
336
571
330
343
671
215
398
578
104
536
360
281
96
340
398
585
137
252
160
487
185
449
768
393
226
330
53
431
549
590
99
151
189
312
751
420
536
149
44
424
357
550
124
577
418
170
156
420
76
363
394
791
342
564
543
91
276
192
468
154
367
777
424
589
217
257
172
347
387
160
299
202
75
141
304
378
108
129
564
276
396
340
227
387
104
210
460
172
793
82
593
513
517
289
423
325
135
389
136
276
64
198
251
197
664
325
784
404
647
483
128
602
169
211
422
189
419
515
56
720
412
422
328
370
278
150
573
455
593
266
126
28
419
549
568
608
442
284
299
93
443
59
828
168
257
587
543
333
533
499
386
280
385
369
327
210
181
43
652
139
140
650
779
312
143
49
399
412
732
283
287
109
321
409
233
88
215
268
38
488
202
444
294
136
235
483
251
499
351
232
1000
96
80
160
672
130
356
286
416
611
110
454
418
687
390
246
428
312
562
105
487
371
179
377
342
134
196
240
514
621
716
578
409
625
88
432
173
169
778
157
297
318
293
165
279
798
140
530
252
380
117
397
191
209
581
405
694
334
202
250
405
738
485
182
421
549
303
789
150
603
409
351
562
57
535
271
286
595
341
50
288
306
610
454
450
249
466
101
245
197
271
177
296
330
471
228
372
457
216
251
590
262
640
124
402
395
131
386
261
434
98
405
318
205
444
151
438
251
259
348
454
45
490
578
205
434
209
170
418
152
444
202
467
167
167
240
279
196
250
217
513
137
762
183
205
753
481
464
292
190
676
442
281
281
358
369
239
210
142
481
621
93
134
69
72
163
263
502
351
522
313
178
309
146
271
277
255
749
206
104
272
184
443
397
299
608
287
192
582
427
321
891
195
239
396
595
501
532
428
431
381
397
194
402
390
306
307
527
316
46
856
36
277
594
91
280
157
184
245
360
257
278
502
441
83
486
112
277
63
553
263
227
720
638
345
370
324
279
83
373
438
472
59
773
526
178
438
397
345
477
296
307
72
697
273
496
299
527
783
114
677
330
258
108
136
98
119
320
279
34
536
92
292
521
351
304
163
727
441
514
141
395
226
764
58
186
521
212
321
556
111
269
486
141
630
389
541
531
722
492
205
377
516
687
301
187
171
222
25
107
277
220
297
167
275
161
396
664
468
368
373
64
182
105
381
652
338
473
264
496
639
727
185
390
532
347
460
554
135
42
528
597
122
310
411
360
674
348
260
262
82
257
652
698
169
189
142
143
461
260
65
669
119
567
56
303
68
93
478
425
490
367
257
372
62
90
437
105
296
263
654
262
229
350
520
443
304
659
552
39
359
607
572
238
319
330
173
382
593
526
632
103
697
342
230
400
543
527
135
421
317
192
254
516
251
540
308
218
282
476
260
145
738
517
520
421
331
324
360
263
288
745
558
298
328
700
715
367
644
422
127
364
253
87
525
334
736
479
260
153
393
328
457
36
378
153
553
220
101
211
466
280
401
513
567
404
206
698
293
508
269
353
129
35
402
119
357
393
136
514
278
157
365
796
121
344
268
262
371
736
313
301
136
223
215
114
199
178
199
859
588
805
236
334
162
297
544
242
690
322
141
254
165
209
432
278
245
455
278
414
233
415
476
344
500
302
399
143
165
191
427
408
453
201
820
313
174
30
92
453
318
433
277
112
618
264
135
470
366
311
538
548
314
51
335
104
142
376
164
265
870
558
174
345
420
472
470
381
389
211
506
466
297
632
612
493
304
236
182
605
283
156
144
829
405
550
567
189
412
174
354
194
194
357
544
187
330
506
580
443
400
349
402
585
421
428
722
76
233
826
131
306
264
228
315
332
237
543
435
135
361
662
342
169
61
221
169
489
76
183
213
303
250
290
500
309
460
525
352
138
405
96
395
462
508
196
770
352
454
706
396
541
417
154
122
101
178
298
355
428
38
497
384
84
459
278
240
365
470
724
611
293
512
279
199
356
688
584
310
326
304
367
137
242
475
312
112
218
534
455
424
384
599
161
127
532
346
326
302
429
181
183
324
90
572
265
173
245
582
838
106
279
508
252
640
363
45
313
773
54
470
369
255
322
235
342
189
175
124
241
648
431
364
516
558
621
227
641
358
287
287
442
392
133
127
371
465
280
406
452
455
306
447
667
221
141
204
108
324
283
528
136
406
292
292
345
468
157
396
313
931
272
370
180
182
138
124
342
263
85
267
289
716
358
283
341
329
147
508
413
351
246
153
165
583
307
411
260
330
43
51
204
389
324
257
294
659
280
296
317
228
533
383
760
825
405
101
359
351
235
162
551
325
574
349
584
189
175
230
551
204
414
164
509
790
189
40
222
234
307
370
375
330
139
252
163
408
303
412
343
353
149
761
428
483
327
359
21
135
379
265
416
588
286
30
118
151
119
624
466
256
238
206
554
302
701
419
255
499
293
321
99
546
167
267
303
139
513
112
385
202
203
459
727
207
156
545
433
300
486
56
484
511
296
129
330
59
321
527
896
97
145
97
99
577
401
200
190
323
729
257
362
580
922
391
604
401
101
443
366
355
120
261
374
240
105
219
255
404
260
446
630
53
548
356
478
392
69
492
349
182
282
493
571
82
919
514
139
382
20
377
221
677
241
451
809
82
53
637
501
469
388
313
347
572
523
509
487
675
286
272
279
579
504
372
29
397
433
424
304
583
685
424
323
318
223
209
324
661
217
487
62
420
197
354
244
352
820
344
188
348
144
213
471
435
585
266
322
245
368
326
224
561
102
10
376
350
250
104
332
671
501
155
300
551
206
317
382
301
491
90
674
578
322
860
109
252
71
571
733
332
574
457
422
113
146
348
412
173
204
206
481
380
378
231
323
708
777
362
248
233
269
676
481
342
580
128
269
540
169
324
265
202
219
250
461
383
114
188
779
90
370
149
419
123
669
503
264
346
257
250
793
382
502
123
506
186
517
285
194
294
234
359
369
656
283
768
307
154
293
260
568
595
389
563
117
80
543
349
236
307
687
728
171
334
230
342
209
177
616
348
66
850
419
267
333
350
295
337
361
467
397
624
111
167
74
135
120
448
281
584
171
373
383
339
756
616
140
120
612
402
436
352
303
498
326
226
197
303
21
339
834
121
377
787
272
226
302
456
197
121
452
434
53
103
181
223
119
211
611
447
602
182
154
265
687
333
162
349
284
433
353
580
313
226
92
152
183
228
232
639
291
35
292
266
275
86
478
410
330
466
253
112
469
140
472
328
332
418
434
418
51
57
489
512
610
384
715
354
517
670
156
172
181
529
645
249
317
137
652
607
919
612
630
124
492
446
38
575
429
261
160
282
562
200
149
302
295
438
549
85
344
263
396
452
255
369
519
441
515
130
433
184
441
677
183
167
53
413
388
93
79
338
197
222
438
501
80
369
456
128
167
437
282
282
76
279
105
512
290
284
88
195
424
61
515
393
476
435
372
165
356
211
27
263
516
256
313
313
176
551
294
561
286
614
435
217
195
467
208
375
487
472
121
522
274
466
516
35
459
88
106
404
382
384
525
322
515
195
397
486
214
477
655
425
308
130
221
571
165
205
416
869
531
268
405
87
462
288
252
364
45
158
551
91
269
487
232
232
141
104
146
239
337
219
90
92
242
377
488
467
514
439
677
323
466
554
416
154
221
71
691
517
342
429
153
447
364
721
48
377
301
389
51
335
397
151
372
601
428
114
73
456
540
947
694
502
148
226
556
289
450
84
558
303
104
57
379
418
60
122
477
349
355
244
254
427
171
81
223
616
413
112
288
128
500
174
646
274
279
152
567
545
452
415
384
450
450
141
363
421
336
489
360
226
126
445
205
696
68
275
309
472
347
109
187
472
375
409
314
90
335
255
46
334
399
349
227
788
136
286
138
496
219
653
264
424
453
262
605
336
114
278
243
269
147
346
393
226
603
576
525
147
361
213
168
147
374
184
419
413
55
451
366
223
430
294
616
221
477
632
93
449
185
226
257
246
443
230
308
223
133
797
187
635
142
665
82
363
622
505
329
532
333
456
239
317
545
299
511
116
59
331
337
115
129
200
617
415
433
415
318
141
307
571
50
278
186
122
330
106
235
267
65
359
320
479
318
208
203
99
172
33
388
235
547
300
229
390
520
304
52
71
276
437
162
403
582
637
571
549
487
821
430
466
156
313
84
693
309
418
329
359
387
414
516
455
459
307
141
465
426
328
503
357
145
324
135
314
213
360
383
354
185
102
441
285
297
482
166
315
260
309
552
704
509
352
567
262
453
455
763
326
516
310
596
427
673
617
370
575
542
45
337
150
178
444
167
600
369
165
221
209
237
414
235
392
567
269
409
42
516
80
410
278
626
256
407
402
181
21
416
263
236
33
226
437
359
414
721
442
297
186
734
205
570
584
44
89
162
361
364
726
108
341
239
229
83
598
114
148
588
311
479
425
408
161
370
420
249
243
578
508
127
112
325
355
210
245
949
604
120
205
448
327
132
60
453
129
466
255
272
191
309
166
524
346
534
152
147
236
536
689
450
531
174
174
213
592
313
355
52
231
536
468
472
408
454
314
516
877
208
67
283
299
75
365
525
413
813
470
210
206
237
608
326
397
444
483
242
372
391
608
178
138
336
549
303
235
79
702
588
409
347
170
370
73
326
240
195
628
168
373
353
870
278
97
302
142
151
356
201
460
460
479
231
58
300
268
421
416
153
363
236
69
343
585
383
244
672
788
612
600
619
136
502
405
504
527
270
93
158
191
258
172
255
543
70
511
354
143
360
484
606
243
446
392
306
311
486
197
403
390
235
159
70
467
109
258
342
203
583
23
625
449
259
340
113
652
574
314
313
410
369
540
481
732
203
357
279
285
41
553
680
343
124
241
560
478
94
122
365
31
532
229
67
546
21
293
395
122
276
109
493
296
318
685
210
394
78
594
313
59
500
194
109
243
172
465
172
31
739
487
488
344
223
861
244
214
61
159
166
552
443
346
267
585
221
450
381
513
316
689
674
286
618
589
421
171
490
787
246
269
403
276
274
234
349
163
325
117
297
225
883
579
229
80
208
301
242
772
207
292
499
174
778
566
37
207
347
279
110
293
409
87
258
264
529
306
285
29
106
665
436
604
163
671
487
423
192
694
544
149
279
151
117
259
555
339
759
365
434
634
471
472
380
402
536
961
160
148
331
452
441
507
120
37
356
280
543
541
684
90
112
291
232
329
513
297
302
189
430
194
95
416
510
655
732
166
180
682
329
453
305
405
357
348
537
96
275
215
663
869
642
494
23
517
230
344
680
171
558
188
294
548
397
108
122
96
149
458
411
319
492
167
339
593
130
242
52
517
375
226
594
791
325
196
241
375
357
564
499
339
508
327
231
190
444
422
249
260
602
310
323
335
204
270
430
622
436
403
86
276
574
297
105
480
247
212
81
561
242
47
257
307
238
509
1028
187
26
611
27
487
244
169
356
40
253
366
285
538
202
214
36
324
233
513
241
390
323
355
552
600
248
490
379
203
320
382
271
276
473
374
637
465
338
395
282
472
240
456
264
441
412
206
195
174
424
418
292
243
549
373
219
247
264
309
65
145
359
230
210
220
107
515
156
317
613
322
189
214
335
183
276
180
233
572
605
313
220
637
670
121
487
555
220
81
313
298
111
116
243
264
423
208
93
229
169
277
331
544
137
280
464
387
530
129
157
139
519
349
407
95
471
543
354
607
83
305
620
217
182
601
442
405
399
606
120
123
270
316
180
484
433
691
398
376
584
562
281
614
366
171
76
133
244
491
372
334
472
368
260
395
514
276
176
283
419
51
583
133
436
535
301
442
553
502
105
381
117
244
468
212
344
179
373
302
21
542
528
150
409
132
390
397
442
275
824
589
356
204
316
386
473
324
436
112
487
234
588
452
525
285
167
548
147
204
474
207
789
493
90
209
99
492
135
250
135
114
427
363
403
655
314
649
490
337
331
394
649
612
350
333
331
215
396
539
504
153
165
171
506
349
683
186
91
581
448
271
736
543
156
352
159
323
313
444
510
194
542
417
310
289
160
583
552
486
238
440
132
229
283
389
824
99
333
356
392
497
378
485
351
27
176
126
184
355
821
241
174
562
688
390
190
646
523
142
136
333
175
714
365
370
223
176
116
234
701
329
84
194
610
464
362
573
100
388
403
475
552
638
481
614
444
203
408
58
243
289
304
212
274
482
464
424
209
541
499
98
649
875
545
568
429
253
122
574
376
678
75
168
650
444
656
384
198
857
412
82
175
167
480
304
186
184
446
549
270
106
404
699
62
114
34
426
291
205
464
528
416
530
204
797
584
354
179
412
329
218
453
421
497
170
245
168
210
101
797
623
134
94
389
155
805
350
277
561
490
200
165
595
156
246
406
102
345
407
153
455
369
328
133
138
356
304
351
253
700
599
320
215
80
541
358
500
161
204
105
545
137
329
549
38
263
606
148
592
24
259
224
599
330
275
412
309
172
265
541
230
354
267
541
397
331
231
530
179
486
219
282
106
482
334
574
220
378
413
670
526
72
185
336
186
686
205
663
548
337
351
211
73
190
518
48
450
724
521
394
391
402
405
288
306
241
129
398
300
638
284
509
334
232
517
302
526
422
213
1120
152
503
745
402
329
793
421
468
402
250
72
232
307
475
293
534
589
103
253
448
442
454
275
53
407
271
150
215
263
363
437
170
448
190
391
387
689
267
495
534
65
226
567
286
151
263
292
81
268
298
337
81
912
545
152
240
486
460
330
288
364
520
464
176
224
311
492
500
283
385
270
539
489
628
44
394
331
274
414
72
324
566
202
606
678
242
567
527
224
639
320
334
187
365
374
284
344
719
132
469
674
59
428
156
347
338
593
495
449
122
241
210
231
354
120
171
169
475
329
184
200
303
686
578
730
460
809
596
25
436
627
115
218
208
535
79
490
334
351
405
373
381
257
569
651
216
404
132
401
686
357
592
539
90
372
475
278
494
304
351
122
660
331
316
178
393
197
107
298
186
338
55
728
552
110
505
416
150
544
532
509
165
189
418
149
136
362
242
777
213
354
517
214
51
559
413
101
538
404
356
107
136
448
444
359
604
118
111
118
1030
278
52
424
213
244
663
183
92
771
475
780
439
650
178
133
581
490
138
82
748
577
363
276
416
707
581
286
370
186
592
415
282
436
715
334
361
228
305
47
81
280
133
119
280
589
408
364
305
562
707
260
318
699
387
309
672
336
385
419
227
245
664
260
226
270
537
824
536
320
184
392
32
235
586
400
425
509
78
683
162
269
370
497
709
258
570
453
249
157
477
519
81
154
589
250
513
62
464
484
101
497
665
258
312
581
172
358
212
296
58
298
74
301
434
495
415
554
572
47
194
529
80
365
222
396
162
681
188
370
435
511
236
292
23
396
211
283
146
159
323
328
129
627
586
375
233
586
148
143
370
314
202
419
894
326
886
279
332
393
343
129
478
234
272
300
175
450
244
322
254
369
649
237
180
796
716
422
381
502
242
166
172
266
498
490
317
414
223
384
289
227
473
482
157
267
427
292
491
267
366
298
376
201
263
138
261
241
226
186
217
95
666
208
369
565
90
61
341
45
173
207
141
524
165
719
118
320
474
99
279
414
253
419
518
273
369
250
389
382
204
516
243
396
94
448
145
291
554
614
671
499
249
450
457
70
349
310
172
780
166
472
341
505
180
414
118
47
426
645
602
564
67
482
393
139
289
114
604
95
224
494
239
354
333
521
881
543
230
341
317
291
606
220
426
570
313
362
394
418
234
348
212
163
185
287
508
204
450
462
247
628
168
149
214
103
190
411
329
685
269
212
354
295
429
126
655
45
215
46
359
350
344
305
321
364
443
404
269
213
378
73
382
338
567
529
606
194
381
509
536
594
433
527
591
477
495
451
303
30
78
269
257
169
236
418
231
473
408
396
178
143
75
399
82
413
513
445
236
481
150
149
237
257
247
358
261
281
56
185
357
309
709
500
18
117
441
348
555
316
279
78
730
218
69
272
300
341
197
426
394
634
243
304
621
548
327
184
417
218
61
398
607
395
235
477
362
331
611
464
512
73
219
427
194
108
285
166
554
378
465
182
229
90
224
372
238
229
79
382
389
175
294
80
207
326
289
109
180
397
214
524
335
496
137
758
28
179
352
553
467
471
709
369
426
862
685
620
555
414
180
339
194
97
814
155
636
137
259
382
212
182
772
477
388
128
283
406
219
387
546
440
433
358
313
492
181
176
314
890
362
281
435
284
591
315
500
190
548
313
344
610
720
207
146
429
341
432
401
792
590
519
641
665
778
210
183
134
427
323
302
297
521
720
471
529
240
145
357
269
701
413
363
83
203
486
283
485
99
267
651
392
659
616
264
324
378
779
361
701
664
361
370
745
286
584
536
134
489
302
228
587
701
380
237
296
215
474
643
439
416
710
156
185
540
377
475
160
512
181
305
390
377
224
311
115
395
398
87
697
219
499
597
540
313
456
182
602
613
194
368
140
518
147
369
261
715
208
210
156
410
489
662
370
186
452
594
280
274
253
112
264
257
472
448
57
614
452
132
570
316
370
352
298
166
484
417
404
468
485
196
300
484
67
91
353
201
349
350
73
830
725
314
442
157
440
359
473
167
384
531
228
196
390
374
111
574
561
143
311
91
270
192
607
128
359
315
349
527
529
619
223
350
521
471
420
146
746
319
145
435
102
326
568
174
183
480
610
466
811
478
371
198
236
62
622
283
523
411
243
300
784
401
135
266
443
533
149
101
224
167
449
497
527
254
330
238
237
210
272
165
370
855
350
666
345
348
420
500
264
182
378
318
49
306
488
349
254
248
412
381
126
454
358
441
258
543
261
508
378
468
103
97
130
205
214
404
92
167
214
549
470
489
115
455
99
88
303
212
442
30
115
240
759
464
326
320
15
494
187
536
498
581
235
274
164
158
494
167
378
499
444
198
174
154
828
320
261
280
381
478
378
483
254
170
284
204
351
230
495
129
498
85
374
98
42
406
113
171
239
314
280
367
487
617
398
403
450
338
820
440
505
474
88
570
234
228
282
494
196
454
160
459
474
272
250
686
366
243
763
196
862
556
448
249
332
245
154
424
348
335
513
104
172
87
120
250
705
295
99
127
461
417
189
249
21
303
236
343
221
226
419
222
164
454
415
66
787
322
164
535
32
428
516
162
338
88
155
152
225
124
359
347
92
444
196
110
243
530
142
142
189
313
157
160
366
476
615
425
783
535
424
584
683
259
243
483
22
417
753
703
415
248
148
338
76
561
75
291
516
287
262
647
251
714
340
271
585
308
246
530
27
329
277
381
593
189
170
329
81
65
751
807
438
504
145
172
388
308
297
419
459
373
360
665
362
153
445
63
285
759
896
84
357
333
271
513
657
785
130
217
315
378
654
448
259
154
370
365
569
592
129
324
166
70
496
421
157
254
229
119
622
148
602
164
390
840
233
419
541
143
548
438
107
303
444
525
830
183
562
493
557
214
394
120
446
299
962
346
404
243
413
357
395
512
442
180
168
626
317
503
596
365
420
260
180
178
133
789
59
622
298
663
845
245
228
810
316
456
542
573
114
486
683
262
428
475
323
559
381
118
285
91
273
187
613
491
528
574
828
132
51
598
150
195
657
818
63
627
328
246
285
453
372
375
251
471
327
320
457
393
146
543
688
838
231
329
216
359
400
344
161
272
49
134
388
563
223
217
205
468
157
119
371
91
494
653
155
284
473
183
357
197
457
569
280
368
204
102
205
615
120
313
487
226
429
350
276
125
294
333
751
563
92
600
287
402
547
413
225
469
493
359
173
174
225
411
113
191
41
361
224
917
227
304
390
117
34
75
301
395
284
378
134
438
284
287
418
476
296
108
371
259
250
281
580
273
706
19
156
106
456
598
61
39
468
512
616
223
343
140
37
650
296
290
1084
244
711
317
724
84
110
552
521
265
245
237
331
197
768
303
838
32
200
508
355
201
255
248
383
953
476
895
222
551
535
328
416
33
306
415
533
159
282
392
264
189
571
893
528
151
169
392
257
285
336
303
47
158
675
310
508
704
358
48
440
340
309
538
683
275
276
218
178
740
379
311
166
291
495
450
341
563
534
107
307
288
112
254
642
306
138
61
215
285
987
238
166
329
35
635
484
432
851
484
216
731
361
134
333
214
438
120
671
337
428
522
250
101
386
117
459
574
133
417
330
576
254
268
254
125
796
352
232
241
181
450
201
90
531
94
635
153
254
796
360
101
527
344
599
318
591
470
500
70
101
158
160
449
216
181
265
509
261
890
298
493
438
724
598
85
186
86
388
239
326
76
590
210
359
54
495
665
159
176
491
311
79
549
124
588
675
195
346
521
335
161
433
642
226
168
284
346
286
105
418
200
388
261
508
375
224
223
441
323
285
354
382
213
110
222
337
453
140
63
85
543
453
1059
687
322
475
136
809
497
238
442
267
290
376
323
260
532
417
253
158
158
177
431
228
200
379
518
82
505
241
204
531
455
46
713
432
262
448
603
749
466
281
201
445
335
242
293
724
650
151
295
96
314
163
150
219
91
573
299
695
690
218
292
312
175
355
257
565
175
436
753
333
319
338
179
505
270
433
323
328
17
331
91
321
314
198
243
214
565
24
487
140
349
262
69
223
567
274
190
443
422
179
409
512
328
606
371
397
111
618
268
557
487
735
165
452
498
535
289
259
67
616
582
529
224
271
667
378
276
91
183
751
476
392
303
628
77
276
69
201
158
491
233
325
249
276
360
391
809
482
208
60
597
496
386
224
406
141
409
312
583
188
632
342
161
411
305
631
476
231
545
226
445
339
18
420
182
291
168
396
317
404
33
266
441
449
436
329
623
664
346
401
370
523
536
349
635
400
447
97
85
384
317
456
538
382
200
314
310
441
287
556
446
430
174
115
350
53
106
190
444
146
333
561
322
515
340
375
654
451
290
297
123
252
371
176
126
502
323
384
450
334
568
323
531
315
209
780
419
316
490
181
413
158
347
370
653
550
265
193
308
202
628
563
499
385
640
108
352
623
444
591
364
479
328
271
579
351
129
610
501
142
215
534
275
332
616
81
377
308
211
505
352
158
449
136
338
433
423
560
299
360
189
293
592
118
189
228
205
205
833
531
68
530
325
333
426
169
369
573
181
281
185
49
125
349
132
478
1120
409
676
196
482
78
191
160
312
172
493
92
323
464
448
376
96
603
20
534
285
198
241
493
382
360
169
453
314
241
283
700
113
244
79
353
380
413
340
330
583
793
286
286
314
342
253
508
391
336
180
488
223
515
401
175
321
722
247
296
417
149
310
224
189
269
338
748
371
602
109
483
460
484
300
327
185
373
344
23
325
87
370
227
359
253
175
144
748
460
347
417
240
281
431
521
836
258
139
876
508
339
215
223
299
81
280
289
601
491
224
422
227
358
641
216
213
421
363
217
583
92
359
361
135
140
170
322
423
208
567
449
444
331
670
229
290
118
483
83
248
572
573
196
277
418
284
453
265
637
385
84
399
393
208
200
218
510
525
87
198
291
207
280
680
416
418
214
442
294
637
293
525
424
99
290
790
511
153
511
321
117
523
649
207
396
209
38
414
571
436
70
730
380
375
457
195
201
306
563
315
372
260
68
95
195
92
610
308
213
536
688
248
493
157
332
355
167
358
518
540
460
396
489
49
546
439
341
60
202
308
454
176
69
539
543
359
139
139
75
435
28
605
275
663
67
212
794
274
506
528
308
60
103
115
65
327
221
221
395
362
503
286
375
252
615
76
121
620
55
351
680
229
496
258
285
330
275
412
505
336
328
453
210
396
259
250
134
355
365
651
229
48
394
319
377
714
410
483
512
597
516
118
310
343
406
95
482
258
252
336
274
98
224
557
199
288
454
77
133
444
213
524
879
362
259
396
298
237
400
601
386
341
136
143
381
180
266
157
458
251
212
475
489
94
467
240
114
824
464
479
728
376
722
236
596
167
209
235
862
608
132
506
595
258
474
208
290
80
632
598
475
340
703
424
318
268
319
211
202
110
904
127
479
442
510
352
175
168
206
174
359
184
363
802
259
451
344
120
229
92
308
373
170
82
214
306
305
535
204
75
498
67
360
409
377
97
805
237
147
51
273
488
268
283
610
889
322
287
502
255
378
562
322
350
57
354
361
457
365
38
230
482
72
477
154
225
281
698
387
189
626
344
496
519
543
655
749
398
258
635
454
516
525
553
202
514
337
290
406
533
296
402
851
353
504
440
114
462
549
838
139
311
57
393
477
614
269
323
130
470
218
56
516
267
73
355
585
278
83
538
487
286
221
288
499
500
318
260
383
237
162
151
821
124
602
159
101
213
252
380
589
155
210
192
196
565
104
76
441
214
153
774
794
442
349
277
168
309
457
119
220
392
643
597
372
406
171
387
133
398
122
277
253
160
328
338
221
176
649
266
293
826
540
568
36
87
219
530
283
379
391
526
375
677
117
40
333
89
370
603
285
234
533
311
1108
570
227
829
628
219
388
212
265
188
289
561
364
485
415
183
518
185
243
695
700
347
614
615
128
607
484
179
210
57
264
276
243
268
189
280
631
697
64
269
837
693
526
46
209
377
501
156
389
266
146
355
451
269
268
341
388
185
563
376
319
191
127
389
546
645
460
531
104
153
34
184
231
529
331
418
223
472
215
584
105
201
370
593
292
276
326
611
447
78
228
666
390
503
348
244
158
73
64
162
194
331
245
311
343
308
372
359
110
91
525
118
387
207
311
216
276
312
305
213
327
445
212
473
72
379
565
855
480
508
239
71
147
375
245
457
339
393
150
249
667
349
108
413
174
165
475
423
330
164
398
347
335
147
371
553
500
299
617
449
287
67
518
346
673
216
246
296
436
84
834
567
533
167
575
666
434
541
274
370
291
491
277
368
604
58
655
254
1025
477
366
432
367
162
614
270
94
435
509
197
526
293
205
180
173
39
194
403
423
465
524
274
522
132
358
121
578
388
534
427
556
197
438
209
220
528
75
377
165
519
368
82
147
146
386
135
107
246
459
233
162
410
138
331
677
368
408
511
743
108
144
400
435
493
358
466
185
182
391
420
283
107
626
518
256
122
49
145
482
391
289
396
258
309
126
216
202
417
188
310
288
416
234
875
381
420
247
598
255
148
501
438
792
234
237
57
34
390
229
224
138
505
532
442
220
512
704
214
182
124
664
533
618
595
334
419
439
445
577
384
411
242
315
232
278
477
477
81
380
201
160
349
229
586
461
212
464
321
279
253
118
888
350
833
185
334
551
773
93
398
292
325
280
464
273
461
212
448
582
706
552
91
291
156
326
180
356
402
678
370
425
103
381
320
412
351
229
386
413
174
364
638
734
398
45
587
200
326
200
201
560
345
241
403
193
531
303
406
436
782
669
316
242
229
359
324
151
237
488
61
180
493
254
418
239
318
201
218
597
245
294
738
242
715
572
554
77
302
294
671
540
397
521
665
117
224
224
500
232
247
138
372
435
290
40
388
205
373
1119
176
581
568
411
419
357
300
753
347
260
207
484
453
923
385
343
501
245
725
636
333
427
48
90
432
283
16
192
278
325
164
311
188
484
282
58
315
605
987
320
615
397
417
404
376
171
154
132
605
714
113
619
34
647
187
423
196
74
136
367
549
269
245
248
230
89
779
664
800
506
405
381
250
157
301
199
215
181
461
586
721
373
337
385
533
349
333
225
217
227
301
394
359
259
370
99
226
393
512
831
726
408
117
784
71
365
61
648
264
562
379
347
170
307
68
242
375
434
263
13
305
210
317
392
309
380
262
256
227
186
350
86
290
170
138
486
341
432
303
539
228
415
856
370
188
329
845
675
59
492
504
13
619
62
388
388
109
490
699
246
63
106
333
285
539
699
358
102
258
169
96
835
485
335
285
318
387
494
276
246
429
688
526
240
422
466
437
220
546
606
796
173
195
413
288
147
317
288
254
471
280
251
69
628
317
189
343
229
609
396
547
582
262
399
169
208
554
418
570
96
482
739
582
252
439
359
345
377
382
649
171
331
203
883
317
734
548
121
391
476
103
338
235
524
265
352
152
32
589
153
115
454
322
107
490
216
820
469
434
556
91
112
511
190
290
293
185
497
465
858
267
84
548
466
286
330
372
269
134
240
429
441
462
539
179
143
352
595
82
75
180
137
168
317
425
127
178
268
133
552
361
380
528
310
317
587
323
423
402
167
232
504
212
75
469
326
520
175
415
516
420
458
20
471
216
540
845
121
589
70
704
470
624
96
244
61
398
845
371
692
504
285
617
571
86
661
144
264
439
595
345
432
240
402
235
313
253
123
276
378
345
706
838
221
471
472
363
539
135
324
149
684
426
314
148
276
133
342
375
217
330
255
72
293
302
128
540
204
431
81
366
147
313
535
288
97
177
321
184
475
344
268
235
142
722
354
454
414
292
288
92
412
623
656
589
73
389
296
667
708
939
382
86
376
526
286
637
329
525
361
127
539
119
788
406
538
149
399
644
181
377
583
310
343
536
61
500
340
114
139
282
430
388
200
473
164
206
218
339
338
471
438
128
567
154
279
167
240
144
404
644
401
149
689
409
126
313
486
219
397
309
115
626
205
595
467
229
352
347
369
93
659
784
276
348
235
182
119
353
92
363
639
277
91
354
169
138
197
681
555
118
229
307
247
258
600
466
342
147
486
553
355
52
249
496
418
202
445
477
357
445
143
384
531
250
400
606
337
205
376
604
1013
285
289
262
453
600
651
215
375
680
547
724
126
297
480
146
307
350
353
287
591
256
311
228
189
524
434
512
332
195
740
218
332
51
355
213
98
142
394
69
488
718
253
324
229
147
515
416
587
351
395
224
400
762
620
333
69
229
468
613
284
178
188
312
120
387
819
293
662
282
443
402
421
38
240
164
69
566
801
657
70
348
425
242
299
836
244
527
197
194
282
1106
1028
725
49
352
652
477
433
173
288
382
321
157
154
165
137
562
228
439
220
495
465
360
155
349
237
182
379
649
452
254
210
364
235
257
196
572
396
291
288
1000
129
280
346
348
673
434
487
471
553
46
346
362
189
126
440
510
204
544
237
48
225
583
249
441
623
347
425
321
459
286
252
627
688
212
396
149
395
327
135
127
422
451
20
144
358
353
204
50
196
236
283
225
314
317
120
288
210
175
419
284
486
62
322
263
296
573
561
156
693
83
367
169
250
300
398
640
189
552
399
515
184
392
465
511
416
340
361
161
727
254
488
51
645
212
378
255
97
124
987
326
201
425
103
499
420
426
723
276
545
535
129
86
413
538
312
691
202
354
480
530
93
237
236
636
515
619
505
299
351
870
350
342
371
154
65
600
787
275
400
612
632
682
459
416
247
391
327
38
176
286
265
383
219
324
492
249
482
495
783
577
333
268
279
331
514
451
650
399
236
707
384
105
447
198
269
184
162
508
957
789
215
652
589
670
276
488
376
336
274
497
442
320
108
576
439
734
375
261
579
116
490
304
213
139
453
295
133
189
421
598
357
233
324
207
149
82
359
105
84
309
126
275
520
71
320
311
200
408
248
357
699
167
728
313
147
215
181
773
654
513
485
513
100
210
37
524
433
241
331
215
126
627
583
594
387
345
204
837
246
807
335
133
316
476
312
102
720
524
764
60
487
331
575
364
455
550
481
315
137
140
124
593
152
63
278
383
235
317
270
232
637
345
199
362
59
128
97
452
61
524
269
471
237
669
531
269
264
187
374
564
280
92
692
357
426
101
498
825
472
479
394
77
594
363
441
337
305
54
651
44
132
34
317
527
611
304
234
271
483
462
142
222
522
371
493
265
58
581
246
351
643
89
109
1022
113
124
134
174
42
91
562
564
130
124
450
707
388
99
192
203
203
370
404
475
599
552
188
206
292
408
182
682
565
769
98
410
314
459
416
413
192
252
321
349
565
538
359
242
671
207
380
294
606
256
433
191
334
225
30
284
367
425
457
401
231
465
567
295
382
153
308
772
382
192
305
318
64
589
356
223
154
296
346
587
219
396
61
770
382
448
239
599
373
357
510
538
684
308
249
114
614
144
528
560
180
258
454
466
387
134
296
317
570
295
429
37
410
150
96
550
140
187
27
304
261
297
510
277
303
255
186
639
161
233
70
688
335
269
492
349
344
521
351
383
57
166
97
566
424
181
171
173
385
385
187
454
173
119
375
400
390
659
576
50
253
137
670
193
346
391
105
250
512
495
144
499
142
509
93
456
667
347
116
371
450
101
763
773
370
35
204
191
341
527
129
309
376
1070
583
604
349
393
91
233
767
431
414
352
185
185
583
585
363
746
208
201
211
325
299
453
543
374
57
404
200
33
335
508
253
489
616
375
349
245
629
756
136
507
555
460
462
297
372
374
335
171
196
168
227
385
376
291
754
371
592
434
456
196
389
299
285
457
406
49
100
505
698
285
286
391
395
308
233
245
546
557
117
39
277
373
558
371
68
60
185
290
802
316
433
302
618
427
296
555
448
615
521
37
171
206
199
177
379
247
682
147
122
150
596
123
547
289
130
245
115
227
450
324
12
477
592
202
128
387
717
1040
196
317
334
76
145
392
578
290
257
240
228
64
393
338
505
175
534
689
106
247
426
261
385
758
424
76
222
163
248
184
210
446
332
575
389
653
219
341
549
833
666
371
65
354
45
113
522
236
428
404
186
335
354
325
435
359
79
638
238
471
261
229
584
43
82
123
278
523
471
748
485
102
397
500
153
193
617
639
666
220
239
318
267
898
406
128
243
142
205
253
163
54
640
310
408
87
279
617
531
459
715
694
213
433
345
141
240
486
431
46
371
412
271
605
386
211
457
304
168
73
152
146
392
526
551
419
400
131
369
341
735
314
229
428
796
338
262
263
258
234
395
120
370
123
229
271
460
311
68
352
417
463
516
284
270
279
84
245
580
318
153
449
385
651
80
378
568
100
233
398
422
564
129
233
746
316
546
266
284
599
249
809
222
854
136
382
110
148
361
758
312
190
434
621
265
651
451
29
461
435
185
246
296
270
339
211
558
295
215
1025
136
175
308
650
422
532
798
246
61
276
715
566
238
415
182
35
139
143
504
141
280
82
67
699
141
78
472
985
266
254
470
810
491
527
301
225
330
375
824
548
338
412
124
380
365
240
147
300
290
382
99
176
189
500
640
354
251
651
651
708
372
374
330
505
226
140
285
225
83
432
568
446
527
285
370
198
324
436
100
299
118
287
583
519
168
328
271
326
636
270
213
535
172
680
117
233
316
202
405
130
381
507
377
497
278
741
301
154
285
582
245
732
98
349
401
148
284
275
272
424
359
540
309
314
167
460
514
73
537
596
212
312
293
808
251
253
502
178
412
375
621
231
195
160
210
320
337
449
30
95
500
515
736
375
1035
73
487
214
245
306
127
114
381
103
122
490
131
503
436
663
302
196
266
136
396
499
330
572
560
492
413
584
291
210
301
447
419
197
24
557
471
282
528
948
291
567
138
372
187
359
316
251
336
287
868
345
403
84
227
81
417
173
378
685
473
239
315
288
478
212
845
212
449
340
237
55
626
178
264
393
306
79
279
627
182
313
522
122
454
271
395
484
355
522
219
326
706
408
663
273
174
470
292
402
465
315
386
407
352
76
521
545
537
180
464
149
523
538
249
551
109
367
282
330
349
114
78
110
233
215
249
66
564
371
47
282
489
440
196
980
431
506
376
190
154
804
428
433
76
395
291
164
311
257
204
163
481
444
398
614
361
62
636
572
255
124
441
243
296
343
302
121
561
507
475
314
274
152
578
396
558
222
275
249
545
433
389
292
674
171
543
287
319
529
509
83
561
230
294
233
274
287
495
459
209
369
665
554
97
165
557
817
376
313
298
334
233
430
203
710
658
219
428
364
537
365
285
227
247
215
448
344
154
51
243
77
253
34
327
297
178
582
441
324
380
300
286
345
547
487
336
597
574
410
485
534
435
498
249
430
289
283
453
444
574
101
424
40
603
627
246
250
443
545
333
397
227
690
616
381
339
244
509
286
173
591
123
394
376
427
495
454
631
502
603
275
427
760
522
495
228
305
369
575
784
192
113
487
108
173
439
452
224
406
640
48
605
506
380
237
222
217
227
265
511
108
465
363
195
536
539
202
327
54
344
589
65
486
343
422
475
437
476
112
490
566
273
273
272
266
527
456
277
366
85
280
151
254
884
165
360
166
241
317
510
459
93
430
246
508
395
225
457
476
134
452
395
626
446
506
264
632
595
655
417
312
486
363
153
387
490
146
714
138
348
406
218
379
142
684
195
520
213
466
201
106
317
276
389
835
67
341
617
772
432
529
508
563
272
603
182
169
402
67
157
626
346
446
156
46
458
108
656
350
595
234
253
34
382
66
370
185
151
486
359
429
498
295
272
443
315
359
161
832
55
832
455
444
217
236
519
611
457
59
130
386
101
111
119
95
188
708
520
158
99
104
541
570
218
392
92
365
375
502
491
539
367
163
68
360
241
315
67
330
114
398
541
708
629
593
544
346
206
165
499
456
233
354
488
603
75
141
415
283
259
332
357
653
40
393
760
714
201
634
295
1029
154
390
880
42
429
332
116
638
579
291
312
247
430
440
101
397
352
575
354
282
194
830
309
783
444
36
351
403
200
312
477
133
341
354
318
27
554
304
37
352
105
156
377
321
341
151
121
322
675
350
328
308
675
281
885
792
250
133
632
686
385
390
253
218
539
347
453
357
322
237
384
245
164
205
580
487
811
213
140
262
826
214
240
256
221
636
147
69
115
889
375
132
317
607
889
433
272
328
753
407
270
332
351
266
184
546
382
517
276
634
104
548
365
145
460
270
766
564
848
334
371
378
121
387
165
439
332
597
321
311
407
468
1041
122
113
290
203
187
488
286
459
226
675
504
252
63
200
379
580
836
542
326
225
378
478
294
177
283
504
236
91
320
97
489
230
441
550
166
389
224
251
94
478
393
448
51
523
288
190
419
396
219
494
151
412
559
159
210
396
307
120
287
88
265
399
293
496
503
339
630
195
485
469
382
425
710
107
180
151
139
632
178
456
212
153
324
519
203
189
874
74
803
586
588
216
590
265
48
299
337
594
286
358
369
394
115
310
1043
224
399
245
229
277
112
252
396
308
172
352
488
154
507
301
196
493
648
325
328
187
337
432
422
138
453
355
752
330
532
503
510
264
337
626
523
706
149
652
254
698
314
216
531
487
73
273
217
460
261
103
102
577
214
556
564
538
100
231
754
283
283
300
513
199
579
110
388
197
580
300
264
171
108
324
243
404
710
585
249
420
258
425
844
228
280
256
170
163
329
505
628
426
197
80
741
568
286
179
144
263
211
364
236
309
1102
233
630
337
186
689
219
524
30
522
314
173
291
60
131
504
910
393
280
754
124
187
80
394
380
343
414
389
301
331
397
445
277
314
389
542
234
225
398
338
352
635
311
393
326
544
324
139
263
361
338
301
499
268
699
636
197
323
532
621
63
130
459
382
802
229
150
138
192
582
552
304
515
456
74
369
329
451
172
629
98
425
531
259
592
324
357
214
626
205
336
160
327
285
113
355
626
435
234
478
653
386
733
133
790
514
258
67
437
147
88
327
260
379
317
332
160
412
131
148
432
340
655
371
273
416
92
520
336
513
516
279
342
620
174
889
90
648
581
360
151
106
50
269
328
158
108
154
332
416
400
411
277
415
366
379
141
412
574
385
131
177
161
175
675
211
530
369
280
229
76
360
782
233
143
71
208
439
309
29
491
190
659
86
326
354
61
354
237
301
327
420
459
176
272
152
196
61
155
120
326
487
94
390
162
391
408
163
95
453
486
272
258
38
242
190
628
548
386
389
225
271
214
387
417
493
13
84
228
493
473
584
156
110
359
245
479
556
238
214
243
33
98
238
375
112
357
138
186
337
207
298
272
360
281
608
353
130
293
228
355
593
222
365
332
140
130
274
159
386
470
209
434
329
477
119
463
191
356
223
653
213
408
415
214
383
93
110
308
106
418
164
47
303
503
256
93
142
542
260
101
221
210
374
143
363
115
638
750
401
292
289
356
493
385
520
390
150
547
387
398
555
155
471
616
644
50
515
84
65
151
453
292
425
513
190
204
245
330
342
1092
243
539
404
301
762
821
534
329
213
281
313
285
234
461
295
309
455
226
176
532
330
233
164
507
33
550
590
361
154
281
199
320
234
487
139
296
178
529
546
280
209
303
420
320
348
147
171
274
401
195
425
573
443
643
515
361
333
443
380
385
363
324
145
366
500
476
320
575
271
590
82
335
177
485
137
267
557
541
357
438
386
391
564
332
126
281
317
228
228
761
165
656
563
459
335
516
84
305
461
367
197
528
393
725
273
467
588
215
393
363
501
529
352
484
121
163
68
720
482
301
467
193
414
382
560
469
380
453
542
535
312
417
595
396
471
255
598
218
148
249
62
189
273
180
347
211
231
194
330
277
356
685
609
269
585
229
259
82
134
267
699
189
151
361
154
681
319
493
69
63
547
439
452
350
251
412
446
499
62
121
684
274
439
166
693
53
418
302
327
648
688
146
320
594
80
362
270
132
288
524
89
390
473
325
309
722
356
369
478
294
92
333
272
375
503
423
340
157
378
360
558
598
293
389
288
171
334
299
139
211
553
215
360
424
518
296
323
380
395
848
441
317
458
499
212
544
434
331
140
438
161
489
316
299
391
644
237
458
552
657
544
413
261
250
334
532
264
250
405
494
86
127
494
288
148
393
439
202
123
479
332
127
593
362
571
607
63
212
453
376
105
208
371
417
342
485
283
118
544
602
396
763
124
262
273
95
352
671
335
411
497
177
218
284
238
186
275
539
330
356
266
222
178
361
303
166
372
315
214
460
54
245
579
98
157
181
410
461
121
485
572
456
193
670
85
226
356
64
408
183
558
467
381
114
214
186
321
340
200
219
136
194
121
216
461
605
273
181
302
209
397
292
480
918
270
262
265
297
543
522
535
484
234
687
229
218
453
139
407
373
275
521
152
293
225
437
103
135
456
303
648
241
228
435
198
202
302
212
614
587
207
224
530
413
725
323
512
170
281
473
196
330
809
553
628
273
435
755
182
220
483
149
195
740
700
271
151
267
173
400
319
402
158
467
190
800
33
207
386
396
397
186
356
453
548
152
411
300
232
776
392
429
325
105
307
631
293
399
670
586
574
356
648
509
309
172
316
631
488
213
511
514
533
147
692
607
352
375
87
393
306
445
138
746
197
216
482
525
386
366
339
185
104
194
66
255
99
430
440
560
276
137
438
570
303
68
94
284
87
133
365
372
392
476
102
501
680
378
338
373
118
534
644
295
346
309
595
367
302
306
51
373
178
332
359
387
236
271
76
471
274
257
225
702
544
515
241
471
403
320
288
605
339
434
547
51
608
111
189
376
189
337
469
321
255
102
680
28
268
514
457
770
214
698
313
523
555
456
60
515
182
922
393
669
134
246
372
191
321
329
493
169
123
476
448
66
461
235
324
92
521
265
801
530
638
374
512
266
794
162
386
147
143
265
537
454
367
337
582
517
334
440
260
290
459
413
308
577
180
478
524
575
700
366
113
411
616
151
496
274
146
337
220
1119
743
398
206
56
346
66
314
59
209
348
345
451
127
706
228
348
352
556
281
420
795
478
298
302
225
205
445
491
253
397
114
237
128
550
241
540
338
441
524
205
283
532
572
156
673
464
335
160
82
373
96
486
206
442
238
66
355
511
391
418
491
518
212
456
413
767
242
296
400
400
505
383
52
512
90
330
478
29
150
523
267
375
360
492
586
521
299
313
157
223
605
52
60
125
436
166
592
78
455
286
253
458
491
495
230
122
329
499
294
245
230
496
332
672
763
631
378
625
555
664
623
1110
223
238
494
287
17
320
590
167
484
71
107
552
264
534
513
652
385
400
367
129
663
292
313
40
397
187
376
175
237
118
317
511
330
131
409
551
374
366
370
414
253
181
258
495
242
66
568
257
224
233
148
331
317
603
272
452
532
389
870
335
350
429
403
330
364
250
26
443
331
348
156
201
543
156
552
178
333
48
341
485
491
108
484
322
278
69
238
91
627
442
547
417
153
650
452
246
170
412
124
399
471
388
158
345
730
754
217
357
402
591
394
248
398
469
371
413
188
347
123
473
875
504
275
393
430
345
221
526
519
171
212
127
493
380
225
395
101
189
153
107
626
270
433
552
207
434
211
285
195
787
826
330
194
355
200
361
73
128
770
210
427
562
341
435
534
344
223
91
351
314
775
741
486
124
466
195
472
566
41
136
244
458
556
65
286
85
316
373
863
628
435
378
357
296
478
560
316
552
558
329
354
366
175
142
622
410
67
515
213
282
313
406
179
513
56
243
544
96
368
419
465
246
379
507
154
90
287
153
311
263
207
567
222
416
216
659
75
300
321
191
141
402
262
77
782
347
305
273
610
199
140
137
293
564
130
316
201
94
486
132
248
100
477
567
407
364
609
302
315
807
355
296
381
464
186
240
377
215
34
574
315
148
577
393
70
296
70
214
494
531
243
321
235
181
238
148
320
114
164
382
315
317
680
765
133
449
396
602
485
437
616
353
805
277
127
110
465
454
587
283
414
329
313
891
139
327
534
298
442
416
148
83
260
535
432
747
186
103
363
543
445
119
581
398
514
432
214
146
411
757
825
607
194
181
280
313
711
643
479
109
608
196
88
114
364
420
452
204
517
248
569
78
172
171
130
420
599
459
195
305
394
501
390
645
340
523
236
251
301
287
400
178
165
467
667
314
740
471
134
85
407
177
500
711
109
337
567
409
217
491
218
435
165
402
572
110
509
395
394
74
104
334
219
351
112
350
81
178
500
489
222
593
501
541
126
436
193
508
360
448
853
118
350
541
498
516
139
513
265
707
453
238
107
217
517
24
341
207
515
633
340
408
366
356
698
288
137
426
524
141
86
142
50
382
286
830
377
226
72
394
137
323
283
237
557
135
304
393
124
55
538
427
60
248
57
460
605
440
472
55
244
91
336
358
522
554
536
111
506
676
377
498
149
316
327
375
477
145
394
192
267
732
467
532
415
388
110
255
365
417
223
597
243
383
346
320
471
487
64
81
460
236
425
208
765
173
171
268
194
510
577
44
106
94
420
300
390
506
391
467
249
131
535
398
97
415
495
552
226
309
370
334
714
254
136
206
632
566
129
316
498
309
889
103
763
81
81
459
469
369
528
217
268
440
370
732
110
169
620
405
146
626
697
715
33
75
285
99
575
269
101
653
84
709
405
228
318
64
37
552
341
632
388
147
329
140
340
473
162
261
503
491
699
407
754
576
142
276
45
754
140
227
204
848
375
386
254
152
145
1093
93
55
409
332
640
116
91
482
325
111
231
151
535
179
473
215
257
230
62
213
114
473
237
263
430
333
402
131
417
276
845
156
396
629
380
327
337
100
292
298
304
236
577
215
262
674
444
80
821
253
162
287
219
457
512
481
248
81
635
240
134
679
394
365
222
348
560
277
324
56
420
292
442
295
481
546
279
262
665
167
496
372
275
449
880
532
502
123
353
12
464
586
567
279
337
296
273
13
367
527
76
273
405
571
350
341
261
15
349
172
620
418
230
509
601
243
553
565
548
364
506
500
210
403
377
128
662
883
387
270
88
138
98
139
137
97
402
563
178
450
233
90
282
614
562
302
570
266
544
669
240
683
244
270
211
547
130
502
214
132
579
766
476
201
203
188
393
356
131
255
797
269
563
572
396
559
490
831
267
326
694
340
75
222
363
431
517
539
142
594
654
243
323
333
635
320
345
275
250
212
212
600
303
111
149
204
166
92
154
331
205
114
630
150
519
43
253
174
163
540
672
245
191
342
394
327
492
564
192
336
197
420
193
80
240
209
485
212
523
366
103
569
369
169
326
631
168
309
218
243
554
216
290
175
96
514
266
189
321
364
146
201
162
371
346
237
256
400
135
547
664
294
616
445
522
331
320
275
188
606
199
429
532
146
283
419
136
570
429
565
157
561
198
382
514
196
282
565
442
89
219
477
64
587
101
309
416
183
85
475
51
360
417
414
485
241
391
325
329
156
356
251
314
43
490
387
530
313
480
295
321
259
309
417
89
381
136
254
552
428
482
631
496
656
339
94
670
159
700
335
308
258
342
118
187
497
128
439
244
234
345
273
93
68
587
190
693
267
415
391
672
288
549
367
230
722
701
534
361
248
378
584
539
89
237
311
412
362
641
136
228
185
302
576
215
799
149
418
520
331
762
554
435
755
207
522
563
347
807
403
96
64
99
247
205
265
677
295
432
438
119
575
120
486
250
182
391
238
184
555
117
532
450
104
88
279
291
150
541
208
311
423
204
411
309
186
104
83
414
333
361
276
182
498
392
594
302
384
216
292
482
64
171
197
499
281
309
436
365
126
798
184
576
153
205
160
546
415
379
334
306
62
60
300
331
207
529
280
377
592
129
232
74
168
533
365
327
224
466
265
163
69
540
372
234
286
484
214
504
461
88
403
488
115
342
418
197
696
158
548
541
182
237
141
389
301
729
296
178
193
333
747
339
147
218
193
502
331
594
545
193
233
279
82
207
193
249
245
462
184
286
538
253
517
324
376
360
660
29
257
219
578
411
186
406
306
543
446
188
173
336
301
276
232
533
203
297
244
369
259
203
286
256
110
413
453
121
448
258
507
556
386
384
540
432
567
531
514
325
64
245
103
290
315
276
546
846
477
282
364
579
259
40
674
341
52
466
379
351
505
323
269
221
101
342
568
284
609
510
245
450
163
458
814
638
664
450
187
666
114
316
577
334
83
241
52
124
194
237
310
647
53
606
673
137
99
652
306
426
79
284
368
408
226
280
234
646
476
231
236
259
222
292
379
85
315
278
540
32
480
382
264
305
409
313
415
358
658
168
314
333
402
291
409
301
100
138
505
655
341
566
399
574
273
157
569
260
273
339
206
184
267
319
563
223
158
417
102
478
412
141
500
471
824
356
350
423
597
195
184
117
520
320
199
479
564
245
405
122
426
267
707
547
506
134
638
236
148
399
291
109
91
297
342
775
154
468
595
231
467
399
465
352
764
221
230
423
72
116
124
310
315
225
502
142
318
538
220
301
609
466
184
544
152
241
662
490
854
177
367
444
443
988
404
348
319
297
505
202
519
327
590
300
115
105
186
477
300
341
382
455
238
400
351
680
642
408
182
396
417
279
1018
72
876
311
300
383
418
281
260
510
200
356
50
94
404
614
107
549
94
513
522
530
360
250
579
588
534
351
816
166
205
247
57
732
463
439
520
388
68
625
93
191
443
89
234
240
402
328
331
174
286
248
741
254
279
189
581
329
88
797
264
159
78
266
445
41
232
204
221
147
122
220
550
421
419
223
582
532
68
384
71
557
52
493
267
362
416
292
692
760
334
559
860
407
84
236
187
623
139
536
152
616
188
603
288
216
598
172
524
327
519
734
297
342
255
416
195
855
543
479
269
770
628
124
372
333
120
395
78
422
142
195
411
368
159
624
356
174
329
208
421
558
593
633
132
769
143
377
481
364
546
150
590
693
187
82
505
359
409
327
470
525
258
419
188
486
192
215
603
123
376
403
44
379
144
213
632
450
304
387
346
229
175
168
419
187
356
318
273
172
454
413
83
197
489
146
897
467
194
305
122
746
424
721
364
245
573
155
890
239
394
869
377
278
125
215
380
97
681
289
570
174
359
816
715
414
100
661
11
319
111
474
76
263
452
615
211
402
417
717
220
109
184
432
661
603
168
258
142
696
22
395
342
360
255
365
332
423
198
613
311
118
59
492
345
552
365
358
390
676
316
154
586
162
316
43
255
822
400
254
175
426
368
68
496
284
644
497
252
255
189
118
333
360
117
291
374
456
250
337
195
231
215
129
511
638
363
462
273
168
589
371
301
464
312
248
437
204
309
406
313
287
286
492
66
191
214
322
165
683
377
326
425
428
183
207
115
508
382
140
67
203
160
238
693
360
601
243
198
330
675
264
430
392
509
115
259
182
470
126
361
365
156
332
508
751
196
423
436
45
176
305
376
528
296
203
356
286
243
265
221
693
149
571
594
679
608
374
683
663
318
318
328
97
488
745
460
557
298
96
258
128
80
227
474
367
38
536
199
393
568
90
561
333
459
565
468
444
569
472
254
372
203
69
616
262
545
187
38
442
265
157
246
121
1011
749
380
442
491
123
47
200
281
127
513
442
252
467
416
851
237
437
427
225
318
303
32
515
279
287
467
255
202
307
209
253
276
304
439
177
306
291
147
683
343
356
610
213
191
655
232
136
414
717
373
126
91
255
543
325
163
566
430
862
368
382
394
361
43
573
195
374
435
432
445
396
114
133
179
481
139
366
315
367
282
483
687
564
338
210
298
109
526
466
392
408
408
499
373
130
331
449
166
684
283
457
356
148
209
221
302
456
299
111
312
68
324
622
155
91
346
121
550
396
99
174
339
249
271
258
328
655
606
97
735
455
127
226
581
59
279
347
507
494
353
628
446
258
173
526
213
195
6
250
666
399
220
158
43
212
207
488
365
366
333
216
437
461
168
341
274
332
389
383
437
87
243
148
370
389
532
359
291
783
417
157
528
368
338
374
446
169
599
116
415
193
412
38
155
85
107
133
793
391
292
314
209
505
258
284
498
687
269
114
194
591
261
292
59
223
291
231
343
421
351
328
222
362
359
285
79
261
99
390
416
363
549
403
259
722
264
68
219
509
517
289
120
268
195
602
24
198
161
266
141
461
401
264
98
337
301
370
111
351
256
27
508
360
264
574
364
322
519
534
346
177
960
484
248
224
298
448
638
410
149
214
416
493
287
347
400
315
101
206
435
257
66
279
279
565
52
239
228
482
432
317
414
425
516
301
618
370
398
121
404
298
670
195
232
164
271
296
375
559
570
164
206
239
559
530
410
399
310
313
703
183
238
69
294
122
294
854
524
498
597
222
343
224
236
518
336
646
606
282
179
223
41
455
287
563
477
524
357
100
594
82
483
321
163
299
435
281
292
176
722
821
150
369
133
584
410
545
497
232
791
342
219
100
226
201
338
697
731
629
202
753
568
579
554
466
256
178
416
140
470
632
109
333
508
363
244
395
192
673
463
556
240
550
554
37
239
185
517
295
536
47
703
364
116
70
150
401
374
362
371
364
391
450
225
344
560
617
130
275
652
470
375
238
439
518
165
379
734
196
626
440
410
109
764
383
269
323
396
387
358
302
182
610
638
381
246
219
172
184
398
491
331
303
385
156
257
529
114
590
209
326
809
360
108
222
312
130
417
147
420
175
495
608
291
453
557
500
249
459
806
387
511
315
571
445
426
413
389
139
494
319
618
85
262
218
563
165
325
278
380
462
147
303
230
507
670
187
577
1091
269
411
806
400
549
182
144
337
726
451
583
704
520
107
607
283
316
189
396
156
141
339
505
361
256
329
87
355
140
194
144
602
463
480
350
187
593
745
322
162
242
383
535
166
109
377
373
364
426
289
125
475
144
52
195
368
310
89
230
36
542
390
791
183
454
470
329
332
206
352
466
107
243
398
469
234
274
859
55
528
331
169
402
395
453
268
98
79
634
601
269
370
201
300
584
34
642
229
142
341
277
812
499
491
24
178
75
671
302
350
285
98
175
608
484
147
877
392
287
333
474
344
67
645
205
436
355
335
670
107
111
176
274
249
90
298
280
382
397
626
79
337
391
274
128
255
253
1064
302
409
397
294
256
264
190
226
418
806
33
380
75
466
352
262
158
425
241
502
270
88
118
464
888
474
344
364
133
590
288
326
100
778
258
277
689
252
177
557
100
381
561
207
274
644
381
354
290
701
569
589
164
623
477
520
372
349
531
494
315
187
179
494
284
586
258
201
357
132
164
215
292
234
502
356
334
596
324
170
445
183
107
463
245
468
241
95
80
333
763
136
452
226
558
378
537
180
212
293
446
207
309
392
363
393
433
325
763
350
86
281
162
260
479
606
85
200
31
282
776
236
365
543
581
189
530
380
461
480
243
359
84
474
539
82
276
504
539
246
472
437
276
296
186
332
267
58
454
149
456
149
432
180
312
220
279
368
325
118
477
311
708
344
235
73
286
208
662
351
131
262
363
343
367
447
257
397
374
73
249
706
302
189
124
506
661
820
253
492
246
86
223
63
491
544
235
157
110
237
521
588
40
120
303
340
200
282
268
438
269
536
313
455
288
392
101
177
873
247
167
209
174
438
252
198
77
367
129
116
895
471
890
343
365
322
376
163
96
569
136
429
576
288
475
166
453
425
251
469
125
92
161
120
389
137
136
580
318
443
426
243
404
540
732
284
354
250
191
142
469
461
390
432
228
257
500
150
246
259
209
217
227
192
225
183
460
276
382
273
161
227
354
137
34
486
314
558
458
227
303
431
473
232
586
262
596
349
586
592
94
265
393
689
252
321
497
138
537
333
357
380
251
462
86
261
157
548
244
189
109
390
322
539
222
687
66
473
89
78
527
369
279
118
485
106
433
233
584
64
172
600
147
84
167
155
121
258
419
623
360
378
270
72
517
330
682
131
824
539
403
497
635
434
412
755
32
364
138
484
519
678
149
364
100
341
247
109
333
423
457
407
169
427
651
604
208
271
61
281
143
252
435
465
168
835
195
466
419
281
482
387
389
551
125
89
300
198
306
309
114
418
354
450
380
81
497
154
319
358
351
189
286
500
106
381
259
475
489
434
355
285
287
535
190
220
250
71
89
522
298
124
693
354
103
249
562
448
418
196
83
528
373
296
97
445
76
107
114
176
234
393
584
165
297
295
810
585
273
446
489
135
186
315
127
283
560
101
112
394
59
587
439
338
480
235
72
168
794
1055
235
151
433
337
420
422
295
600
232
373
71
413
556
636
73
31
603
342
334
801
325
566
293
296
561
72
452
146
467
495
379
442
100
536
192
274
434
255
295
507
288
283
380
323
169
222
403
350
206
196
239
235
432
48
587
409
206
460
330
322
272
777
301
403
40
498
278
234
179
333
574
672
236
222
270
234
138
456
478
36
340
175
170
231
288
513
197
553
131
311
85
250
75
182
186
101
412
439
570
291
733
203
411
635
527
800
498
425
540
187
184
79
75
103
284
796
221
529
369
451
219
372
360
668
298
202
753
422
121
244
292
165
190
448
400
109
307
472
92
553
184
550
115
608
46
336
438
471
331
150
445
344
535
334
680
453
237
99
280
418
520
612
164
319
558
314
269
491
508
281
597
538
198
294
401
306
344
278
493
176
94
354
698
18
66
477
305
91
96
195
401
119
484
338
262
262
303
279
318
112
122
164
38
240
448
611
649
230
149
115
277
280
159
666
498
317
261
404
219
552
402
239
620
302
445
474
355
48
314
225
233
651
207
167
314
392
206
211
258
499
507
328
631
445
26
538
177
462
600
29
132
322
304
397
487
540
184
85
172
198
286
176
699
252
620
97
311
276
542
371
499
594
169
556
204
61
440
321
127
299
404
299
123
370
401
452
336
353
295
545
506
197
256
278
251
113
205
462
602
48
532
241
571
458
353
610
461
477
534
613
278
273
335
213
292
117
748
184
112
368
316
123
458
205
487
468
429
520
57
270
589
210
223
973
351
198
367
412
337
593
458
149
208
194
62
710
546
321
352
325
396
347
29
297
163
565
465
386
589
556
553
301
352
412
5
89
813
133
232
547
280
188
747
432
223
676
360
216
379
575
870
272
441
284
588
245
85
189
172
677
239
403
71
759
587
356
316
472
394
303
345
193
47
235
866
442
238
117
140
381
172
449
61
215
468
386
102
182
226
357
174
286
473
359
912
142
156
217
294
364
501
331
295
578
258
107
176
632
189
789
181
414
219
569
226
582
67
9
257
674
436
96
188
236
65
202
616
407
516
74
109
283
511
393
334
289
642
384
822
141
157
79
353
144
33
358
382
492
697
323
368
521
112
143
186
660
421
224
407
203
201
155
79
507
116
187
252
350
477
610
632
120
203
231
536
302
572
403
435
435
103
587
349
195
603
629
264
278
39
293
665
309
338
250
373
603
297
476
211
171
123
285
478
557
124
403
475
489
246
192
188
187
475
308
151
334
60
325
661
626
386
229
313
264
572
471
470
236
416
281
290
150
204
255
402
747
226
441
483
696
267
625
476
454
612
516
552
287
287
255
43
583
197
304
742
582
221
100
215
666
359
401
185
498
456
86
125
429
620
350
211
395
864
375
511
475
231
658
787
354
152
492
266
347
370
230
482
259
440
143
144
153
512
231
419
448
239
388
218
580
451
111
52
240
566
143
655
510
298
265
306
833
102
614
612
404
138
244
506
196
301
554
87
643
266
116
612
269
79
360
698
587
314
243
389
257
185
367
205
239
414
749
370
93
313
744
325
278
220
331
334
529
278
575
578
425
348
181
394
507
398
573
227
236
216
297
456
129
339
27
141
404
189
133
70
656
223
281
154
453
273
445
182
106
226
428
578
479
396
568
477
152
407
211
502
304
290
332
538
124
102
107
215
792
81
550
284
283
236
234
330
371
306
490
299
278
82
58
114
405
334
44
428
780
167
378
153
1011
66
468
471
590
214
449
439
61
339
118
372
84
261
338
482
543
577
550
35
416
312
122
85
451
308
558
427
438
396
328
542
170
215
324
183
208
254
48
487
363
236
50
496
197
655
266
324
438
228
243
554
138
316
251
225
400
49
458
509
165
228
95
192
359
837
550
110
436
128
423
157
425
180
76
519
54
372
441
310
481
225
283
278
582
555
752
126
259
386
265
682
134
90
256
330
1116
143
429
312
240
260
201
352
427
457
452
126
538
196
287
466
351
436
692
139
609
162
407
657
532
627
446
388
196
211
204
283
246
580
571
315
532
12
474
222
60
683
487
60
700
111
236
192
229
94
575
383
299
315
181
532
29
333
190
496
35
360
521
793
38
305
439
582
184
299
492
419
244
273
479
322
51
774
206
567
116
486
398
278
419
242
419
279
406
212
426
196
315
33
218
54
414
494
92
106
238
392
49
57
447
761
368
294
487
378
294
583
266
495
516
222
533
166
608
236
245
309
694
595
392
235
366
382
847
378
276
199
124
197
366
182
404
158
246
672
278
347
244
253
82
37
333
142
446
418
248
256
590
36
915
199
286
269
131
390
259
223
426
415
315
401
586
629
339
306
649
314
136
236
141
452
319
441
75
475
128
495
329
374
359
554
387
625
562
331
289
155
604
399
646
550
278
901
332
200
125
814
501
453
331
622
106
171
227
341
237
301
224
857
332
461
784
408
261
175
628
610
158
300
169
185
511
293
239
195
327
234
546
50
356
182
206
204
419
109
391
554
473
461
249
871
215
408
384
432
547
695
112
360
124
544
293
381
484
279
385
350
249
321
274
669
328
314
708
882
378
478
280
477
436
495
346
62
138
766
466
65
371
311
638
147
334
245
570
375
275
339
330
417
363
852
387
137
275
767
373
155
413
167
372
642
557
474
287
455
365
496
440
877
250
65
250
299
73
272
207
753
449
376
213
546
95
566
281
148
104
234
291
490
617
172
685
104
294
387
267
375
266
317
500
373
772
256
203
405
508
59
783
64
390
203
56
199
183
741
368
427
499
266
389
293
376
385
113
443
406
471
85
312
467
744
302
114
376
586
274
273
500
278
377
229
67
252
147
515
341
511
452
218
343
315
339
250
231
482
397
282
86
290
406
303
330
368
677
275
257
15
571
219
637
613
377
380
268
301
301
286
149
357
333
582
347
441
210
336
144
559
382
198
324
1090
462
190
76
187
531
320
214
427
518
120
162
84
295
412
554
452
40
397
289
266
682
341
420
112
450
227
333
213
370
1034
150
100
159
310
302
164
473
86
118
424
261
378
344
794
492
309
165
70
128
192
264
386
556
269
213
223
683
616
685
306
574
1029
280
469
177
68
308
530
131
327
650
87
315
211
77
441
218
259
348
45
728
437
328
686
465
247
158
139
456
666
106
101
141
476
200
167
121
224
474
169
316
413
564
278
143
369
594
584
171
280
490
447
319
156
395
468
879
121
283
31
145
556
365
378
307
321
212
309
315
407
62
355
356
468
516
166
459
594
277
198
370
228
767
636
190
549
84
102
150
509
177
275
544
149
249
164
682
253
473
588
31
400
589
167
216
412
448
86
385
201
389
407
380
722
403
404
347
292
556
444
673
249
139
369
365
130
419
377
211
289
544
629
209
482
63
173
630
316
588
585
288
306
273
368
169
550
496
246
62
189
434
584
482
246
80
488
490
628
334
626
780
154
332
63
387
711
238
238
86
155
277
350
261
614
298
535
572
326
474
136
152
256
166
480
800
348
78
419
609
439
182
883
203
481
436
377
481
313
173
417
340
192
341
664
368
143
175
541
437
85
420
252
221
155
333
733
529
50
791
237
383
200
711
87
647
530
615
93
281
172
273
536
510
145
337
216
429
161
338
590
261
310
138
397
211
526
793
324
139
465
144
167
341
502
213
450
601
92
329
157
795
289
393
621
396
556
417
350
276
407
324
508
287
491
538
581
784
173
1076
673
196
154
187
205
189
226
596
429
408
217
792
289
339
362
1035
488
307
265
667
148
389
368
467
380
762
340
743
479
383
666
546
452
916
231
37
455
302
91
473
835
567
48
444
296
382
683
163
814
353
500
77
275
442
366
391
148
166
142
326
51
684
75
339
72
181
471
247
412
214
372
630
232
791
168
108
368
473
137
377
351
305
293
249
283
222
54
229
531
559
397
552
657
77
77
428
263
415
371
141
501
432
96
264
212
376
302
501
228
407
778
336
658
528
434
250
220
362
217
237
517
552
588
503
362
340
131
481
575
272
596
400
286
378
95
147
270
198
549
171
461
570
137
473
254
484
546
126
315
360
341
285
528
279
433
37
78
324
186
526
889
417
229
688
335
395
340
152
589
381
262
662
594
626
56
388
507
581
339
180
548
222
824
482
364
267
317
594
369
443
170
433
549
148
372
355
350
446
341
484
529
177
126
374
250
178
165
75
363
202
531
210
138
119
369
315
415
706
157
592
416
590
198
381
359
429
383
496
721
125
453
179
94
124
324
284
330
330
431
597
248
335
302
511
230
261
657
509
636
667
268
676
216
247
531
419
192
351
299
455
173
401
560
189
179
68
318
509
418
440
331
122
1090
483
275
553
496
282
134
96
227
251
518
466
496
490
399
22
143
418
195
728
500
245
90
227
455
748
241
520
269
324
436
94
331
171
191
374
243
344
519
284
28
154
667
476
221
527
180
203
333
282
81
63
536
609
231
460
345
127
632
456
324
274
234
248
522
379
197
143
43
680
749
200
107
378
38
245
235
519
151
465
521
377
125
505
243
262
543
86
201
252
468
414
580
246
143
329
82
486
160
54
507
364
269
293
581
520
219
570
280
109
89
223
187
375
165
413
285
174
327
391
386
658
433
293
467
227
754
227
235
90
657
444
143
808
410
595
301
582
296
329
442
196
336
240
734
126
319
665
154
255
117
376
397
444
320
580
530
146
76
410
285
464
72
589
320
539
704
174
317
72
717
760
380
203
145
92
530
84
153
58
250
364
377
337
216
196
342
85
204
442
593
394
209
361
387
103
217
188
269
256
310
165
262
318
407
324
286
129
403
127
268
432
357
308
185
250
345
344
51
195
552
617
327
582
635
379
34
322
248
310
248
259
122
585
415
172
217
256
416
49
85
118
190
197
248
200
236
359
280
349
97
234
498
152
106
717
689
169
352
605
368
480
183
474
748
123
541
105
591
371
359
528
341
341
109
494
605
237
69
110
360
243
340
649
372
228
283
171
253
462
297
98
646
456
460
405
695
499
144
325
163
505
75
655
500
426
291
196
318
491
474
259
365
304
81
202
243
51
88
425
296
119
385
365
272
353
74
579
680
292
292
496
453
300
415
215
364
524
493
432
314
817
184
514
532
232
419
403
405
165
266
250
619
207
158
193
77
684
408
242
486
232
241
348
150
352
124
228
168
526
294
219
208
257
281
373
371
652
184
415
238
573
205
317
49
405
384
565
429
436
225
427
155
117
441
177
304
373
327
423
184
269
660
522
286
467
496
521
445
371
390
306
72
387
148
328
558
519
788
144
362
559
229
565
344
310
453
185
112
243
624
438
531
218
508
327
170
433
128
433
645
136
414
253
290
481
460
291
823
149
600
487
168
371
611
634
621
546
567
207
196
450
405
370
187
317
85
366
706
277
457
412
448
325
143
547
495
296
595
360
316
277
422
181
382
100
701
271
584
108
522
873
67
158
90
123
546
140
877
786
539
283
632
105
134
116
175
556
459
223
365
209
217
143
364
270
132
190
488
556
158
15
114
1064
312
61
410
488
12
226
354
224
601
74
100
532
325
298
380
35
281
349
185
476
849
103
479
376
783
217
286
549
600
279
286
195
242
231
521
191
398
360
169
76
329
61
410
263
82
121
181
381
1090
670
334
335
159
351
229
341
762
281
485
104
169
492
352
612
234
351
214
272
475
1033
316
625
120
245
155
325
267
231
281
318
549
286
334
104
405
685
191
266
461
472
252
369
422
353
419
433
383
342
339
168
488
316
33
306
433
464
142
481
590
110
462
242
342
368
276
213
190
418
131
609
301
298
305
442
577
135
446
363
762
327
132
269
169
533
347
146
549
115
205
186
183
785
407
146
334
429
164
236
187
142
546
309
608
290
137
189
346
161
216
316
310
40
53
104
317
599
330
205
509
634
447
138
422
420
273
424
186
306
87
223
570
296
89
303
534
380
404
171
426
289
89
1000
313
401
198
139
288
574
315
392
387
717
476
466
178
361
377
622
93
622
247
37
218
470
540
514
360
600
652
348
225
123
65
241
265
466
496
497
534
447
889
250
549
453
422
333
346
297
209
690
699
190
396
188
131
521
463
226
270
281
118
636
219
337
435
541
246
302
195
569
111
22
167
222
155
447
588
468
527
61
272
70
291
490
448
210
591
476
142
244
349
218
591
587
342
174
569
244
656
149
223
631
371
459
441
270
155
479
891
306
260
383
202
94
491
417
231
332
112
613
501
329
210
514
178
215
692
339
106
197
491
21
108
150
178
408
424
903
243
421
379
545
256
604
250
525
338
297
110
436
635
438
774
514
380
186
396
657
575
257
169
284
423
363
59
82
579
334
475
262
501
263
659
540
58
90
464
706
355
105
362
497
228
26
377
700
157
427
658
364
371
298
118
265
343
531
414
150
107
176
173
208
267
407
196
221
115
210
621
429
462
411
129
606
347
145
159
408
491
37
493
251
300
440
373
64
597
260
354
243
650
181
355
237
293
302
166
332
465
636
150
164
60
228
730
466
328
132
118
187
226
306
276
45
41
1083
636
174
711
377
562
756
509
338
263
430
418
213
117
617
173
142
396
162
490
30
207
208
449
649
373
354
104
365
397
77
436
298
92
336
314
615
365
531
342
220
183
569
365
513
171
483
309
409
51
387
372
342
247
394
75
359
531
457
222
387
432
614
86
201
484
57
472
109
161
176
317
312
514
209
265
338
585
14
300
558
234
65
465
869
143
308
822
323
591
399
282
781
130
435
514
278
599
379
156
359
630
162
709
604
316
393
830
786
389
243
343
348
165
371
144
424
269
204
425
351
160
498
478
381
65
194
73
447
218
788
115
375
391
553
101
208
370
329
86
158
628
303
167
422
234
237
516
58
446
20
250
371
210
478
277
169
485
363
373
693
346
288
396
561
222
350
975
276
391
206
451
445
404
132
820
510
639
73
296
493
188
422
357
454
138
274
819
739
440
672
316
236
337
387
50
448
145
387
502
77
169
834
246
327
376
420
295
632
282
528
424
24
368
740
187
294
301
362
56
526
705
232
479
700
398
172
487
149
323
306
279
497
470
458
137
151
368
488
237
889
531
196
625
352
411
539
217
217
366
122
263
403
701
572
72
755
246
450
495
127
575
129
461
295
654
312
68
193
259
217
118
126
603
271
300
338
600
283
550
224
490
520
331
92
509
577
143
493
304
110
367
420
467
401
141
807
503
131
754
592
520
259
167
439
304
144
549
228
390
30
468
568
1050
392
988
310
304
531
73
298
245
428
579
520
114
63
107
657
258
161
473
370
418
68
251
401
94
249
365
182
512
198
576
294
449
593
183
397
256
543
796
448
350
231
381
540
507
341
88
192
417
580
352
398
898
305
495
538
769
422
619
68
307
207
239
400
54
539
493
717
397
128
120
282
250
249
644
242
761
124
492
368
187
371
493
470
257
268
124
688
446
332
354
261
836
266
264
525
187
282
386
108
453
266
126
397
214
174
396
397
304
538
511
227
253
280
228
87
466
327
153
279
672
89
317
251
210
380
437
416
368
372
127
241
424
869
543
658
163
429
506
374
641
272
158
469
386
256
410
597
274
729
499
416
513
339
55
30
425
793
639
535
830
94
475
430
520
278
683
536
38
349
221
420
161
625
403
78
431
507
356
153
692
611
457
348
352
369
213
238
192
297
261
379
550
211
776
229
477
344
597
381
303
252
342
453
369
385
355
413
273
259
292
567
486
424
418
198
499
435
16
630
324
339
321
333
237
60
119
456
594
448
191
437
249
436
245
674
136
397
159
195
446
432
539
718
186
479
541
540
766
404
811
59
184
336
83
176
435
607
215
439
372
293
340
326
486
98
489
594
365
517
391
355
373
46
905
356
84
282
469
581
326
479
629
208
336
235
316
441
120
112
394
635
97
412
505
164
378
597
368
183
654
291
299
437
417
532
249
133
252
569
273
459
118
311
61
196
327
398
195
397
198
741
53
617
328
590
219
317
361
374
229
403
479
398
688
162
556
463
529
573
424
329
540
185
423
661
76
404
352
229
459
532
449
676
526
213
673
453
137
293
289
503
167
255
526
216
405
516
700
520
134
491
461
234
259
524
797
108
663
661
389
620
274
87
512
878
34
324
378
434
162
169
188
731
482
345
282
396
266
287
285
87
424
262
358
450
235
276
489
414
284
318
376
355
479
694
152
159
506
172
478
84
249
191
254
300
402
150
589
385
273
265
562
409
195
249
129
267
152
263
243
289
156
163
487
634
257
542
251
166
644
124
334
262
122
78
74
455
188
289
310
249
250
134
483
365
341
82
275
710
66
452
543
362
237
522
548
467
107
557
328
428
326
608
210
227
231
27
89
306
892
588
153
53
136
325
204
495
462
62
99
726
396
216
395
761
316
244
254
261
234
218
549
288
324
239
76
553
381
144
372
358
257
435
248
532
351
578
393
348
227
233
347
406
332
204
445
446
408
106
526
227
287
354
449
368
133
209
261
169
377
472
78
195
474
636
267
371
233
420
175
325
199
386
457
344
257
570
503
438
590
350
92
67
543
428
294
317
284
551
92
170
314
475
170
176
311
533
703
421
276
553
330
594
475
155
102
113
250
496
410
405
164
414
240
465
625
351
509
329
221
589
366
345
339
340
268
159
423
368
412
285
442
92
757
100
667
163
122
405
222
268
442
338
135
613
227
172
227
337
298
543
390
268
149
709
237
358
233
392
543
576
399
434
220
339
376
211
562
204
516
358
610
374
346
714
494
37
212
542
441
147
403
251
111
510
241
352
472
191
496
554
527
372
337
190
276
47
410
455
250
412
294
345
152
286
411
372
351
681
500
103
381
447
330
476
230
286
191
225
44
493
415
404
429
158
659
564
214
205
409
518
278
278
393
48
132
405
223
487
135
286
101
536
85
375
579
115
346
142
141
120
105
420
549
393
716
389
468
80
72
138
200
617
382
633
526
245
40
223
205
299
360
273
297
139
482
227
284
274
170
177
324
316
171
455
144
222
331
461
479
559
51
352
300
250
283
31
442
149
248
768
30
336
367
230
687
468
392
354
341
300
591
596
574
401
407
487
435
511
175
246
412
474
239
166
509
343
243
586
322
50
181
632
242
340
500
242
611
355
532
169
586
681
110
219
360
236
503
366
365
321
331
111
219
806
126
242
611
121
421
173
426
119
276
397
425
186
531
371
465
540
133
322
195
110
108
167
356
464
254
454
36
15
337
345
245
213
130
312
474
203
441
332
640
206
451
307
458
397
543
122
524
490
244
186
333
213
432
282
274
340
89
709
237
433
401
506
522
386
355
245
472
312
420
218
260
135
103
282
90
478
285
321
434
116
77
87
267
544
414
354
359
183
481
167
382
307
309
597
88
196
326
64
407
447
451
468
234
344
406
709
473
375
471
494
188
72
431
312
279
208
121
32
738
493
30
262
53
255
448
792
425
453
96
76
258
184
648
184
352
857
273
118
311
617
377
519
366
415
232
734
569
332
364
451
383
181
231
518
220
18
180
361
382
242
372
173
127
75
70
581
653
192
515
659
295
542
366
377
94
303
475
377
335
203
205
335
724
327
376
309
465
837
534
801
824
368
432
249
82
216
334
493
612
320
473
346
380
178
70
170
269
349
295
134
455
361
463
546
256
320
258
285
234
562
425
196
210
196
604
52
699
434
247
363
349
178
263
244
455
293
657
172
327
376
208
405
487
231
75
354
406
391
663
464
212
368
225
175
847
305
535
612
486
491
292
260
595
140
243
515
332
177
835
471
156
370
848
256
422
295
704
504
585
78
527
226
267
406
212
618
345
205
147
101
468
251
889
256
197
471
315
366
169
553
114
189
438
428
648
252
271
95
183
201
329
432
441
533
130
559
497
111
408
294
210
113
485
263
196
460
717
122
610
422
430
905
388
791
440
351
618
230
161
136
547
149
103
351
442
447
291
654
439
388
281
94
199
700
275
436
137
431
146
521
194
645
115
236
266
419
476
190
372
348
568
503
266
455
559
169
586
149
585
215
169
326
206
220
484
203
78
217
124
484
342
410
134
474
265
72
385
428
752
132
151
838
177
302
328
237
122
243
364
54
176
379
352
41
494
193
108
281
310
124
374
480
472
280
500
351
479
257
128
339
663
143
559
419
526
705
575
273
726
125
213
146
178
153
241
127
587
459
194
122
696
223
346
194
276
401
522
118
134
668
467
457
340
534
458
220
432
257
201
325
177
51
236
246
385
377
332
370
280
74
211
381
378
298
94
359
234
288
235
278
105
275
100
27
138
721
295
286
377
769
422
621
78
208
246
304
143
260
472
562
88
542
245
188
420
323
521
386
387
622
411
293
142
225
194
286
168
475
794
373
534
146
165
872
371
642
355
95
400
87
79
187
184
286
209
461
183
290
318
362
187
168
269
515
180
128
394
371
453
133
487
540
50
891
421
484
798
240
340
170
338
142
312
50
81
394
104
125
213
299
471
100
489
592
325
364
404
180
29
121
710
668
193
487
122
220
161
545
78
601
838
97
611
309
80
46
509
102
964
297
499
105
165
478
235
559
228
186
540
53
279
365
405
731
376
203
264
271
196
479
235
37
541
218
322
293
108
864
54
423
176
265
175
686
512
238
267
317
429
340
314
252
166
386
411
333
160
361
627
513
754
366
244
181
699
155
213
368
197
522
589
525
87
500
204
157
318
730
565
47
117
523
360
601
483
342
408
357
486
321
343
472
480
531
166
322
562
494
392
283
279
69
261
515
298
388
223
561
246
85
359
722
147
379
491
505
679
641
556
106
264
286
375
430
501
523
180
149
378
572
381
393
452
274
252
233
298
185
391
269
713
179
172
140
288
790
352
417
479
505
542
204
273
45
710
779
265
277
537
295
302
87
681
610
561
771
415
51
635
372
485
67
148
199
506
259
699
474
193
118
328
140
111
195
604
566
255
710
305
89
141
271
597
250
471
570
543
524
535
171
132
331
304
257
62
174
365
329
498
189
435
726
199
350
118
204
267
502
369
454
384
70
512
434
437
456
232
263
610
169
193
560
216
544
213
195
107
213
524
340
434
293
592
109
301
198
22
50
764
511
314
353
555
1056
262
346
350
435
438
768
196
510
224
407
255
55
640
225
532
351
175
677
618
745
286
323
120
451
130
97
397
173
312
165
215
137
36
490
431
142
408
283
520
211
230
619
301
457
215
312
225
296
165
369
355
89
69
617
119
327
453
701
599
379
178
494
150
271
368
64
686
72
210
258
398
365
89
443
332
245
100
275
216
138
301
733
144
528
416
216
318
595
123
294
247
153
518
493
537
99
36
117
164
76
417
58
255
131
238
242
229
249
487
564
444
593
166
571
460
788
560
300
453
426
325
543
467
154
232
342
348
63
273
250
455
242
42
850
794
81
135
433
442
277
237
395
80
78
514
262
401
428
333
315
227
315
458
668
170
150
473
315
315
45
49
488
91
496
533
98
203
254
116
374
724
286
432
406
162
286
594
479
215
456
513
97
99
325
315
247
191
280
238
77
593
406
315
518
179
248
355
702
681
572
91
332
190
426
159
261
143
112
620
284
212
373
227
342
248
82
398
232
348
272
188
266
475
612
375
145
537
614
333
532
197
454
174
670
805
446
94
388
386
252
363
727
632
76
142
520
176
107
359
658
356
169
281
187
172
137
261
285
263
152
322
215
279
533
231
163
223
554
468
191
366
123
764
711
336
498
237
109
397
517
345
123
193
131
515
212
404
248
209
476
174
451
302
300
136
347
67
567
556
75
664
454
366
247
336
186
388
631
327
81
259
206
359
322
354
192
218
88
795
226
681
105
375
195
345
179
288
285
142
351
251
885
830
426
259
644
680
385
81
394
487
228
301
1000
343
408
334
429
228
337
515
414
645
852
56
590
179
451
258
279
483
333
544
378
282
250
38
249
124
215
190
306
85
280
355
225
177
770
563
101
602
74
198
519
527
158
664
464
832
58
98
172
456
355
494
423
443
238
249
271
355
416
197
686
423
175
371
148
348
383
78
363
513
181
528
361
202
255
406
110
79
67
617
78
548
742
371
328
262
272
276
342
335
82
132
260
403
317
212
416
273
597
663
287
184
391
213
361
420
243
376
409
369
177
624
384
219
622
668
280
333
524
281
318
284
546
302
162
425
665
457
276
490
175
872
150
148
239
419
240
539
237
523
365
339
533
57
544
174
135
696
410
108
310
335
563
267
594
154
151
467
420
324
456
96
55
294
153
283
804
299
406
423
114
375
268
390
255
244
383
609
358
313
515
367
371
141
417
411
529
318
275
332
464
460
350
224
497
213
175
607
234
325
419
197
449
222
144
255
672
542
295
273
635
272
343
317
497
343
101
509
234
244
146
67
169
308
477
464
480
525
61
425
603
291
110
194
352
186
390
575
545
178
399
60
731
272
750
267
549
394
447
80
503
560
494
450
210
625
652
309
543
46
365
381
181
342
220
303
438
334
557
356
556
673
210
144
399
449
444
318
290
442
564
575
242
532
110
719
516
71
408
298
245
159
493
791
449
770
802
230
545
711
373
247
99
357
520
208
63
70
134
459
241
45
521
363
271
623
79
254
477
165
863
519
121
337
624
378
367
50
257
260
325
823
468
487
548
181
245
543
259
371
257
370
135
353
123
560
46
97
116
382
92
418
298
837
260
566
407
164
445
491
445
189
859
457
545
350
388
100
100
386
202
368
553
175
343
331
267
70
562
509
135
755
318
660
376
504
379
105
492
483
388
487
512
302
102
437
450
117
92
152
279
582
418
96
173
396
433
525
657
427
120
458
252
454
163
76
363
184
165
252
652
242
333
359
235
108
354
78
422
606
370
358
629
73
345
224
348
124
303
501
423
243
234
426
266
507
107
379
146
211
225
169
149
686
379
527
169
480
240
158
293
261
727
577
403
143
204
81
256
378
238
141
242
360
177
428
223
148
358
729
354
212
277
255
299
603
435
134
125
181
612
569
90
61
183
362
251
276
339
150
594
503
104
382
307
598
99
100
307
601
312
290
130
513
33
285
453
272
511
596
308
256
682
99
520
168
619
295
302
92
216
324
134
604
436
603
389
713
614
204
238
103
141
443
352
261
489
150
191
387
192
118
491
387
194
330
301
401
563
241
461
305
264
732
68
207
139
771
258
362
193
270
73
477
298
207
28
411
219
265
155
489
409
469
347
420
490
271
319
589
478
336
443
460
429
174
232
424
268
533
398
580
574
149
143
449
294
283
263
453
163
535
428
516
653
184
518
633
573
558
1116
412
582
287
85
724
371
252
318
422
214
111
61
296
333
330
659
175
231
149
805
218
668
338
328
219
35
331
311
85
413
815
177
243
453
507
328
511
794
141
389
375
264
337
473
366
325
484
194
474
301
284
366
228
428
549
123
199
282
181
99
319
291
236
158
142
230
345
500
395
74
298
290
428
198
180
441
80
156
155
649
293
156
663
345
449
446
31
174
577
326
478
223
304
273
350
303
84
210
415
387
108
366
248
429
242
373
333
372
274
326
269
483
265
260
186
579
363
712
502
334
410
578
553
346
123
290
304
281
653
653
343
347
78
12
501
223
285
534
799
565
536
484
752
188
161
346
113
243
188
280
222
410
661
231
533
446
465
341
224
645
218
352
367
236
228
51
373
389
105
376
534
245
244
311
139
288
282
339
13
381
449
126
242
186
300
501
465
506
279
160
545
380
104
438
122
45
135
278
235
107
297
199
125
188
104
284
591
134
485
176
360
313
344
277
215
284
517
538
668
107
494
172
178
237
385
167
201
223
309
605
388
539
92
444
557
174
237
117
72
738
411
597
56
189
75
229
111
343
378
414
439
435
452
781
217
468
365
439
176
447
318
461
309
314
325
268
546
337
218
368
295
393
339
832
91
447
174
700
37
376
511
255
402
112
220
468
397
270
489
217
628
387
365
75
377
258
696
630
660
590
528
159
500
68
393
190
36
898
297
261
337
275
601
173
166
391
147
611
376
368
438
543
488
198
196
407
323
292
272
709
481
515
367
230
257
78
340
477
455
305
686
332
206
79
353
34
49
70
284
519
422
194
181
237
368
527
139
337
853
377
346
750
686
517
387
196
588
374
370
121
630
101
613
204
702
497
397
276
223
282
268
642
65
254
237
78
612
422
402
199
212
69
566
548
89
408
230
78
378
291
172
227
393
308
788
409
371
281
287
160
94
165
65
435
543
203
219
283
281
134
672
402
254
287
533
504
399
655
339
247
362
411
255
315
36
917
356
295
528
396
366
88
230
401
294
35
596
566
43
410
306
118
318
187
456
177
397
307
365
166
544
269
469
221
532
191
384
209
818
495
456
366
798
381
184
208
502
172
145
448
290
518
118
178
399
249
70
185
494
520
144
321
54
32
84
679
149
353
213
187
480
656
379
91
332
165
572
381
367
351
680
219
264
112
384
472
652
696
331
486
604
235
77
274
105
598
280
38
524
529
197
233
252
153
75
44
254
291
344
760
348
463
313
163
86
392
211
354
273
364
541
131
445
143
48
82
518
113
482
318
211
567
747
121
884
117
351
566
720
192
243
485
532
417
56
101
461
440
324
409
737
626
310
465
357
152
517
920
370
291
679
322
665
87
349
136
275
369
76
426
367
664
250
245
294
651
156
262
700
293
549
206
379
356
701
322
301
587
93
685
73
338
82
156
154
395
373
424
170
426
761
133
510
656
508
363
62
664
640
214
793
603
454
421
852
519
381
539
295
212
244
53
308
56
196
492
53
228
254
556
494
282
482
160
310
566
460
320
394
73
274
454
315
81
827
203
579
158
48
237
557
821
195
231
333
201
427
73
70
207
234
229
416
350
223
369
194
709
319
485
65
658
252
368
433
367
211
285
114
424
632
355
644
287
299
663
156
499
193
173
748
245
148
487
62
329
347
562
328
461
189
262
200
333
375
544
91
570
259
333
564
60
519
439
448
302
228
232
161
466
448
331
309
210
552
599
95
369
652
38
412
290
496
41
278
172
370
338
325
523
26
383
366
626
764
277
541
545
131
284
143
183
525
548
209
402
530
123
81
444
340
510
70
301
171
442
325
606
375
307
194
616
143
383
210
460
275
490
452
82
291
333
222
404
228
156
247
255
207
600
204
149
85
292
894
63
525
152
251
544
380
98
231
263
215
505
521
119
132
805
319
102
1104
284
166
492
605
604
314
533
187
667
620
150
472
143
103
150
404
539
141
81
226
239
63
617
129
224
288
467
244
342
316
301
347
731
560
431
266
281
307
571
99
70
569
385
154
419
288
227
226
79
287
59
470
553
17
346
569
144
171
393
221
739
700
398
101
752
93
246
803
416
482
391
172
823
126
168
788
406
242
246
916
273
196
226
384
143
332
292
502
692
280
122
239
198
170
554
657
668
310
567
396
223
188
536
141
395
72
258
714
85
79
383
112
255
727
64
517
520
294
73
140
812
168
463
301
588
729
456
510
368
400
566
318
419
300
363
446
620
311
381
209
331
500
300
694
244
192
511
385
354
63
627
204
13
205
561
193
322
352
231
404
190
449
687
97
230
212
564
548
354
182
322
659
131
807
399
270
68
433
560
346
412
695
348
879
661
459
156
313
447
821
564
609
353
801
320
213
151
248
91
93
279
223
736
437
274
323
600
678
214
198
324
385
381
205
633
661
351
385
276
259
400
341
587
245
466
324
225
426
379
328
218
844
189
384
110
247
150
572
176
126
141
664
665
850
544
285
457
242
253
164
659
535
873
210
391
204
300
435
227
34
200
572
104
540
128
518
304
495
472
400
384
356
458
222
613
160
293
266
387
108
200
280
391
363
230
562
209
273
178
493
189
456
332
240
371
196
350
371
325
115
132
456
246
474
82
723
330
430
265
256
234
421
255
319
159
364
564
361
240
264
343
586
353
856
341
245
531
220
530
209
30
553
454
118
686
155
196
48
339
166
132
109
679
425
253
260
345
203
264
427
257
526
526
449
483
444
512
566
255
330
177
348
520
286
359
645
543
313
171
256
81
423
596
379
163
630
583
481
203
293
106
465
471
424
373
411
70
496
548
142
98
534
620
107
126
454
494
314
291
51
258
164
434
228
270
79
440
80
405
460
129
237
401
455
174
807
543
176
283
260
774
422
56
484
407
694
572
325
307
206
177
294
298
673
261
716
579
475
430
420
219
504
130
102
543
60
254
203
423
330
168
167
122
311
740
62
445
247
230
401
330
351
518
417
360
328
388
151
146
536
83
361
546
444
359
224
130
116
499
329
302
530
346
339
281
381
477
364
572
212
330
493
476
629
393
498
134
55
308
246
186
258
404
316
249
226
655
274
565
218
406
489
571
230
70
114
610
579
614
339
138
856
231
524
646
621
427
403
269
74
71
618
133
793
148
62
137
11
558
443
693
240
564
976
92
336
48
633
197
573
137
372
182
800
110
274
162
729
153
360
367
579
313
191
324
236
470
688
159
764
360
351
568
536
737
569
324
147
288
267
458
100
32
200
232
396
259
297
312
114
323
40
484
420
247
545
645
41
129
493
369
201
618
104
133
206
449
235
301
381
542
188
396
610
585
203
342
537
238
305
211
98
451
174
237
246
400
492
393
392
502
574
126
285
440
140
137
146
262
145
302
733
726
517
360
328
468
84
344
316
123
137
648
256
77
230
139
147
457
337
109
487
277
470
553
958
393
294
131
432
378
294
810
322
478
256
611
203
93
530
481
450
144
548
247
316
342
791
323
132
259
351
370
451
396
417
544
127
388
393
442
462
116
420
513
617
447
346
161
484
416
445
171
390
465
224
266
288
310
615
302
407
170
500
340
300
353
95
456
325
308
102
660
145
357
741
281
556
389
121
443
216
257
467
519
469
176
297
220
153
288
220
107
526
355
229
550
123
219
462
511
356
560
509
404
242
351
155
234
97
292
516
181
424
11
285
276
841
383
65
331
535
186
107
629
696
416
396
870
499
293
401
746
253
678
481
365
362
763
209
82
80
241
59
255
366
294
571
231
251
99
116
135
368
137
491
231
669
317
252
267
271
393
398
387
381
311
409
170
265
129
729
263
405
405
352
470
415
308
472
484
310
200
659
245
319
1065
265
465
232
495
571
116
26
281
585
521
522
132
548
344
273
267
143
391
306
57
328
372
424
169
510
679
472
556
350
421
616
265
489
579
167
312
686
617
73
513
277
254
334
112
176
125
255
110
429
454
141
26
341
410
477
303
270
645
793
423
664
1028
240
159
93
260
618
373
416
399
76
127
75
134
236
343
437
66
438
310
344
356
372
334
641
595
59
381
539
151
331
492
190
398
130
491
560
184
874
571
435
215
539
327
430
371
314
216
277
111
522
581
474
333
232
264
616
198
192
341
141
824
117
172
866
458
614
200
138
70
399
86
678
89
733
157
527
456
726
263
404
161
303
696
612
231
110
184
208
108
294
315
593
300
172
367
341
149
192
342
666
570
417
295
352
300
437
15
611
55
609
600
295
276
559
97
97
398
53
537
328
180
806
138
386
213
352
372
739
89
681
525
825
423
310
501
202
350
132
218
661
182
905
943
555
175
352
342
86
314
210
187
182
173
235
203
338
204
509
386
267
313
977
645
132
576
609
560
93
468
374
71
232
312
421
441
115
831
322
304
630
49
267
223
628
272
258
198
267
49
441
612
210
296
113
259
368
326
136
277
31
189
275
246
372
610
456
410
341
194
219
368
235
218
205
275
483
525
132
111
490
547
139
492
261
198
367
364
187
378
470
182
314
496
147
460
124
166
301
577
300
740
270
676
333
147
701
445
220
157
235
190
51
591
173
305
519
38
323
478
87
1044
289
265
356
547
499
436
140
211
457
432
201
253
251
924
194
281
238
269
367
118
262
451
593
307
626
210
207
377
577
549
525
339
453
676
140
601
180
136
183
348
424
273
475
467
272
741
177
117
381
589
274
354
232
114
190
172
182
808
724
210
497
236
367
445
366
450
254
345
181
384
429
342
510
447
266
693
219
91
265
657
338
903
418
143
213
268
188
216
162
633
148
641
181
154
463
905
269
34
150
495
265
357
601
463
745
286
63
823
317
527
581
572
421
399
99
394
875
301
177
454
233
484
289
29
842
123
607
367
251
286
506
205
288
125
413
341
733
460
391
134
416
559
265
422
339
182
116
395
411
482
417
669
317
179
311
567
359
142
151
116
342
179
605
88
375
398
431
541
85
52
317
289
528
392
144
468
291
283
151
392
316
703
333
133
277
463
304
510
362
611
378
173
405
395
161
384
63
517
244
660
272
244
378
106
725
302
423
319
458
163
157
661
518
244
77
205
224
103
249
146
130
406
614
299
337
89
323
80
531
29
557
536
209
351
578
519
48
127
388
158
162
265
199
306
706
226
282
370
543
105
72
864
123
191
787
835
180
152
55
465
369
659
171
431
675
115
428
513
400
320
32
358
476
322
76
484
208
633
417
61
419
304
569
347
309
493
112
375
456
547
245
511
284
238
221
443
771
538
219
78
243
45
704
720
516
436
247
444
156
361
345
170
327
414
90
481
108
507
392
584
191
466
174
323
182
564
417
353
175
357
444
130
52
221
529
262
362
532
173
572
151
214
806
185
109
231
186
118
311
107
542
315
417
112
425
872
480
286
299
133
253
45
158
99
342
498
78
430
262
514
482
548
76
239
152
139
116
581
520
245
595
517
172
346
76
560
299
194
236
181
475
78
406
192
579
397
317
249
239
262
192
299
154
642
227
201
471
453
550
301
308
520
264
301
124
430
370
115
148
656
317
522
448
158
260
83
206
672
744
642
154
585
988
472
208
306
535
106
358
560
456
355
260
288
221
100
425
618
141
386
575
359
869
534
228
593
649
125
147
646
371
578
465
508
309
119
167
250
83
189
708
306
126
416
507
460
608
173
412
362
503
176
130
339
298
186
741
270
242
405
244
103
83
334
230
232
450
76
238
562
179
312
486
560
659
423
440
746
525
324
495
90
508
410
235
462
924
739
150
677
483
509
256
345
287
338
578
454
298
797
519
245
109
424
686
455
500
478
215
526
259
153
258
534
262
153
354
520
88
456
345
432
459
141
666
232
606
217
413
235
663
42
180
289
287
79
556
366
646
153
215
299
485
720
630
278
107
191
625
225
394
201
336
176
537
895
104
297
372
339
353
280
603
142
558
419
469
135
210
383
361
518
95
532
184
232
461
652
175
786
335
436
102
379
309
179
190
444
498
166
687
285
253
409
243
260
500
114
608
108
277
423
179
775
551
510
511
368
147
268
427
350
120
306
645
198
469
90
276
697
544
280
371
311
395
290
518
785
512
78
345
497
517
92
49
322
111
471
212
477
274
264
253
129
352
354
569
408
92
535
269
393
614
287
228
170
83
365
552
459
464
232
228
722
321
455
494
120
800
485
481
401
284
142
272
344
561
152
435
79
137
238
566
260
209
186
140
68
170
701
495
420
293
430
226
572
240
79
376
424
88
173
359
70
609
537
558
326
49
360
118
457
374
177
475
58
242
584
346
113
131
320
177
89
643
268
419
231
350
362
72
78
819
313
282
85
253
174
102
341
163
378
362
307
500
28
347
315
95
389
202
230
405
61
97
192
383
610
227
391
122
520
595
555
698
308
748
303
651
647
240
657
253
205
139
149
239
359
268
203
616
267
564
414
73
179
352
266
112
280
103
93
534
286
79
259
382
243
74
512
466
518
597
200
226
322
419
398
256
726
133
271
483
649
273
589
191
170
219
214
578
720
631
513
341
461
686
350
394
607
644
627
576
423
373
460
106
247
375
596
110
204
59
197
226
345
351
293
141
525
69
394
150
556
612
561
326
507
319
123
166
387
427
755
339
422
373
235
300
391
383
481
184
293
53
191
276
211
279
620
68
540
394
731
456
636
620
493
348
645
893
309
1017
172
200
139
360
423
606
716
207
508
280
241
333
164
331
483
458
558
743
323
466
325
21
371
423
117
396
567
610
260
468
421
466
349
211
207
376
650
316
616
510
162
399
502
274
343
71
143
533
377
277
641
38
90
243
150
797
550
203
543
288
396
327
169
567
160
502
246
509
424
383
275
436
263
257
451
261
342
362
414
28
294
531
56
278
456
23
130
337
565
175
229
379
309
416
234
278
118
368
269
858
488
160
474
421
524
51
383
518
229
415
450
392
46
535
333
459
301
576
540
12
342
426
548
424
323
458
552
619
550
189
332
240
393
324
307
502
465
203
437
198
71
267
549
99
242
154
206
348
380
346
408
143
564
449
163
344
402
291
171
502
519
183
126
268
354
473
439
100
115
242
590
334
248
52
694
124
562
253
526
701
36
370
458
335
499
299
189
501
259
56
163
216
167
188
265
222
374
646
224
127
524
293
454
374
77
400
308
272
292
348
480
319
397
235
217
514
444
433
258
313
368
371
328
369
346
326
119
319
290
429
482
208
275
394
275
647
42
401
619
78
607
395
136
370
172
420
244
271
340
93
468
281
407
577
874
253
310
188
548
343
589
110
459
50
361
473
582
217
322
454
277
77
510
253
411
626
322
276
62
323
733
241
351
172
559
62
196
256
279
511
140
677
344
579
261
472
283
323
240
319
414
250
586
345
327
216
335
318
299
206
353
435
525
208
487
315
61
398
556
245
361
220
747
785
457
511
78
500
447
106
43
247
213
224
261
365
94
241
447
90
387
232
245
215
51
506
334
551
165
403
38
169
46
136
377
98
234
410
129
431
24
769
100
496
244
446
193
425
508
296
285
330
516
156
164
181
204
298
554
670
170
252
700
772
234
529
45
434
454
370
241
162
427
376
644
84
399
238
262
173
595
207
325
126
451
499
105
525
485
224
314
252
448
361
393
186
224
439
225
135
224
596
287
437
590
595
195
426
135
171
123
150
441
188
598
55
524
413
278
92
379
345
801
347
493
146
289
578
62
187
229
301
500
160
273
325
247
262
208
628
231
254
196
445
299
185
76
331
223
75
331
524
231
445
357
469
342
107
345
551
424
48
674
360
251
139
216
215
514
444
515
191
387
452
118
417
259
254
287
237
367
413
801
323
313
353
76
440
718
248
483
313
210
321
179
391
482
133
655
285
249
201
562
931
332
216
360
607
256
316
343
420
208
363
270
159
291
518
254
221
409
338
324
270
251
823
592
436
286
366
399
347
448
495
126
477
859
310
567
364
688
94
574
383
201
298
52
196
162
652
334
103
541
208
663
429
494
340
194
457
711
243
244
701
312
281
598
284
109
461
514
213
250
554
470
500
100
368
104
387
679
109
189
683
425
201
313
366
37
405
384
505
536
493
129
506
345
400
728
258
280
250
208
552
402
252
214
593
581
437
878
354
401
344
367
340
75
171
173
289
610
191
360
566
645
224
164
430
171
343
248
394
354
590
128
264
182
294
226
250
270
244
166
339
62
351
424
482
437
262
367
267
265
168
336
445
544
282
250
715
479
481
462
279
192
228
189
377
564
357
291
317
488
347
290
472
41
450
347
118
288
263
563
215
435
527
498
492
149
156
110
484
176
493
235
385
214
555
588
306
229
315
201
836
496
502
37
194
360
214
663
264
547
310
124
339
343
440
248
482
676
676
306
279
573
222
113
338
114
126
313
220
226
268
498
286
253
442
346
135
613
278
499
560
289
327
560
339
334
400
158
554
358
345
362
411
605
334
37
288
285
470
544
398
424
393
153
409
472
250
634
396
110
155
280
420
465
375
572
189
213
361
335
130
272
413
299
61
479
408
286
331
165
302
143
529
194
363
196
160
593
600
330
109
351
595
241
506
633
356
204
80
841
586
257
575
174
462
739
371
559
300
457
478
45
678
540
364
37
811
251
87
277
191
149
269
363
710
701
308
300
595
185
74
231
221
154
246
125
348
291
504
402
44
608
327
441
562
797
171
143
306
349
540
409
235
324
461
193
247
681
341
179
235
694
340
372
283
571
258
512
225
200
439
249
37
689
298
233
329
270
456
108
285
771
913
348
505
222
706
317
427
311
787
33
404
413
168
423
159
542
236
575
178
421
214
193
534
177
198
591
132
201
499
618
202
362
523
266
142
388
716
178
93
129
160
371
77
185
536
555
496
216
351
216
656
251
31
422
373
368
141
382
377
536
159
577
81
448
508
493
280
406
581
169
749
500
329
175
148
116
319
563
260
696
243
23
703
452
486
618
277
467
375
346
417
569
359
334
557
353
211
261
259
261
503
530
356
340
646
322
174
136
601
263
462
762
92
459
272
280
322
403
487
459
256
626
129
102
415
397
738
302
188
702
402
295
320
245
153
521
263
162
281
254
373
579
531
408
153
334
477
1083
217
500
243
235
604
170
63
120
40
404
525
257
83
274
382
518
155
177
546
367
688
251
166
154
416
264
317
502
95
446
202
533
236
226
62
756
505
265
59
339
231
208
194
198
258
149
568
761
523
425
788
369
503
405
262
355
784
462
118
128
583
45
447
760
185
221
282
358
181
260
110
88
117
213
577
150
268
434
585
109
180
139
131
293
160
256
520
428
337
371
629
513
341
424
145
308
456
105
536
356
429
187
737
137
205
570
444
99
280
369
433
314
179
465
149
263
152
199
187
510
195
328
429
277
143
706
389
530
324
38
592
137
276
211
389
266
446
618
313
311
177
247
443
423
286
666
420
205
177
531
324
324
331
44
254
246
487
698
464
166
288
319
532
29
150
209
216
331
48
187
674
207
516
415
187
476
666
366
89
387
138
472
187
647
471
227
399
504
300
598
554
274
316
442
195
57
259
239
310
301
251
275
639
568
478
436
317
291
405
272
308
132
460
94
528
522
467
282
539
357
630
228
504
207
438
882
215
348
376
242
438
235
176
392
676
233
257
204
344
407
480
90
224
561
571
342
478
137
299
481
268
108
317
219
162
171
823
508
86
91
137
149
412
821
511
235
745
458
331
445
79
262
273
224
300
396
154
302
210
445
398
134
304
145
330
704
222
131
507
373
314
374
94
518
422
459
690
492
266
337
111
305
134
409
532
542
129
861
291
170
511
151
582
685
168
451
176
387
103
114
133
396
580
530
325
355
491
169
460
524
369
329
194
371
378
358
730
494
80
185
837
456
456
705
256
534
516
355
361
227
206
418
410
695
143
530
297
243
353
510
66
376
480
754
269
484
746
382
181
357
394
140
404
368
199
338
161
420
498
233
219
152
151
139
523
137
668
120
482
466
174
575
231
151
267
316
591
715
334
361
490
399
426
136
197
345
743
251
364
464
200
50
458
410
412
146
196
298
135
409
674
228
236
145
612
365
340
677
619
406
275
474
497
298
322
163
588
316
45
611
679
803
515
406
128
346
313
410
518
400
425
126
566
125
629
625
342
683
520
398
160
465
238
160
331
289
85
604
164
440
530
248
212
484
95
450
178
286
631
182
403
251
878
566
627
62
446
436
384
174
104
63
186
454
348
254
333
243
624
530
347
458
635
71
458
414
293
354
178
372
652
234
112
324
485
299
206
575
92
352
267
695
280
364
303
618
128
518
138
375
380
213
369
301
475
443
461
188
145
975
283
347
662
229
693
354
300
259
294
100
36
136
367
135
568
634
413
127
146
186
300
416
395
181
381
427
463
348
353
280
34
227
616
412
64
280
40
280
683
279
189
320
572
621
489
408
268
447
212
432
517
83
357
526
785
111
399
251
433
306
553
414
248
131
385
428
297
441
400
279
567
632
159
547
83
188
364
776
355
580
587
483
94
326
151
453
235
485
656
371
355
259
111
195
146
57
518
417
343
104
251
99
759
769
403
489
393
250
410
37
249
207
308
292
552
303
398
255
507
208
265
89
253
233
46
547
375
457
374
187
523
277
79
723
203
467
174
335
77
539
460
279
338
320
409
591
137
299
611
220
346
88
204
42
123
524
226
261
354
452
336
578
537
330
533
722
608
442
387
166
317
103
403
585
77
486
579
582
391
364
539
185
561
34
522
241
176
629
62
571
392
415
449
280
458
389
262
630
614
460
399
400
369
673
198
324
215
287
281
120
268
54
270
543
639
467
561
427
234
552
78
510
700
680
494
382
673
310
782
385
149
514
300
576
402
213
467
295
282
326
337
751
441
380
118
273
584
502
424
124
110
866
517
90
667
92
468
371
216
355
450
686
193
71
364
221
496
418
321
233
763
719
322
338
82
435
349
436
130
445
325
339
372
65
380
762
156
362
346
360
290
246
347
717
142
373
218
430
536
341
341
297
559
417
201
821
263
711
534
468
231
267
211
383
439
734
94
375
233
522
98
906
349
343
628
432
371
484
416
176
405
260
253
494
50
560
283
373
304
211
516
283
511
487
280
278
465
394
595
364
486
291
331
351
293
394
277
144
124
195
295
55
296
467
373
516
163
222
376
814
383
166
423
590
593
136
471
297
647
83
513
466
269
455
240
510
268
687
488
136
127
503
346
563
43
253
337
283
193
139
353
181
444
379
608
640
116
625
183
535
808
474
472
227
318
124
492
433
416
218
247
318
226
398
355
350
460
302
168
638
244
687
393
382
450
413
160
362
185
287
881
376
561
88
377
518
459
317
129
587
597
363
559
537
506
344
463
146
239
74
382
406
245
262
167
420
216
225
476
369
218
30
56
50
299
462
445
220
558
543
119
432
597
486
499
151
149
236
401
254
25
237
547
216
335
187
610
377
237
333
456
877
367
595
362
539
207
289
560
707
397
238
309
391
443
375
427
227
767
728
484
194
139
371
343
349
611
175
110
473
518
390
533
175
1036
344
627
516
503
95
518
532
52
232
343
496
336
44
597
289
173
51
224
238
160
251
336
545
204
565
275
279
118
249
271
121
352
794
141
492
435
244
549
832
362
82
122
73
406
123
137
451
537
288
291
390
275
317
538
366
451
37
337
192
189
138
347
211
384
179
343
548
420
411
310
417
324
430
65
212
213
341
544
185
389
175
561
131
377
469
193
403
242
161
262
762
275
116
92
492
626
333
261
169
529
345
464
328
589
273
454
316
356
299
157
514
482
465
76
168
563
543
377
166
674
351
246
493
206
289
411
283
266
403
465
441
61
322
364
337
279
424
279
319
122
503
467
471
256
312
398
276
144
68
545
568
269
317
416
147
373
113
106
595
112
549
390
103
279
612
443
620
330
380
417
313
327
308
231
299
428
119
342
145
227
391
549
594
251
60
155
171
562
248
157
282
97
194
597
74
492
175
640
406
139
506
283
227
47
51
400
388
595
400
568
171
288
206
430
387
398
272
332
162
302
335
478
555
583
55
421
87
632
309
125
98
411
183
218
429
325
424
208
404
236
123
657
120
178
232
615
210
61
102
305
771
142
399
295
160
87
562
220
303
118
158
245
516
603
393
116
233
166
425
278
156
718
306
615
597
486
281
249
92
170
130
384
182
440
182
736
540
354
217
739
178
47
125
200
568
205
169
226
542
652
226
576
503
147
302
132
755
562
470
375
215
141
357
194
320
218
390
373
297
220
191
388
379
170
92
452
171
89
672
308
171
256
159
504
198
309
289
865
939
300
277
237
297
683
446
258
503
246
172
59
309
339
378
292
241
388
256
1093
294
117
671
352
601
232
358
76
442
146
90
379
640
295
160
135
525
241
428
335
330
137
331
503
673
287
583
185
260
394
644
110
247
662
591
137
511
400
618
27
796
290
41
152
240
456
525
544
704
327
434
235
88
331
295
480
126
447
612
516
641
50
73
509
279
422
328
498
127
277
109
284
194
109
374
349
94
165
454
509
432
195
685
318
653
211
691
326
227
664
592
121
196
216
349
91
226
375
350
483
452
297
237
113
290
251
318
158
501
282
410
282
303
94
627
122
65
383
221
97
174
560
282
246
336
665
527
191
394
659
487
396
349
250
214
259
501
249
496
220
376
350
226
230
114
264
242
317
227
282
270
194
188
259
517
232
236
105
254
252
706
87
420
261
458
655
403
308
657
581
684
235
254
482
277
336
189
469
332
439
169
438
189
130
771
130
422
159
132
148
237
366
409
265
204
343
371
475
426
494
387
306
271
414
127
128
269
203
248
707
1121
91
152
454
213
389
245
602
699
272
123
78
580
593
561
798
542
419
426
392
600
608
225
213
354
373
316
270
191
234
275
407
504
180
326
717
306
501
410
60
567
213
285
419
45
281
604
447
391
245
155
323
436
190
202
501
430
249
108
523
553
328
227
236
81
126
388
251
183
226
398
305
124
330
390
275
86
408
421
472
329
125
451
292
367
173
338
752
441
356
328
255
428
241
329
587
177
213
467
69
127
681
469
346
69
409
333
797
516
509
44
234
405
206
739
473
408
163
160
51
379
212
349
486
226
424
89
580
560
123
313
273
193
94
235
672
542
481
417
88
363
153
577
74
310
105
259
261
162
383
557
623
204
182
315
317
354
348
468
80
372
80
814
710
217
647
256
147
213
93
457
114
217
309
351
367
153
321
205
652
232
531
29
210
121
439
304
287
116
212
612
213
245
429
73
525
353
569
470
188
424
228
317
443
165
376
375
562
356
296
684
421
287
288
239
475
92
274
476
123
375
122
230
347
453
399
103
613
214
56
183
482
394
235
556
159
90
546
331
369
180
486
374
597
750
244
300
681
728
280
438
358
221
654
735
727
449
453
190
358
536
315
201
133
90
493
606
379
853
200
634
538
624
197
243
538
169
513
393
354
305
306
134
533
245
427
570
104
727
666
440
280
160
317
95
423
521
72
409
666
533
477
431
124
339
622
339
99
141
341
52
159
163
473
485
200
337
402
159
267
164
464
380
485
316
205
244
60
296
588
398
197
548
594
227
388
165
227
632
163
581
213
507
354
507
334
689
625
162
179
403
119
215
278
316
110
301
569
330
102
321
364
292
49
230
154
514
305
330
235
329
498
267
265
298
443
343
286
176
313
120
405
841
365
739
97
334
450
240
274
544
388
363
223
377
650
762
420
329
1041
251
310
126
494
316
357
309
722
210
324
328
248
316
76
69
315
400
27
608
208
655
306
274
192
697
194
396
262
791
438
391
297
481
94
227
335
270
189
150
667
155
401
45
297
698
347
406
204
513
127
480
608
379
505
330
348
258
382
232
20
321
352
194
369
317
422
297
501
597
326
529
407
438
584
496
449
217
175
40
254
270
425
227
553
217
656
89
550
616
668
201
350
274
152
276
487
262
201
175
404
1085
304
184
171
255
37
399
217
242
247
531
621
255
552
376
649
416
150
295
191
460
508
440
308
216
447
446
455
335
631
203
668
297
265
411
196
457
125
111
181
454
501
352
702
63
386
585
57
447
245
308
360
406
726
705
458
109
58
107
345
369
511
872
36
312
458
549
691
347
269
329
451
378
565
306
263
43
147
700
308
328
402
532
258
497
280
328
59
305
209
209
297
288
521
362
339
602
612
323
749
463
83
387
246
143
433
287
30
534
1125
350
313
378
731
394
185
796
579
520
288
216
132
469
653
365
314
304
79
441
316
309
106
294
300
381
126
175
714
962
111
638
290
485
414
159
541
227
308
816
602
172
656
444
195
133
464
236
123
319
187
301
324
221
373
329
483
251
116
359
591
322
547
676
240
533
362
163
637
202
382
228
75
340
412
368
204
551
94
586
604
475
418
531
57
501
329
191
279
514
304
168
83
123
242
254
67
182
284
37
232
373
176
74
33
516
329
208
97
614
221
488
379
500
469
134
132
345
298
265
379
366
752
635
316
365
934
520
341
546
550
199
517
456
570
196
543
694
78
255
568
332
158
605
97
357
683
304
123
227
352
282
565
244
159
855
185
429
289
102
302
258
556
535
106
289
773
575
356
445
372
719
291
61
460
54
168
373
380
354
678
523
342
486
488
424
122
694
350
594
576
526
216
229
660
280
429
445
499
656
565
67
316
214
98
185
218
173
82
152
245
76
168
292
283
382
453
108
180
396
340
378
343
209
357
415
541
401
305
309
470
616
383
262
618
430
717
565
313
244
353
78
320
413
51
377
224
478
298
497
217
659
309
408
351
282
230
164
348
251
683
396
154
232
565
169
379
418
376
502
161
456
253
286
561
277
236
200
517
243
209
59
143
323
310
227
359
137
316
569
324
40
569
525
397
588
279
352
597
438
574
299
268
202
238
26
421
395
63
429
467
186
239
506
66
158
224
310
390
93
321
175
417
409
81
592
505
486
416
118
541
564
262
368
118
260
244
338
681
329
221
309
592
171
350
564
220
245
255
104
367
397
273
233
371
529
344
104
396
461
220
381
224
429
488
291
467
302
368
454
313
349
497
157
767
238
220
395
586
281
499
589
339
364
148
353
636
97
273
87
630
286
374
311
387
280
383
468
358
167
280
509
164
317
427
305
224
343
219
391
464
679
353
111
280
572
402
381
285
144
131
607
278
546
524
298
478
193
259
718
249
476
393
217
12
313
398
65
64
428
446
317
177
446
731
478
331
235
230
200
279
505
212
793
485
456
62
339
227
267
164
353
611
139
515
390
120
542
458
584
191
403
661
483
157
360
432
206
486
295
273
225
259
175
374
278
692
332
554
490
194
723
414
131
285
782
586
508
311
583
636
522
511
106
664
478
260
577
227
404
45
254
192
71
453
465
64
230
441
415
917
581
397
342
448
112
199
595
409
765
484
242
151
208
462
378
511
611
241
451
412
219
354
558
254
126
402
851
295
98
615
470
449
1018
138
788
331
116
624
190
455
166
312
348
256
448
73
400
152
112
154
143
217
495
498
251
650
288
162
239
443
465
353
324
82
391
688
611
306
330
152
304
439
245
364
592
161
120
116
498
534
247
583
145
387
266
201
597
557
323
561
453
239
117
61
343
493
369
226
543
84
101
335
413
225
347
448
554
491
170
539
431
210
346
390
547
434
425
431
83
100
126
312
422
119
397
369
633
328
298
87
326
273
166
319
276
633
177
306
270
615
239
324
248
415
394
663
332
191
364
322
209
398
291
788
88
109
90
126
98
71
108
288
480
672
111
447
238
269
122
549
406
292
326
100
430
220
478
56
245
393
152
355
185
283
118
333
367
318
229
394
138
233
156
547
216
258
301
214
294
450
479
99
311
251
591
609
322
315
317
203
887
552
93
191
34
397
323
536
525
398
269
896
245
328
801
492
263
271
486
333
638
83
62
127
422
350
286
236
367
339
449
308
236
393
160
699
563
558
570
120
335
230
500
208
895
178
65
615
51
170
217
399
251
196
396
284
155
206
226
90
458
32
122
481
460
283
79
244
290
498
436
653
585
560
584
122
512
220
356
250
264
91
559
201
220
105
102
237
38
268
921
302
289
153
153
557
109
353
482
203
292
122
29
164
592
504
310
200
280
631
308
228
220
214
267
514
217
431
509
185
304
230
634
501
363
580
425
687
584
248
595
344
252
211
266
179
530
155
316
192
372
168
60
95
429
214
285
541
30
727
313
438
485
284
632
204
217
294
124
507
265
53
222
552
416
179
184
598
259
417
307
212
267
140
209
168
153
371
286
277
395
148
603
494
309
516
596
99
347
368
536
229
121
456
386
171
267
494
579
210
782
337
393
277
578
122
220
55
138
293
277
202
433
331
192
374
440
308
257
398
83
519
332
585
64
73
458
588
115
54
475
252
209
199
427
506
88
560
479
193
258
384
84
303
495
784
309
184
449
321
90
211
604
407
149
75
371
525
595
342
190
49
202
160
291
407
294
453
45
655
565
621
412
757
105
486
206
345
71
824
533
597
610
312
470
198
334
348
391
117
81
504
695
67
355
149
392
118
446
226
440
59
279
369
50
168
551
133
369
351
662
492
250
316
531
411
147
432
302
370
375
217
260
327
116
249
279
111
193
801
252
639
467
347
186
340
250
530
292
292
19
509
429
421
378
377
46
649
768
362
329
257
132
688
313
383
724
294
209
621
399
281
190
219
417
460
294
226
363
529
276
373
380
23
431
293
493
420
636
126
683
514
237
857
229
561
199
320
63
487
357
258
66
292
218
796
276
513
261
490
350
409
59
704
314
201
235
375
366
244
547
468
244
345
548
276
267
408
354
153
467
414
73
808
344
79
677
290
647
642
449
565
334
543
156
131
304
572
490
191
239
449
557
352
502
374
77
263
119
240
329
202
271
213
336
118
154
390
467
93
548
193
130
989
224
258
316
286
747
207
452
547
648
399
400
226
608
584
44
289
480
450
268
491
93
377
483
366
684
41
223
155
673
54
571
439
429
240
434
368
266
172
201
405
282
280
402
680
86
318
456
95
355
281
374
569
214
306
315
616
360
265
473
173
102
236
436
80
556
296
329
66
448
667
794
289
305
535
306
123
627
659
464
270
284
90
384
139
197
232
752
401
587
249
360
787
442
105
192
479
290
382
244
441
454
663
697
358
560
342
603
206
21
485
486
337
546
631
506
521
232
292
768
603
459
324
203
402
58
501
290
126
450
148
277
464
296
99
181
351
333
560
357
424
101
482
202
675
471
399
377
677
436
285
523
382
277
326
564
469
325
96
219
80
378
488
677
124
226
149
469
247
366
222
224
458
122
204
367
324
364
198
312
139
120
336
225
206
892
387
393
46
652
562
658
111
426
502
65
442
210
662
484
483
204
170
73
284
68
57
333
403
256
282
763
445
247
626
399
249
590
228
514
407
651
772
88
578
462
116
246
451
351
402
324
185
259
553
526
394
208
443
35
189
120
362
302
44
409
425
449
238
405
145
198
322
85
593
334
825
283
768
613
194
223
205
777
436
63
249
161
134
530
40
232
578
203
717
673
105
660
519
259
576
528
101
239
239
521
398
333
508
458
604
315
181
254
311
69
297
508
307
286
223
532
178
166
569
487
347
572
60
165
320
1106
878
521
262
289
195
454
58
139
229
223
333
184
180
404
333
215
287
196
607
144
97
546
188
350
141
286
566
199
553
394
637
58
193
205
540
804
138
135
167
177
223
290
447
590
767
233
34
187
135
233
32
596
105
493
81
234
362
205
403
625
332
478
557
135
375
46
538
313
265
80
405
482
181
213
274
548
286
46
436
122
74
262
247
320
59
198
467
542
131
492
666
358
238
479
282
418
304
618
46
469
481
619
417
568
171
530
808
273
371
190
652
292
242
356
486
494
573
325
303
187
441
619
269
159
210
251
193
336
253
519
181
353
349
409
121
54
300
248
617
609
526
244
180
211
452
589
119
33
74
167
422
59
318
545
685
242
262
548
323
233
72
412
280
141
215
207
656
224
232
216
131
203
513
166
461
187
71
205
121
795
97
249
492
397
702
491
258
229
263
383
566
627
417
772
455
464
111
490
424
237
130
380
339
205
294
555
371
132
152
477
244
492
269
400
138
387
351
161
606
278
96
267
261
153
134
81
441
393
723
530
207
308
390
134
393
206
578
330
282
389
554
257
12
424
442
605
189
348
255
565
197
548
266
484
300
730
336
118
219
200
208
822
315
179
250
446
525
64
429
244
780
30
97
340
511
344
788
493
393
351
495
595
231
218
489
57
121
334
537
248
592
521
131
193
292
268
359
245
318
226
52
521
370
245
364
878
376
336
394
151
259
265
353
246
462
155
239
370
278
641
701
479
190
617
250
394
270
680
455
578
400
648
482
494
1092
566
308
376
170
121
79
539
276
678
105
679
169
288
198
38
231
144
222
501
128
56
565
411
58
240
346
820
361
228
214
757
606
225
357
335
483
153
442
637
742
286
92
410
242
634
110
221
462
82
288
145
526
393
107
280
190
308
95
433
346
230
245
79
581
144
415
293
218
374
619
697
211
371
442
330
46
368
340
451
261
376
22
386
226
271
546
132
386
350
333
452
139
538
461
111
757
167
121
232
515
347
610
99
512
281
92
110
218
156
277
171
433
327
571
438
64
332
310
388
118
427
252
181
101
202
288
288
63
410
376
179
186
178
306
277
135
517
389
425
96
413
32
125
444
91
353
294
391
632
480
568
86
136
700
786
364
249
233
315
354
297
307
397
502
344
112
286
569
575
198
230
181
261
219
21
178
351
397
614
482
618
689
363
134
584
352
496
533
254
481
197
427
602
341
640
450
349
325
49
510
180
137
239
650
715
146
228
421
556
723
102
374
479
344
427
446
206
555
283
318
167
799
621
837
123
382
376
165
284
582
306
529
349
816
252
296
381
218
558
323
47
200
153
829
397
357
551
400
560
150
593
363
578
633
631
309
540
232
203
212
529
242
630
198
182
399
626
112
25
112
148
409
381
473
330
319
572
530
57
416
355
306
230
399
61
100
493
65
122
550
324
165
236
800
201
261
489
208
220
459
283
336
244
593
337
256
256
478
221
96
53
271
208
63
601
635
146
389
62
398
235
107
337
540
483
179
219
77
259
569
436
509
542
104
294
658
221
501
20
301
540
277
280
361
538
376
216
78
636
606
225
97
485
464
65
316
158
427
279
681
479
576
224
69
522
187
693
359
425
589
512
159
279
267
428
329
193
387
413
578
342
335
160
413
940
304
230
272
142
60
513
595
252
195
224
194
397
400
260
390
336
244
236
153
293
421
737
386
402
157
194
210
412
321
270
106
577
390
176
549
131
371
247
173
214
398
601
185
323
770
287
306
183
378
265
192
450
82
331
73
325
466
480
648
281
326
22
343
198
126
191
756
382
493
402
49
123
331
103
573
174
486
197
530
497
396
641
532
531
705
170
770
45
144
603
411
199
749
124
217
426
79
461
591
366
179
297
429
652
615
205
367
823
704
603
151
297
293
110
312
123
157
77
656
158
675
72
466
205
205
333
204
298
614
237
135
607
729
481
399
97
501
456
492
501
772
463
235
160
475
651
493
580
405
389
507
84
191
511
439
508
615
636
414
355
260
277
254
660
65
262
627
450
209
354
176
522
535
169
366
145
592
368
258
526
200
592
138
712
667
349
546
218
48
626
312
573
68
569
200
150
201
251
572
469
480
407
434
796
410
95
326
359
680
331
420
312
364
216
258
367
144
199
442
385
901
416
467
50
148
663
201
848
833
126
214
384
632
340
273
348
633
212
383
539
310
193
226
216
173
642
433
153
323
184
220
570
143
527
457
732
167
439
123
326
430
259
378
50
171
203
335
305
280
271
275
381
415
162
334
513
217
292
146
393
69
225
44
398
310
234
278
571
822
326
351
432
625
116
232
289
380
619
632
602
171
548
383
796
458
755
311
547
192
265
236
331
68
252
145
241
699
476
455
516
332
61
290
275
231
89
477
448
335
186
309
455
468
497
143
593
438
392
290
502
544
682
231
546
34
302
645
414
408
536
537
376
599
207
484
404
468
212
197
281
457
441
234
261
76
251
241
282
359
100
357
442
183
206
671
439
377
584
181
47
294
390
382
309
311
476
531
201
227
517
393
394
221
673
447
434
160
582
664
350
686
400
461
229
285
574
217
521
567
802
515
134
525
237
319
140
83
186
360
215
804
522
481
367
157
456
385
266
312
455
40
103
499
372
302
269
113
359
271
640
369
505
448
77
467
593
337
157
277
346
282
629
217
792
337
217
518
484
317
357
574
246
152
313
430
568
383
338
571
580
189
160
218
315
46
673
442
272
450
391
449
102
123
478
837
386
320
98
423
300
249
610
189
119
194
312
278
22
136
586
566
421
567
302
441
564
341
532
182
227
213
516
530
255
413
360
335
31
216
308
419
151
455
400
152
493
81
473
679
219
232
322
47
283
311
255
673
404
38
281
252
587
548
393
426
451
220
114
259
515
217
70
309
221
525
39
180
740
308
50
640
153
711
906
490
217
490
524
629
272
442
142
70
239
423
217
342
289
163
618
286
232
228
464
183
338
360
745
202
142
1092
195
330
437
693
165
309
473
486
45
550
365
222
500
85
566
76
839
300
73
144
376
620
234
139
205
387
601
130
254
152
449
266
459
36
544
88
434
382
519
576
181
314
312
191
256
183
599
212
402
85
257
436
438
406
209
143
765
198
148
307
367
319
136
371
481
207
239
405
199
505
514
745
406
243
545
254
35
513
684
360
561
525
485
425
274
659
490
419
713
518
479
257
543
254
345
392
543
204
514
571
494
445
123
408
175
374
462
403
269
262
470
598
50
241
1057
433
89
218
336
397
341
489
323
332
538
206
394
510
219
207
534
389
472
111
341
127
21
567
369
697
146
266
395
214
426
32
253
470
536
122
519
362
593
146
255
427
28
633
489
494
552
545
122
274
766
468
534
547
252
489
485
522
851
283
71
521
308
308
287
330
690
471
241
154
409
733
316
72
251
665
140
410
61
130
234
207
142
184
266
465
612
63
543
71
352
666
394
479
574
350
178
268
348
361
350
222
392
151
682
397
222
673
356
406
263
343
86
336
50
369
304
477
177
524
449
318
302
305
558
381
76
1045
293
426
378
637
191
604
451
343
466
305
482
206
362
569
369
261
209
164
153
277
230
598
246
556
729
200
89
237
225
360
311
672
199
320
621
227
462
361
302
713
352
553
33
511
147
18
558
56
248
621
198
102
242
496
221
271
405
175
685
475
512
883
174
530
280
417
283
360
381
431
111
508
455
308
746
437
340
448
598
485
372
113
270
382
135
320
305
434
166
417
741
391
343
386
726
700
239
583
98
532
276
617
639
528
312
358
508
140
619
699
237
357
247
68
219
664
587
190
579
275
141
175
325
105
354
399
508
555
160
235
402
221
509
190
766
463
667
282
338
194
280
227
138
294
327
176
271
474
225
438
278
285
215
321
392
380
391
584
414
772
296
583
469
168
526
395
262
244
412
103
554
366
337
531
345
60
146
568
518
94
97
803
175
137
880
433
222
458
379
564
720
667
244
725
283
538
393
296
281
211
197
613
114
245
749
355
481
252
536
258
425
474
153
60
105
418
258
466
435
502
113
355
132
619
442
674
355
323
700
569
150
303
30
515
641
249
139
145
265
199
488
252
169
491
383
951
233
131
59
229
410
437
641
293
607
112
586
464
348
426
207
228
186
587
205
362
200
773
217
245
267
260
204
257
280
299
760
164
574
236
237
496
491
388
623
276
237
669
319
139
318
122
349
618
302
139
252
76
411
420
143
278
301
582
405
404
500
268
346
207
344
226
496
492
482
192
355
493
287
124
305
289
217
160
819
390
717
389
702
300
580
223
717
474
446
299
146
480
251
314
377
102
275
224
150
450
176
119
556
423
141
164
493
541
369
523
74
357
133
70
379
188
399
677
218
580
195
874
242
389
376
202
551
154
215
225
590
497
345
275
1011
324
170
80
299
63
627
26
297
492
489
407
510
37
231
329
561
672
702
581
250
398
324
465
183
55
185
629
309
423
157
450
349
408
556
641
177
500
198
62
779
345
386
180
575
103
683
186
414
272
672
420
303
538
381
639
364
516
312
284
185
131
151
280
203
383
640
402
286
66
308
514
306
483
419
822
574
482
523
154
542
348
484
360
347
472
412
715
486
141
482
11
240
357
146
297
345
668
646
686
259
203
232
273
280
549
493
314
227
182
201
641
209
324
235
356
172
483
286
730
248
232
1042
485
466
476
701
450
350
170
241
580
338
683
413
128
583
555
566
449
48
257
127
105
457
638
158
16
567
380
541
421
577
419
341
626
132
167
101
504
257
657
762
324
103
104
390
220
225
173
66
502
589
351
452
273
416
430
383
54
645
456
202
162
420
417
340
336
339
889
555
932
665
162
294
325
531
659
196
316
575
548
173
81
95
442
591
282
303
151
92
608
604
418
101
449
396
135
244
245
199
182
744
153
530
120
629
70
175
257
257
680
696
147
309
405
880
497
422
422
349
869
326
205
324
41
72
258
33
316
164
485
53
568
278
301
164
489
428
275
442
180
206
585
265
372
524
536
311
186
521
337
492
439
328
38
187
240
297
337
608
491
467
520
602
328
149
260
452
69
198
545
124
243
127
201
913
437
215
477
141
471
788
359
152
367
379
339
501
309
472
236
158
227
749
180
696
345
149
335
308
313
205
132
224
43
119
722
98
595
211
288
486
367
312
158
202
239
84
191
89
373
374
275
225
354
447
348
334
332
174
339
409
140
494
267
521
116
293
597
330
246
384
309
496
249
365
585
106
512
234
261
492
351
428
181
921
124
179
225
627
561
784
285
554
451
324
392
212
407
476
167
422
103
182
521
618
605
280
706
106
598
122
301
548
313
134
445
385
773
360
76
671
221
144
186
213
342
495
112
506
74
446
222
113
260
272
246
233
145
536
557
197
618
49
153
834
244
95
407
199
594
455
268
353
250
503
132
153
196
363
183
566
174
181
242
363
1117
90
108
232
312
197
73
473
190
225
276
354
303
557
116
252
162
111
86
328
360
618
111
398
389
373
353
63
358
742
333
750
354
256
204
142
627
157
519
356
328
237
793
181
133
259
341
78
535
798
311
483
467
182
242
165
89
311
293
240
110
55
428
163
404
316
261
546
408
100
249
190
634
424
375
613
152
205
137
219
420
186
122
492
359
613
507
388
794
56
277
38
828
174
265
261
624
293
410
373
121
234
274
212
228
741
718
415
354
324
414
642
888
429
596
108
231
300
829
627
396
230
227
95
210
178
288
234
452
452
357
360
534
434
323
258
70
260
544
817
58
128
122
428
479
281
398
331
427
205
544
219
576
435
179
467
196
210
667
265
514
324
159
173
235
132
635
171
281
250
1029
281
385
347
429
448
680
198
805
415
348
225
285
494
324
304
209
356
518
155
172
708
343
194
316
422
67
100
519
279
254
451
258
630
414
538
698
237
286
843
185
547
499
372
414
416
212
267
355
396
121
418
375
73
588
210
256
185
222
399
244
401
143
486
213
186
849
145
223
384
138
487
467
231
261
515
415
216
160
139
375
188
366
416
576
678
191
215
360
204
94
496
147
363
459
558
214
483
206
277
689
367
654
741
216
123
738
376
144
126
390
580
265
532
304
594
260
355
418
178
445
648
613
212
303
480
392
781
677
426
281
638
140
263
497
518
304
380
299
100
402
266
80
303
598
347
206
454
383
198
554
522
200
295
613
466
203
163
154
197
242
540
163
221
567
182
436
138
770
616
532
390
275
174
187
310
243
237
320
447
450
374
508
337
50
116
642
298
495
643
61
672
257
392
559
170
323
250
557
426
302
255
557
522
732
388
145
174
132
370
553
426
192
816
119
540
691
213
533
180
356
730
72
201
527
440
285
361
447
482
179
165
459
193
269
477
621
200
261
103
240
606
218
532
43
18
139
221
339
294
86
107
409
391
424
675
365
495
154
188
381
796
272
407
382
124
134
567
349
568
603
231
222
225
354
626
107
648
275
529
600
275
425
729
205
566
211
100
145
212
54
210
142
193
406
140
151
384
494
535
459
376
72
428
588
261
621
292
424
491
383
352
553
266
113
452
111
435
516
534
352
183
645
126
188
202
550
142
603
527
33
104
217
692
111
422
196
395
379
318
502
718
129
207
286
209
284
144
235
253
288
354
220
61
161
76
96
333
174
101
525
152
281
464
184
72
470
170
144
592
741
251
409
300
271
290
415
569
307
121
533
596
67
398
451
376
153
604
513
844
329
162
155
120
167
528
411
405
415
132
577
305
421
355
767
331
656
269
299
485
318
267
776
442
199
549
190
291
810
516
592
402
335
516
72
617
129
404
97
543
207
303
240
254
306
100
172
378
271
284
588
712
491
787
57
442
449
340
405
518
418
266
230
232
353
524
106
523
188
448
219
357
818
531
278
389
402
249
450
788
429
389
164
419
34
97
352
86
368
193
273
562
296
374
73
309
108
421
423
394
352
220
308
306
757
772
474
298
366
121
381
136
394
279
251
102
331
240
656
212
440
441
488
425
485
540
487
177
146
157
467
357
96
260
290
528
345
188
437
355
233
69
232
390
349
365
232
572
201
206
517
243
61
350
226
196
323
555
539
316
226
677
303
204
68
440
447
249
307
87
309
189
286
216
490
737
385
70
366
230
443
653
247
354
466
92
364
334
372
618
530
353
776
704
282
285
102
104
55
279
354
602
253
457
103
431
444
533
302
190
555
216
355
43
468
425
265
461
526
479
150
313
141
165
409
154
311
247
849
79
419
341
66
448
141
117
131
583
564
439
361
259
31
285
579
269
128
419
240
150
125
388
323
360
440
185
65
266
354
236
138
153
631
455
190
156
323
32
420
526
259
568
83
398
363
221
406
362
388
95
629
653
560
263
626
437
350
61
375
428
328
586
425
485
280
645
491
223
508
245
103
719
259
436
328
295
523
514
397
365
93
53
544
118
407
370
247
109
380
50
341
370
189
166
425
326
809
269
440
596
413
202
210
261
596
176
329
678
232
357
50
838
339
533
505
49
643
254
358
324
380
705
333
402
795
295
561
536
344
214
246
500
64
217
550
382
365
415
520
833
586
224
519
201
379
443
100
147
589
373
32
617
606
405
397
487
359
531
147
245
162
365
136
551
298
75
210
206
296
341
591
303
444
818
204
121
121
232
601
148
21
208
480
108
438
256
599
420
114
108
158
420
341
330
469
569
468
172
316
570
114
190
353
636
438
290
475
588
477
384
635
615
608
167
868
124
762
582
222
37
573
204
117
386
579
625
282
144
545
381
76
51
509
254
355
267
369
503
736
378
296
225
216
641
364
341
283
495
252
505
402
431
258
695
199
1067
267
186
777
286
432
207
523
201
452
427
297
235
456
391
185
619
370
390
375
600
377
493
429
360
295
142
394
385
180
248
362
350
152
309
267
383
465
267
69
172
392
23
490
448
36
281
704
524
45
210
81
283
364
602
244
192
271
245
225
229
67
283
358
290
554
533
137
213
174
546
325
233
301
116
271
174
670
428
72
81
195
84
362
391
120
285
126
167
161
503
331
621
230
546
500
390
160
303
164
408
140
573
138
524
520
369
442
220
566
470
85
468
370
312
317
432
287
139
107
510
334
410
472
665
478
406
237
159
165
385
324
90
355
226
326
374
52
338
414
171
241
264
377
603
294
359
392
212
97
171
562
611
308
284
170
423
367
324
533
264
176
495
644
456
499
212
136
255
377
277
318
392
443
92
434
749
814
186
104
180
815
526
260
596
211
422
316
507
737
136
453
577
392
235
517
260
352
515
327
82
200
104
316
479
189
178
246
575
592
414
536
379
551
282
49
267
238
488
276
295
145
172
382
641
85
260
573
363
340
328
338
72
186
176
485
393
511
302
36
498
149
310
362
476
593
102
423
501
260
272
400
451
916
588
270
1029
319
144
332
30
450
363
521
465
123
397
344
536
328
452
154
235
708
591
431
470
578
329
374
822
366
597
569
389
383
658
373
35
829
765
196
424
668
297
330
163
55
59
339
322
347
365
609
245
83
430
664
246
564
816
547
572
393
506
457
656
280
253
622
265
806
397
690
342
352
534
425
445
348
259
231
76
172
52
819
92
641
799
457
158
321
240
297
171
163
523
214
336
401
690
427
107
297
134
342
382
187
186
220
535
421
490
409
226
474
618
389
164
63
443
67
512
245
157
77
221
837
130
453
241
125
229
585
545
610
628
369
268
666
107
310
57
210
213
338
442
607
38
395
14
330
251
489
261
203
510
311
339
257
256
357
219
643
247
529
267
376
667
637
373
19
323
405
84
775
514
454
55
329
195
540
517
213
395
438
856
451
840
40
293
244
192
196
520
377
841
796
55
359
436
242
213
273
438
292
536
294
164
480
845
179
142
409
336
198
288
192
498
262
355
340
498
595
237
187
80
650
40
176
328
479
623
439
600
394
626
152
369
71
203
613
366
351
305
124
403
62
409
675
338
402
117
105
294
174
578
554
528
477
570
506
387
420
518
349
309
229
367
246
175
430
329
828
73
581
564
159
207
106
516
145
694
299
245
293
599
359
187
360
545
444
289
240
252
524
271
388
653
367
323
370
594
225
537
542
193
435
124
563
286
500
43
280
143
278
209
449
99
222
335
335
606
101
225
44
248
476
334
394
214
324
385
487
247
570
225
165
180
728
550
263
418
213
459
594
85
238
628
379
225
740
392
373
143
212
92
59
74
130
221
491
451
51
490
297
213
514
31
569
463
426
687
350
595
180
291
268
566
294
573
198
415
418
557
753
132
248
789
68
547
122
453
345
282
189
371
218
422
90
540
135
357
44
535
668
670
43
312
272
566
254
233
638
172
235
369
354
192
101
511
513
15
217
432
441
99
261
182
216
648
341
132
758
204
423
487
421
225
255
144
205
292
92
112
184
262
618
195
312
574
462
793
189
410
191
281
255
126
198
323
549
154
281
143
206
426
251
706
394
406
402
350
553
310
191
316
355
608
238
227
544
724
331
362
542
349
198
535
212
375
293
520
189
564
549
291
260
154
381
156
487
294
392
206
452
232
587
260
577
120
382
448
261
373
398
426
463
194
332
349
466
450
456
272
513
260
143
108
230
279
239
301
263
202
593
318
221
138
371
558
320
116
360
388
222
443
485
209
121
430
318
404
803
460
67
241
582
347
102
205
342
233
50
539
107
320
238
234
377
488
233
83
712
288
503
825
577
1047
633
766
240
304
327
106
128
336
217
494
384
494
217
253
133
21
569
85
305
322
229
408
161
243
163
630
415
852
542
316
302
166
67
361
51
561
623
168
192
372
304
306
335
401
421
884
595
221
199
625
274
373
726
324
313
531
521
550
435
265
438
536
381
781
439
294
932
415
298
254
455
431
496
294
82
708
427
698
164
253
309
369
69
268
557
607
104
58
503
238
588
870
167
462
487
601
567
376
610
609
395
467
98
136
217
645
327
129
675
211
77
289
522
297
694
101
267
169
491
191
287
496
411
605
247
488
207
169
65
459
244
530
364
401
74
324
182
282
354
850
199
374
599
238
445
714
262
289
612
38
302
267
148
420
637
440
123
434
62
493
290
143
454
43
309
131
332
210
317
133
304
277
100
326
273
561
519
214
547
399
822
240
307
408
509
113
303
841
137
439
1077
399
789
112
150
189
92
480
89
394
132
697
508
389
198
85
633
187
98
127
321
203
504
811
55
607
157
227
172
413
204
193
183
475
112
348
165
746
249
734
172
285
555
640
511
362
284
321
218
474
286
301
346
323
138
592
227
684
397
145
305
192
590
419
710
461
331
393
457
325
474
37
271
751
317
353
476
89
426
448
216
129
405
621
258
572
157
179
397
608
144
413
144
221
576
365
258
538
329
343
329
342
369
86
689
337
498
44
40
533
322
232
333
143
30
501
114
338
324
182
189
456
214
327
479
199
541
374
375
280
293
135
431
230
186
759
258
410
475
382
297
173
290
948
570
103
271
148
176
536
163
255
438
190
386
335
72
787
260
265
223
252
333
52
315
387
554
366
285
674
401
383
259
538
571
404
199
457
59
496
353
308
787
709
724
396
285
165
235
364
603
246
124
219
106
815
333
252
769
139
105
552
604
480
62
412
576
281
270
314
201
130
497
219
200
364
312
294
108
738
271
189
214
52
531
605
430
557
217
410
289
288
617
87
367
588
612
329
394
399
79
186
235
150
559
166
510
126
151
251
422
511
433
170
275
284
577
267
378
236
163
57
207
587
480
492
277
203
133
527
321
500
379
345
141
117
637
276
620
403
214
317
101
428
398
406
425
338
159
222
605
173
286
251
246
350
164
345
149
354
230
463
357
461
456
360
281
133
328
340
164
138
272
454
496
531
124
56
111
243
204
163
565
286
229
306
184
266
243
572
102
192
148
683
86
211
360
286
312
248
582
635
52
164
658
325
265
512
516
701
468
32
118
688
390
296
621
299
277
417
65
466
494
491
355
434
557
301
378
477
216
539
168
740
351
63
502
519
394
486
226
592
746
318
136
629
446
564
195
447
286
424
152
413
325
367
123
304
177
400
531
152
483
691
437
666
626
400
428
384
171
325
524
259
39
422
460
217
654
204
785
25
582
274
284
184
227
59
232
356
406
379
158
914
452
184
338
366
420
523
357
213
667
756
369
177
352
130
203
530
124
495
467
395
257
292
554
294
43
305
295
648
489
655
294
362
632
527
50
471
603
367
361
607
587
594
603
638
187
348
288
559
112
170
286
729
371
364
200
126
519
389
189
615
249
710
782
305
97
235
607
306
530
222
408
416
245
364
605
260
637
540
651
685
171
617
445
254
279
668
353
314
305
142
194
211
440
308
503
247
123
318
341
40
540
454
122
340
489
147
214
540
222
298
443
730
289
558
149
298
449
504
371
301
152
322
749
119
694
238
105
522
219
553
120
399
146
273
136
378
357
532
262
195
162
568
225
158
356
734
241
402
215
408
82
282
118
121
286
151
250
491
526
811
158
479
338
247
225
76
270
361
400
338
243
447
544
160
465
235
656
297
350
446
417
146
616
437
781
162
240
89
113
324
107
694
82
654
211
79
219
686
333
417
155
363
240
381
433
317
276
315
368
458
205
425
16
573
264
232
383
378
147
235
257
696
341
251
424
233
626
226
216
100
733
132
181
301
84
204
261
233
313
385
281
553
510
434
280
789
573
395
828
626
459
532
700
468
654
341
140
196
261
235
646
507
220
235
285
440
680
419
461
530
265
407
194
588
257
157
446
431
150
339
279
247
290
191
591
144
153
105
377
91
477
390
669
74
63
391
520
439
561
433
943
584
383
380
410
334
207
52
28
473
830
380
568
201
138
439
561
456
171
238
611
157
335
121
567
237
347
148
443
239
106
386
454
370
265
508
301
196
406
70
524
204
584
429
567
355
222
681
258
485
108
157
274
348
94
573
371
540
281
400
377
81
689
797
194
173
55
258
490
141
586
218
284
287
458
332
118
621
213
100
194
421
334
877
816
182
136
131
237
792
288
50
61
825
418
524
135
827
216
492
64
546
555
243
177
530
435
642
204
413
38
620
235
438
445
443
233
44
434
100
255
299
381
597
111
337
218
525
263
702
215
179
380
460
837
124
311
211
288
229
61
168
155
524
249
174
679
368
478
438
139
226
300
273
504
244
265
212
381
533
331
247
348
294
420
166
269
199
757
415
118
543
593
240
55
131
405
141
239
27
192
217
398
447
531
225
216
145
437
439
144
72
373
270
734
471
679
344
148
306
380
44
403
242
189
400
433
361
729
608
70
31
86
215
432
222
458
259
131
303
162
258
181
173
446
447
613
278
287
542
440
370
840
736
585
70
253
259
685
323
521
87
230
565
185
530
526
644
187
225
390
671
525
490
468
587
401
577
159
101
114
239
217
334
780
132
687
301
475
335
491
128
370
566
511
366
484
35
315
263
76
476
202
247
386
183
688
544
511
224
377
369
441
328
571
445
115
251
161
401
155
166
178
431
745
639
162
366
392
193
226
238
44
271
515
53
61
225
507
493
106
339
792
340
479
90
487
278
474
181
342
275
144
341
68
253
170
763
224
481
188
410
42
307
92
559
358
283
532
557
571
367
436
377
199
126
157
344
313
225
689
167
213
738
719
307
126
272
657
349
289
398
373
453
206
371
231
353
223
187
201
283
909
589
424
139
440
163
183
730
25
567
258
407
334
252
148
400
249
158
398
551
131
492
176
694
628
128
331
460
107
471
165
46
52
259
598
109
156
684
259
299
203
346
571
219
497
156
408
406
651
186
203
528
138
565
757
235
447
137
393
509
81
195
468
97
266
422
303
235
255
590
329
415
334
301
334
283
371
225
129
219
98
397
395
356
89
225
811
461
352
547
222
189
433
555
531
182
178
769
270
502
418
280
499
275
577
348
582
250
398
126
531
407
163
506
378
334
329
381
227
386
398
250
266
285
88
611
319
219
472
171
780
154
159
378
26
357
176
391
431
278
252
196
467
39
296
733
288
202
814
129
224
339
565
403
299
656
177
101
784
482
214
447
143
231
439
371
538
405
190
362
388
663
549
208
431
622
173
261
287
507
20
597
89
268
517
352
154
287
26
356
515
233
157
121
476
411
606
329
290
499
273
465
559
322
235
626
248
75
25
135
345
403
206
405
429
367
268
516
487
190
145
184
312
689
569
506
255
177
192
329
520
174
393
560
535
202
198
703
108
395
784
595
180
164
360
370
157
395
434
219
210
483
422
759
72
269
365
68
509
449
323
426
593
537
813
306
450
378
380
487
111
261
340
442
562
357
366
298
103
419
442
493
75
462
445
635
627
138
256
145
519
662
279
363
826
260
126
487
83
339
692
797
720
281
321
368
320
215
148
237
689
151
268
186
111
93
324
86
237
369
634
435
317
56
128
332
295
346
206
402
557
515
178
265
62
243
475
631
206
240
332
640
599
138
414
509
139
155
262
169
360
287
796
292
260
554
640
366
169
214
653
181
117
408
611
315
322
472
150
261
637
617
473
332
543
319
617
60
495
329
181
384
188
288
437
356
253
269
335
208
468
238
512
249
436
479
205
190
593
197
460
734
81
637
174
284
46
74
258
297
338
368
570
575
457
307
407
338
148
434
402
390
155
238
348
843
613
163
332
218
225
116
534
173
179
373
455
393
390
382
351
575
201
254
187
448
341
123
761
273
479
581
213
724
383
297
167
369
358
829
497
154
616
321
81
269
230
400
188
312
332
278
624
223
384
332
326
443
509
489
561
26
28
251
629
547
741
86
255
191
327
840
87
252
239
500
607
487
472
311
224
1066
157
36
327
46
424
139
35
91
501
307
111
522
170
159
583
612
169
597
279
608
89
480
243
568
309
234
144
282
531
758
249
29
421
391
276
490
22
56
757
544
460
469
334
262
202
299
492
383
451
550
534
402
457
552
553
411
169
347
553
128
212
313
459
216
87
169
890
154
576
274
41
183
403
226
121
239
576
521
723
228
916
588
554
583
481
795
664
659
278
452
286
53
382
228
649
594
527
375
307
156
532
369
396
243
670
597
568
433
594
51
263
457
127
287
152
495
243
576
325
241
370
212
696
567
405
231
275
183
164
480
171
344
360
547
773
294
658
297
98
93
494
340
448
321
122
591
124
381
363
154
166
492
242
492
345
398
132
332
281
59
543
506
187
349
204
167
277
82
113
185
434
150
632
497
382
499
391
124
456
451
375
618
243
354
88
185
420
540
503
200
429
333
290
433
554
196
411
138
481
438
146
130
344
355
538
98
697
618
487
79
47
416
370
72
380
151
276
597
472
429
252
546
593
142
212
144
456
64
395
402
426
60
181
305
302
228
295
242
127
538
176
497
208
206
496
408
199
164
478
225
389
1095
819
307
429
570
784
343
165
350
773
246
323
376
56
422
285
673
222
559
264
66
164
248
299
322
252
542
331
577
297
448
346
499
433
697
445
337
281
282
561
197
141
375
443
564
525
439
121
62
592
288
387
386
32
834
82
249
251
479
337
244
487
239
443
150
608
527
332
513
90
284
454
650
215
378
496
166
459
31
454
170
100
265
339
332
430
718
115
311
299
515
354
101
231
445
552
383
156
432
291
495
390
462
324
161
325
252
161
358
317
614
416
690
345
584
355
654
121
381
535
499
441
438
204
619
142
290
1069
431
496
202
136
440
433
552
552
831
132
214
378
249
375
531
257
604
240
413
430
32
152
405
181
776
201
520
394
50
282
485
534
114
737
538
617
389
297
290
403
138
431
587
211
499
492
384
380
296
604
285
622
56
497
235
358
337
370
163
390
564
577
282
225
126
309
562
216
565
223
211
204
630
580
589
227
306
318
478
820
457
313
196
127
361
264
364
408
566
539
150
209
207
136
163
310
310
178
58
195
737
331
225
673
374
142
770
571
443
445
313
439
707
315
347
70
547
681
537
81
576
102
364
182
414
441
304
409
75
443
521
236
318
92
134
207
415
531
88
152
250
302
539
282
122
677
286
120
139
125
324
383
131
255
63
405
364
172
381
452
526
230
606
243
442
428
573
344
139
1095
180
290
28
357
431
480
874
268
191
172
473
316
798
224
379
287
223
434
86
733
192
64
271
460
372
347
346
301
762
576
409
377
521
359
294
271
260
234
470
513
502
433
66
345
426
838
176
325
361
159
262
130
340
248
512
366
203
370
256
571
194
302
209
342
406
296
528
195
56
278
428
511
586
399
509
56
296
734
884
474
419
552
248
355
544
242
432
468
131
48
368
539
325
687
829
460
251
555
615
410
185
473
248
102
467
227
418
353
526
112
173
575
356
385
145
51
186
137
354
662
606
558
163
287
465
347
482
392
376
53
305
194
376
445
82
433
270
223
472
314
234
82
154
922
444
471
681
426
311
248
117
332
148
167
185
145
701
105
316
379
357
344
299
365
367
522
286
728
119
521
805
595
114
83
126
261
262
457
333
206
335
185
230
413
427
302
419
372
508
554
188
351
131
232
386
454
510
277
67
481
185
104
59
213
170
737
384
454
140
324
87
200
247
204
418
549
173
146
356
356
172
204
348
842
455
564
537
581
666
197
458
543
219
538
237
626
47
102
535
520
141
293
650
325
138
175
207
175
226
770
359
306
349
87
156
576
271
278
473
290
347
351
177
448
176
381
359
330
413
264
22
547
227
165
196
203
53
301
230
275
694
268
556
535
338
101
83
102
524
67
916
161
54
567
170
516
225
532
96
391
318
564
38
252
650
179
237
520
535
697
315
289
251
127
768
207
416
155
339
476
150
314
348
812
322
667
463
724
273
368
674
103
285
120
491
318
609
236
274
93
366
148
212
445
456
260
209
937
272
144
99
329
525
781
450
325
359
609
349
720
345
150
397
203
574
509
321
109
310
234
277
386
800
579
205
108
111
585
101
331
267
348
375
293
30
606
740
178
170
67
163
383
318
377
169
307
450
407
417
167
203
383
283
247
710
962
43
408
797
136
303
75
383
750
582
586
460
439
391
127
308
276
341
161
252
663
170
112
385
281
271
219
388
159
338
208
488
278
613
467
375
199
455
93
110
305
79
411
274
352
409
631
225
414
222
565
232
492
558
242
257
377
342
833
435
611
540
704
285
313
366
448
296
175
604
139
69
353
381
325
306
379
185
461
547
87
422
393
318
176
622
408
282
167
440
389
481
134
255
468
515
385
353
225
72
576
377
518
216
171
510
176
400
212
647
322
309
323
158
370
529
325
85
414
629
550
153
223
905
512
398
135
856
194
277
408
420
325
220
339
398
706
162
455
122
430
302
220
217
298
406
397
425
556
180
582
346
463
468
330
100
482
443
509
472
138
225
489
107
368
380
406
317
613
868
762
349
425
367
490
129
607
232
177
306
356
438
424
206
612
566
132
569
160
89
56
102
82
346
674
495
155
163
97
293
79
322
360
396
366
138
305
346
492
377
488
878
565
538
352
169
643
438
210
340
175
400
223
256
386
449
190
30
186
396
286
374
437
216
372
609
415
252
92
268
254
296
423
356
433
194
281
777
412
165
382
453
193
200
640
550
565
326
369
408
333
344
299
137
317
212
127
123
173
356
323
247
320
313
239
282
116
617
241
418
191
221
722
249
245
298
408
352
619
171
93
205
146
469
504
346
52
576
207
343
498
513
534
412
598
246
221
477
161
378
372
129
382
442
440
611
376
459
219
221
483
118
117
109
644
267
291
182
437
256
241
381
383
333
252
164
703
289
169
609
204
77
837
227
335
127
284
151
680
358
230
228
72
632
329
316
279
626
577
606
279
132
492
505
687
136
627
395
404
157
298
453
234
80
306
437
410
444
793
238
553
361
158
151
574
176
247
366
85
311
347
556
395
252
148
106
204
371
223
112
411
378
34
231
363
518
308
751
453
425
399
438
578
364
285
532
634
218
222
247
648
900
352
364
558
226
578
409
126
546
340
115
656
512
307
269
491
1109
328
458
540
334
215
96
32
428
279
449
75
251
153
309
470
110
574
73
142
425
500
292
236
295
833
74
435
220
154
545
224
414
530
103
215
294
473
321
256
259
56
604
395
136
260
282
542
442
470
420
325
409
446
40
431
413
401
102
140
495
1085
235
236
91
128
628
305
266
464
799
310
678
234
158
85
283
203
527
362
393
179
191
681
212
254
246
274
334
188
399
853
174
402
213
565
354
461
360
403
65
289
701
297
585
241
784
287
336
118
574
485
594
374
172
375
514
691
168
175
63
610
124
206
438
498
421
154
557
427
260
404
145
101
372
64
423
594
430
612
388
274
799
457
512
209
425
62
431
128
316
46
257
585
403
442
307
444
322
284
482
316
130
55
210
252
105
377
217
669
130
179
264
701
164
330
448
457
267
543
534
233
411
129
184
416
473
477
26
381
224
538
204
226
538
257
607
361
416
420
167
297
465
624
82
313
485
385
621
225
101
508
498
623
323
197
202
525
526
63
604
227
331
293
376
549
243
125
299
320
192
429
569
127
209
422
165
374
541
281
226
135
524
511
187
61
201
545
302
251
203
604
269
256
357
384
328
412
303
174
92
368
417
432
123
404
205
86
203
300
88
385
253
197
773
310
113
229
109
110
173
512
332
532
608
440
216
270
616
645
169
617
511
446
490
546
358
353
498
328
524
192
417
329
87
227
118
260
442
267
417
461
285
535
149
360
346
50
525
234
332
944
89
179
500
306
286
167
293
232
356
229
465
103
378
74
475
395
128
121
149
434
199
84
536
567
137
401
173
347
500
635
194
112
530
355
228
212
520
312
251
286
625
105
524
593
682
219
415
151
491
164
137
301
558
752
514
522
373
339
737
254
157
72
163
349
434
560
79
381
332
677
194
176
191
229
125
415
220
364
331
572
364
714
231
660
148
507
235
423
642
329
490
262
114
189
301
506
439
247
149
290
188
485
327
331
102
160
83
503
175
251
130
522
229
269
265
374
256
249
377
235
285
305
391
95
153
158
576
528
136
377
73
118
519
231
353
355
202
105
275
239
213
592
367
208
300
72
574
507
134
87
634
403
305
187
248
577
627
277
219
456
498
246
190
310
362
507
320
676
660
161
97
291
351
546
248
370
456
226
264
286
34
303
269
134
253
64
467
356
137
673
596
288
69
824
270
457
201
162
169
368
480
421
310
335
519
789
659
337
301
180
413
690
569
528
145
96
273
270
629
173
177
477
317
156
544
508
633
234
104
360
286
264
83
274
396
76
180
273
668
270
94
448
677
456
75
376
366
252
363
464
519
379
59
65
439
728
619
771
540
256
395
515
213
295
292
262
144
398
765
132
47
535
260
463
142
134
773
167
285
459
304
208
350
208
363
220
421
335
348
544
170
268
340
189
230
301
362
159
963
51
323
448
264
230
282
65
405
351
93
255
390
140
441
243
140
781
477
245
226
771
96
472
252
334
301
212
329
15
409
448
247
409
386
281
385
421
529
281
514
353
351
384
340
284
305
122
222
219
305
80
435
545
406
598
168
416
286
715
527
73
317
505
651
164
164
267
202
221
586
546
344
433
275
439
123
424
611
309
493
555
382
254
605
70
138
650
149
74
65
218
246
727
190
873
273
414
254
212
510
165
414
289
414
483
174
187
42
293
787
350
538
112
237
226
490
104
712
207
419
500
451
503
656
242
307
336
222
537
462
217
288
129
39
143
836
277
184
303
320
394
176
52
341
306
229
186
422
513
259
340
80
313
210
326
316
472
256
267
205
510
276
610
443
416
201
266
255
431
914
231
449
641
248
790
198
332
113
329
170
486
178
226
36
100
227
534
644
401
141
546
239
114
114
237
183
171
686
320
437
449
319
254
412
557
355
182
834
94
445
374
122
222
244
155
55
505
514
117
456
183
746
114
620
370
495
258
305
239
371
186
493
228
592
246
148
335
348
74
246
156
1063
216
412
503
214
241
796
379
514
228
362
380
577
333
547
84
371
609
230
232
223
169
480
253
418
682
193
584
279
699
209
441
472
413
158
126
258
506
79
302
424
578
319
101
233
248
151
191
226
400
301
277
263
411
402
97
294
215
26
299
261
164
394
902
342
351
812
99
50
385
541
596
89
495
90
404
625
525
412
810
34
394
376
286
647
288
293
208
370
562
560
206
110
279
178
535
316
235
774
406
742
586
393
248
203
126
252
504
117
453
769
357
222
37
742
318
375
229
722
68
497
237
723
289
104
122
437
421
358
295
249
234
442
304
243
559
614
363
448
186
499
83
528
392
389
103
368
430
284
678
482
283
182
537
540
175
466
745
390
321
294
537
611
282
145
161
557
641
563
306
149
539
229
403
605
147
343
224
230
471
420
310
426
74
284
421
378
895
319
502
163
378
389
540
220
348
246
568
378
452
500
580
263
472
170
386
160
73
538
608
285
31
423
421
329
478
93
299
665
303
742
334
432
110
399
289
193
116
582
171
414
44
528
162
303
227
380
369
367
312
343
406
540
226
220
404
243
143
630
369
425
242
217
60
643
375
273
569
772
332
299
326
243
208
970
489
418
301
525
726
264
498
216
689
577
458
458
138
634
630
528
122
263
160
722
668
189
449
607
217
263
325
489
247
136
363
307
177
357
845
414
218
557
339
191
336
424
257
399
293
255
406
319
314
966
231
327
426
235
219
358
84
342
299
278
247
580
192
232
36
434
259
48
125
186
256
187
590
264
542
469
466
590
415
637
278
489
339
176
473
277
488
301
262
720
729
470
312
439
363
290
35
459
454
154
368
139
353
527
171
134
392
258
135
1047
582
154
220
612
638
233
502
212
265
104
365
695
289
173
396
463
486
104
64
454
264
574
191
67
587
472
273
190
121
116
150
216
920
327
223
69
202
412
297
549
423
627
515
509
586
369
650
178
347
99
198
224
370
202
697
341
266
257
222
327
196
317
486
298
503
202
218
399
516
564
369
506
790
320
603
357
849
466
157
444
594
208
239
696
233
205
42
557
373
93
142
171
80
267
136
134
446
513
302
127
612
366
287
473
138
98
191
571
138
733
388
295
37
291
256
589
336
387
442
568
322
694
300
361
164
284
393
561
357
270
91
503
689
669
293
430
592
313
129
46
585
143
384
123
755
684
104
446
224
117
488
324
208
606
286
127
649
609
385
358
341
392
519
450
726
787
459
412
469
121
69
53
349
473
247
138
681
348
568
220
57
342
221
123
154
546
398
295
167
141
559
292
373
271
180
231
389
626
442
542
220
214
401
394
266
239
416
369
716
437
167
361
28
437
285
598
448
228
318
578
236
530
772
538
317
299
263
440
785
57
246
294
218
430
309
294
330
361
185
359
357
423
193
729
460
290
558
498
348
116
312
155
195
66
837
788
637
203
265
380
392
437
589
165
223
170
467
498
219
160
625
596
349
538
286
216
700
122
514
139
724
377
857
383
411
645
252
480
148
52
163
318
371
144
136
164
574
143
247
399
553
437
715
369
377
534
141
304
69
392
450
463
530
245
213
104
454
279
579
129
222
420
329
787
789
282
551
403
708
69
185
283
373
454
141
131
273
36
436
124
210
266
396
268
302
375
258
423
293
792
226
342
375
545
355
275
552
667
243
497
506
456
79
579
148
75
267
388
248
514
89
377
722
317
219
471
293
165
158
563
355
306
143
561
198
332
359
284
261
294
495
672
531
131
332
56
657
431
444
737
190
143
103
454
449
582
295
797
262
287
645
584
90
1126
194
293
133
256
428
497
296
450
186
339
209
41
112
456
41
349
443
124
78
341
269
18
282
806
187
51
487
282
238
334
296
318
524
346
525
166
307
187
221
439
240
496
532
93
306
739
895
309
591
231
197
560
916
345
421
155
391
771
876
229
222
445
553
383
343
435
230
271
362
432
388
70
683
542
427
970
266
317
485
89
201
580
81
118
388
146
256
286
147
643
102
204
378
345
249
84
96
719
566
413
466
158
540
460
393
399
411
363
160
294
174
201
706
548
812
283
628
477
702
185
201
70
881
868
427
176
678
618
383
363
91
216
154
544
307
266
376
414
384
159
215
135
478
38
760
213
248
542
155
251
789
234
389
237
46
412
471
553
224
625
380
86
231
881
183
377
221
454
119
589
95
239
169
374
454
356
272
369
478
470
783
443
392
220
289
208
300
605
490
133
450
445
529
136
304
283
194
26
189
543
112
292
377
335
249
252
728
180
306
602
351
431
835
466
351
85
381
406
333
322
50
526
604
208
334
511
662
205
818
351
49
557
169
393
213
149
324
368
207
285
317
597
35
187
501
480
306
433
563
155
641
256
280
75
188
108
638
407
137
549
129
542
18
282
287
484
207
335
484
236
519
185
425
210
113
311
202
389
267
525
342
169
103
401
149
617
579
206
532
525
435
654
119
240
81
108
332
261
383
701
517
449
420
274
572
346
274
826
330
451
32
311
299
472
180
133
541
236
457
699
284
483
71
460
446
273
186
195
368
404
124
633
494
731
123
246
445
515
430
305
538
594
174
162
552
237
622
434
531
630
192
261
742
282
571
117
400
79
423
406
106
334
211
523
234
596
406
167
700
803
156
181
330
666
321
624
572
313
543
296
472
280
167
350
190
213
253
446
723
150
579
389
421
118
149
335
395
370
416
168
235
170
560
356
305
346
204
298
527
235
213
618
344
472
595
278
127
163
79
511
397
84
715
499
293
867
257
92
279
475
667
298
535
29
280
485
373
68
278
450
429
295
171
135
148
98
220
829
306
208
709
251
572
456
147
275
565
100
346
488
88
437
436
142
148
354
144
317
497
166
571
98
194
294
195
246
612
333
481
359
370
171
89
224
399
470
356
41
296
480
158
328
95
268
186
551
659
329
828
439
579
470
288
351
184
454
703
183
418
335
72
630
242
637
417
306
389
666
224
473
319
279
326
384
162
612
383
189
339
288
509
62
57
463
281
510
386
547
293
232
324
510
168
319
543
138
161
81
426
55
515
424
444
313
484
610
442
292
543
215
557
458
495
445
140
440
584
149
327
460
523
250
312
256
335
262
538
349
94
680
90
405
165
115
805
150
319
218
124
178
469
507
620
202
258
453
223
482
245
292
323
164
81
895
577
521
93
879
566
99
645
124
177
170
184
512
134
35
365
377
318
187
224
658
133
325
286
125
121
391
250
307
162
385
396
245
540
48
218
482
253
150
451
365
126
170
188
554
81
302
128
515
265
424
373
53
207
162
470
408
304
275
264
90
528
298
544
809
483
295
253
305
219
517
479
186
553
620
167
701
139
799
901
562
513
390
282
238
505
627
349
212
442
246
293
447
526
439
616
278
410
141
253
140
66
414
231
314
346
100
759
442
195
429
237
531
209
386
192
332
400
238
377
64
184
86
527
209
156
668
541
71
70
419
116
446
1112
399
358
225
695
681
632
83
585
526
527
234
239
896
185
436
302
747
448
506
372
565
182
261
167
552
325
423
382
116
539
205
356
300
375
537
187
325
226
548
369
155
514
239
570
562
478
608
418
300
212
822
297
197
514
235
92
73
220
694
158
618
628
620
52
406
681
343
574
680
455
284
425
351
611
92
510
362
215
368
325
392
210
163
374
480
168
698
335
79
322
598
347
446
209
449
83
459
200
398
520
69
566
349
330
598
200
346
521
243
402
602
429
119
77
108
282
112
70
454
631
225
270
304
305
433
386
55
375
380
291
97
582
364
570
142
154
361
797
112
143
98
185
245
274
385
98
327
52
427
259
325
762
555
420
675
406
228
809
102
416
512
806
655
242
235
174
416
351
121
183
228
66
308
375
211
77
506
400
360
334
394
476
223
651
188
329
104
443
776
93
227
209
239
511
260
616
201
449
924
520
440
404
76
318
293
132
152
79
253
165
91
399
359
69
145
207
215
86
341
253
259
378
437
543
254
284
453
317
258
714
392
720
284
253
95
425
473
374
258
346
148
152
245
223
458
146
183
174
111
190
674
298
331
371
117
317
432
150
464
216
870
672
289
380
194
458
323
284
509
618
442
506
1091
108
28
210
430
468
839
379
432
160
233
422
629
112
391
189
635
259
478
535
410
714
485
555
970
657
601
647
515
188
240
196
440
654
771
495
460
410
504
470
232
287
198
750
393
122
376
322
678
415
313
514
785
619
378
524
229
338
391
446
96
510
140
150
618
287
817
383
125
417
349
751
790
328
381
874
329
33
351
133
78
731
397
212
220
157
385
215
34
434
620
354
413
530
276
298
169
293
587
433
377
361
340
365
390
82
379
295
42
345
534
664
355
295
296
268
312
623
482
803
400
268
380
383
366
388
266
426
614
44
689
361
349
252
644
459
325
371
733
136
295
626
404
152
61
289
319
455
679
580
116
131
113
205
146
750
516
382
420
266
465
333
575
288
458
259
216
346
226
279
397
372
83
431
306
199
481
475
507
63
685
405
782
437
204
313
448
595
70
319
481
163
429
396
438
208
480
185
442
210
188
280
271
193
598
249
606
133
151
647
333
423
268
328
698
362
145
270
288
223
415
46
114
540
122
587
111
191
426
680
101
95
125
773
332
138
468
257
580
560
250
457
324
609
311
879
224
151
264
176
223
255
366
415
437
219
367
108
593
281
416
558
349
198
405
195
258
543
317
65
241
97
457
200
466
464
645
297
378
510
251
67
437
129
490
121
106
401
99
396
354
292
336
564
793
62
516
484
630
273
638
141
364
482
543
258
609
524
384
123
295
683
371
553
90
240
422
82
499
476
455
83
44
414
331
708
328
390
127
543
347
626
186
160
98
47
135
430
566
135
294
231
414
634
227
592
392
708
177
462
574
224
271
483
241
417
649
485
271
277
240
667
488
349
178
145
267
562
181
688
664
507
257
196
473
114
221
50
293
262
72
376
24
285
406
78
218
506
476
184
322
535
251
229
280
226
216
476
91
436
322
606
313
643
283
288
290
295
571
256
218
383
137
235
372
456
388
500
346
190
304
477
232
145
367
694
253
209
354
114
558
376
584
574
145
568
442
381
159
409
659
56
240
250
391
376
152
341
78
329
418
12
335
491
291
221
179
633
188
526
296
434
111
567
254
416
310
471
479
45
57
425
597
172
705
348
484
128
106
418
364
489
293
165
475
734
392
556
443
199
258
420
738
398
743
145
297
251
623
393
368
682
96
112
395
233
518
326
299
352
461
353
218
397
71
376
80
477
152
394
339
253
306
301
522
353
289
253
586
258
208
270
458
506
564
204
533
234
654
236
178
120
170
336
386
675
496
700
328
284
832
551
408
779
51
268
390
768
499
497
325
254
67
143
95
249
389
342
528
420
361
290
442
68
245
178
129
693
343
180
449
313
69
536
401
306
275
386
345
27
628
180
500
125
177
620
209
480
560
263
155
547
274
724
340
72
584
572
440
79
586
188
636
322
304
375
228
632
432
343
304
267
196
347
268
574
300
480
325
488
576
252
266
636
706
113
317
514
647
49
508
357
261
375
609
419
257
560
448
358
193
661
30
373
374
547
268
285
272
220
571
473
270
531
394
220
380
243
201
419
139
387
121
174
209
400
277
821
526
103
93
306
482
264
563
586
142
261
429
201
464
371
333
187
466
299
367
433
479
255
573
212
571
467
748
477
204
195
558
173
462
546
262
369
662
521
283
536
565
430
330
417
435
154
470
293
365
230
485
270
403
450
527
461
397
197
393
161
156
543
512
267
452
196
138
343
732
261
322
257
516
444
519
183
715
245
284
225
211
210
431
450
589
303
763
675
502
526
66
431
148
141
369
135
483
578
677
387
189
394
159
890
1012
188
390
737
452
506
247
478
216
132
365
327
641
257
163
37
122
369
601
223
184
698
812
274
217
273
223
77
391
340
151
468
520
785
234
1052
383
79
40
34
672
434
909
627
628
52
211
774
206
633
399
285
168
473
151
89
496
554
662
516
476
165
445
557
796
302
527
422
497
457
71
279
211
579
374
404
513
229
688
180
88
505
374
284
414
660
335
169
621
560
532
78
515
254
146
148
247
388
96
250
116
191
175
482
188
466
237
246
158
205
472
159
260
531
399
542
158
477
829
151
463
66
550
279
313
232
119
337
155
184
321
302
331
577
333
501
602
545
378
284
366
328
15
71
110
277
435
270
399
423
603
1097
27
283
174
299
517
144
263
36
465
188
417
870
765
559
440
46
290
402
497
332
585
287
168
398
372
22
292
160
550
98
344
250
618
88
310
389
335
350
195
292
255
565
309
338
41
135
178
410
319
173
431
36
279
234
424
386
145
161
467
618
392
655
331
242
496
585
225
177
323
543
227
520
204
392
237
186
127
481
125
395
194
520
225
764
587
768
222
33
517
279
1073
318
292
238
357
130
91
288
600
1094
782
512
258
401
135
440
623
342
676
163
448
51
305
96
29
268
232
252
121
351
355
563
530
340
280
395
126
580
332
360
398
376
151
402
469
193
305
394
494
477
822
188
413
190
288
177
498
248
466
492
186
259
30
197
354
103
358
522
213
409
226
50
712
479
299
561
343
380
285
283
411
104
505
299
670
235
84
394
724
335
291
273
246
214
726
291
116
439
706
246
154
255
211
75
354
63
214
561
353
350
107
1079
150
477
217
590
242
533
417
189
438
94
200
218
114
193
441
329
439
147
230
323
118
93
272
518
496
255
48
265
606
486
390
211
427
475
304
509
375
362
577
152
219
170
305
423
397
437
287
151
386
280
274
579
266
70
63
349
303
213
551
310
226
393
507
312
741
323
77
615
523
9
490
111
261
461
789
645
659
217
202
171
211
384
110
631
297
655
355
513
227
1094
352
396
264
797
77
310
235
277
518
198
503
609
596
281
566
378
544
592
287
374
235
385
145
641
207
115
340
287
209
451
419
588
108
659
191
280
659
362
493
636
29
105
437
431
257
467
748
467
314
519
115
210
177
214
371
275
106
544
441
572
668
138
449
111
269
370
174
39
488
389
140
215
127
190
164
163
877
742
110
642
443
788
578
427
326
166
121
560
412
256
207
276
464
206
211
140
256
627
366
646
361
512
667
390
212
249
373
429
551
495
434
197
272
115
477
460
313
269
204
100
777
307
1029
151
303
378
81
487
59
310
432
262
390
441
158
524
439
640
845
534
218
183
399
78
299
104
312
523
696
289
176
101
519
576
689
328
200
129
88
93
613
428
166
62
212
327
333
140
194
774
341
374
128
385
490
824
141
616
255
96
165
357
584
593
522
279
347
454
406
180
897
70
361
653
351
338
582
201
432
142
456
424
261
152
160
527
527
378
325
522
71
410
156
307
464
569
141
580
560
689
143
675
506
439
270
335
282
297
128
241
838
326
285
248
501
143
450
697
247
728
400
448
80
122
239
85
764
356
563
241
214
360
271
168
395
202
188
459
193
555
255
128
144
180
284
120
227
310
552
763
361
241
188
119
612
131
394
444
57
364
307
326
498
957
226
284
349
537
171
308
254
60
85
104
346
160
298
41
380
267
250
879
277
642
457
497
202
572
255
441
425
469
117
88
176
198
286
434
306
394
309
374
441
45
482
576
399
169
233
410
158
263
39
371
423
400
588
263
208
281
525
307
587
111
405
342
737
510
763
85
460
123
424
108
406
378
54
769
388
535
382
330
287
232
318
186
397
496
283
514
246
471
621
746
333
542
166
219
281
209
475
612
469
133
81
145
19
380
108
252
526
159
80
328
774
426
203
450
561
354
269
392
751
344
528
653
279
263
497
256
614
547
330
40
665
111
431
280
262
391
548
519
327
444
567
50
310
185
241
116
251
87
684
519
374
650
357
233
210
80
179
456
498
67
670
172
560
367
403
440
387
491
167
351
369
314
334
371
254
342
402
599
170
821
549
94
127
638
439
634
234
576
164
275
516
594
142
276
577
232
334
530
98
491
122
534
220
365
216
335
263
181
273
511
362
182
217
40
592
451
187
381
51
366
446
425
321
278
544
196
197
87
507
421
758
249
164
334
550
252
820
657
750
457
139
327
509
263
620
465
420
166
95
328
353
220
584
149
532
198
398
243
337
227
191
314
410
481
412
466
363
426
236
563
686
197
521
203
653
229
555
360
359
458
64
167
466
399
265
309
390
410
311
114
424
683
570
290
264
458
382
292
344
206
255
273
751
365
142
702
391
545
326
238
449
596
139
404
586
802
368
250
145
161
459
116
686
600
156
121
299
277
355
521
209
181
424
680
378
467
177
678
387
480
298
160
45
585
478
559
196
581
130
292
341
339
214
328
303
245
404
50
55
110
269
185
558
491
132
362
818
208
211
344
303
236
143
63
373
96
300
350
261
228
267
197
160
834
532
564
321
484
126
289
398
290
323
125
317
94
626
765
615
144
615
872
731
373
225
41
171
380
239
412
100
326
508
196
324
430
129
40
172
87
429
217
170
51
276
556
370
323
253
407
73
595
713
374
327
90
484
123
200
389
374
169
253
256
117
253
786
205
333
870
236
237
452
421
229
363
472
282
497
297
634
258
508
501
601
328
88
765
191
408
176
132
485
585
819
463
39
93
505
484
99
84
506
95
267
96
261
534
616
476
381
677
493
510
487
535
350
384
370
640
335
805
411
550
259
215
318
395
320
150
228
430
631
654
206
196
204
780
169
379
214
103
541
529
218
476
226
193
450
414
515
260
564
360
48
21
81
262
575
154
533
424
54
478
365
127
364
872
472
498
390
352
381
391
204
195
323
375
584
674
691
148
262
97
421
339
483
527
376
403
169
106
256
384
339
305
500
145
390
409
201
329
312
186
703
326
682
390
515
729
351
448
160
83
269
117
163
443
553
163
200
298
792
359
727
244
367
79
689
532
468
275
313
203
605
182
530
315
268
217
502
320
37
824
336
270
293
123
252
522
412
655
276
79
494
296
388
512
684
713
393
115
538
342
285
350
806
355
268
436
303
647
149
156
316
544
508
654
598
498
322
258
825
538
513
763
228
281
524
444
424
799
162
39
49
506
355
196
279
216
449
286
548
317
189
445
239
205
351
69
462
324
233
480
327
192
315
463
428
63
189
184
217
393
354
547
482
369
197
396
603
377
371
312
711
462
123
158
102
694
309
307
551
347
448
373
224
131
186
364
618
69
55
505
392
614
361
52
249
399
291
369
305
73
360
79
117
382
327
146
113
177
434
50
466
209
309
522
133
300
353
156
191
91
218
374
60
83
445
177
78
246
612
333
548
769
428
315
645
263
426
323
493
154
283
119
273
392
467
480
1065
315
69
316
200
339
302
534
318
432
420
367
522
172
310
177
615
233
132
117
493
424
111
442
105
390
414
138
223
757
487
280
210
541
301
424
253
174
163
384
369
156
460
376
221
341
352
495
163
590
219
449
159
236
619
381
295
557
281
631
62
557
362
483
623
376
462
425
476
176
380
316
344
406
406
482
312
654
573
197
302
328
479
251
110
268
273
431
105
316
567
287
836
423
157
141
38
149
97
289
406
568
793
212
88
487
123
276
205
146
198
797
94
544
159
589
616
94
69
131
64
248
351
399
231
312
299
62
292
162
252
316
843
206
154
138
66
403
884
334
246
151
740
314
335
502
245
771
533
261
184
78
271
70
138
132
73
140
167
431
279
457
197
644
251
170
344
592
212
175
238
360
511
81
384
1014
492
221
504
405
392
431
374
506
283
198
435
303
672
44
563
563
469
440
181
397
623
171
361
189
273
367
297
445
198
94
122
806
293
870
180
179
559
91
570
429
141
241
346
617
639
683
408
317
186
127
444
180
545
810
493
407
447
227
225
543
963
62
439
152
372
394
322
172
78
662
166
400
743
310
129
472
250
486
33
83
379
286
231
197
242
541
289
410
182
312
519
399
411
340
237
255
131
339
306
242
195
330
420
353
884
477
207
391
146
383
589
566
129
123
497
366
550
560
404
452
360
231
84
451
330
818
248
232
485
384
268
458
176
356
514
276
238
303
711
297
536
399
389
100
204
671
42
297
624
509
495
414
302
798
628
159
406
503
521
428
194
545
50
482
536
312
807
511
471
184
122
165
634
423
481
164
319
118
252
74
605
452
110
725
592
111
527
414
363
380
703
195
286
93
322
420
772
216
120
402
246
264
554
31
546
366
242
1093
185
615
511
375
227
64
188
484
404
208
464
158
282
282
280
537
438
118
41
202
473
214
436
323
142
85
428
141
680
559
236
220
334
414
404
434
87
294
351
82
213
440
273
655
233
683
244
183
469
476
333
296
101
236
164
98
160
400
245
410
150
884
287
457
246
281
578
481
457
184
754
73
492
592
352
610
576
579
257
175
85
301
340
502
429
63
538
62
300
301
799
126
561
556
202
353
457
433
224
310
646
313
291
144
785
485
514
462
638
275
183
296
212
372
220
623
64
439
174
417
575
218
505
498
409
244
237
192
54
330
178
709
27
174
363
501
196
234
660
272
428
398
373
51
810
212
138
47
270
58
615
323
335
62
218
460
129
341
402
252
241
793
457
511
408
376
358
221
169
679
432
390
232
303
431
159
73
155
170
329
242
527
648
299
155
284
120
209
327
170
258
54
262
254
492
747
279
356
258
92
32
441
584
431
148
218
473
360
271
202
198
338
325
252
196
460
622
283
334
305
102
162
366
381
182
133
266
333
409
744
364
259
161
222
326
510
519
36
16
515
289
193
561
214
220
663
249
495
152
303
384
307
442
132
451
321
195
112
603
305
464
127
589
180
256
200
273
196
204
582
602
118
251
186
472
175
388
531
375
358
129
504
307
293
393
415
152
711
530
105
151
458
95
111
305
463
858
468
410
649
321
618
69
228
490
361
284
347
268
226
569
146
383
400
94
496
404
486
110
565
200
489
319
377
691
232
570
485
709
465
203
718
461
599
337
199
574
658
588
426
398
200
291
527
320
191
218
238
253
112
515
26
220
619
547
330
447
352
382
427
149
495
361
444
491
123
64
207
197
138
264
44
397
113
282
305
889
107
267
562
211
241
72
317
144
114
417
94
120
496
377
279
571
444
193
495
307
214
362
545
510
107
363
237
534
101
372
448
601
413
574
138
241
490
217
357
320
204
429
234
481
581
455
389
385
125
535
549
201
80
213
564
268
226
560
175
1107
193
56
454
245
95
594
319
31
212
161
446
387
894
321
157
439
480
326
769
368
86
307
878
213
81
159
570
403
37
204
290
417
160
160
295
86
599
224
414
120
319
118
335
461
161
318
725
303
271
775
297
268
504
473
151
504
192
92
206
654
222
158
493
264
332
192
384
88
476
565
322
270
416
537
131
80
192
205
84
566
148
219
349
312
280
360
293
270
504
438
613
592
77
493
127
197
513
724
356
118
1042
510
587
288
559
157
276
124
120
472
192
241
1037
461
421
260
412
822
689
389
337
691
406
523
574
352
483
436
114
328
467
440
465
685
382
123
154
204
275
464
602
565
55
539
77
383
365
154
107
537
322
243
494
202
289
336
345
410
328
262
340
417
559
70
352
235
324
583
478
107
240
448
320
289
208
320
358
221
303
358
279
391
150
416
66
465
218
416
384
305
642
355
586
245
125
685
856
261
147
218
572
252
319
142
303
209
137
346
376
392
297
530
261
210
181
285
178
780
597
704
274
361
553
54
473
613
89
558
249
60
554
251
206
519
373
287
112
330
448
310
319
338
334
512
304
292
298
93
774
297
603
341
227
736
338
570
273
224
421
233
512
365
344
135
132
154
260
605
205
352
229
582
283
450
174
214
294
513
434
176
290
479
179
436
417
444
610
310
627
43
282
565
145
135
186
410
185
816
144
154
381
500
468
574
485
503
813
281
779
190
419
335
264
109
406
52
153
497
236
297
606
550
161
508
51
394
311
312
140
217
141
361
268
361
360
122
336
150
822
275
456
87
419
276
386
169
228
238
222
557
440
151
173
281
193
316
509
175
246
497
280
293
290
141
468
618
374
553
80
483
251
372
284
243
196
271
140
296
671
87
247
330
398
481
449
524
278
441
511
380
361
121
238
193
139
148
368
322
242
210
271
360
186
159
595
255
199
547
590
341
351
298
137
534
359
269
478
82
185
122
230
114
411
772
221
190
223
219
533
290
284
360
780
103
322
230
456
93
212
416
443
271
342
523
630
210
446
378
270
255
288
370
544
444
275
782
261
227
44
182
188
585
409
753
564
460
158
72
446
125
541
205
352
298
635
226
443
144
601
363
427
146
259
592
471
450
534
469
574
35
543
264
337
171
190
257
511
595
93
390
328
283
225
94
324
93
306
727
338
143
768
155
219
373
564
130
242
539
357
363
345
143
276
447
321
320
469
655
103
393
394
102
449
444
462
486
355
220
68
614
522
129
238
411
359
59
346
447
487
360
237
528
479
63
723
583
702
136
227
448
209
305
314
575
489
171
557
545
212
245
347
149
504
97
318
442
567
346
573
216
225
186
510
306
439
368
174
140
266
263
183
806
423
454
66
488
85
267
546
458
435
150
429
71
617
428
104
65
579
441
305
204
465
440
320
160
373
814
466
492
332
427
289
227
645
555
184
78
86
129
102
610
399
480
259
410
826
114
151
99
279
13
298
155
480
276
160
650
390
223
380
302
129
217
415
107
445
585
515
112
358
656
848
160
429
504
454
119
46
159
436
277
249
400
310
154
148
85
797
394
498
532
344
180
409
314
347
85
369
559
440
252
185
211
148
329
238
213
799
219
310
315
369
627
31
436
158
413
537
229
531
64
95
269
244
478
280
225
376
400
477
338
219
378
712
226
156
258
236
782
313
157
401
216
235
697
342
416
553
456
427
560
295
361
286
143
189
77
192
543
402
680
362
186
529
575
533
287
455
432
305
339
233
187
428
192
396
579
506
354
149
114
255
559
73
100
361
568
697
153
442
219
457
591
134
704
262
640
536
197
248
101
523
203
70
299
431
172
814
368
538
372
98
96
579
344
638
575
239
71
477
332
231
153
376
186
570
528
598
426
96
172
121
544
271
51
265
504
544
239
190
154
210
143
288
681
499
447
206
491
229
482
492
143
435
94
377
750
179
424
749
406
151
700
116
450
359
225
428
231
214
182
682
353
630
387
365
406
265
433
365
51
225
1106
119
313
299
323
346
79
388
382
512
609
246
75
819
639
647
406
298
279
334
711
167
547
496
285
549
484
690
469
212
426
267
130
502
106
241
397
284
256
418
586
320
201
358
780
498
275
194
329
785
482
242
407
507
76
136
469
296
249
194
315
184
654
181
144
621
638
424
362
478
382
217
112
618
106
310
291
94
90
553
186
266
417
180
226
256
105
472
354
206
493
276
409
145
362
98
578
42
300
185
404
65
203
84
369
597
372
101
802
393
105
402
373
545
366
267
443
368
546
541
590
73
162
113
659
300
249
373
374
238
311
140
165
216
434
327
454
68
324
797
188
367
348
164
434
729
159
193
589
386
156
397
272
525
333
324
380
523
86
512
393
197
221
30
335
154
412
996
142
940
403
186
223
476
380
542
70
577
448
503
770
457
183
426
503
294
411
234
395
152
348
369
406
641
552
84
282
63
400
196
212
440
575
354
642
192
473
79
274
317
240
586
411
276
586
229
628
412
570
373
567
391
259
153
140
494
323
496
394
310
584
420
433
507
584
395
251
516
256
29
792
771
303
553
452
187
356
489
698
896
151
150
549
134
400
122
170
314
214
224
410
595
572
301
206
719
367
86
787
455
377
1111
652
469
294
307
454
425
587
542
157
177
243
564
508
530
215
342
146
166
318
167
124
282
57
265
524
237
155
567
481
167
352
148
207
142
266
183
392
172
333
517
423
506
621
451
225
139
60
158
276
271
122
514
694
854
854
175
134
177
808
36
575
235
477
395
419
114
225
853
271
674
400
396
540
376
211
687
214
486
304
267
354
426
138
704
129
257
115
573
259
218
962
360
120
483
214
123
377
473
554
465
544
256
334
193
331
122
429
579
413
163
455
236
356
330
107
419
395
234
594
485
1084
269
235
223
331
292
251
204
381
251
144
768
225
724
223
497
213
378
200
126
605
443
311
164
546
97
178
77
532
400
675
110
377
776
568
315
508
267
677
208
602
128
269
248
225
741
140
501
345
364
224
393
237
391
457
56
271
787
187
461
426
366
163
525
393
430
597
261
714
380
54
183
361
346
423
350
624
370
224
367
510
148
38
278
356
341
139
555
610
237
496
333
248
475
318
315
437
433
359
600
122
694
360
602
260
155
319
569
387
418
56
189
191
146
138
462
142
219
633
474
191
487
474
353
342
234
224
194
356
391
272
462
229
286
39
373
302
551
193
123
236
118
450
161
110
208
594
583
510
231
67
391
565
281
138
148
130
648
340
777
81
34
492
346
117
558
493
287
376
94
222
355
411
457
11
108
433
203
256
145
505
253
203
351
50
125
443
304
558
535
327
144
158
325
280
269
669
815
458
215
599
198
274
796
178
442
146
105
316
237
493
248
694
476
123
683
559
260
279
232
368
368
191
632
496
479
314
172
603
229
170
58
538
276
303
211
418
638
68
673
678
485
151
474
128
741
319
188
100
468
447
224
692
410
86
559
168
442
666
519
143
179
510
209
646
393
251
472
525
347
402
164
578
349
382
630
371
176
501
56
37
365
138
159
575
397
250
473
239
200
476
479
448
332
566
558
381
196
205
539
350
371
336
198
643
554
91
118
592
373
256
269
108
167
314
276
363
242
763
166
511
153
69
203
620
368
889
169
331
441
511
500
583
208
278
337
625
474
594
282
320
398
124
368
470
168
148
401
259
339
391
187
500
532
240
686
495
417
567
317
98
458
304
245
231
331
71
164
138
452
284
503
378
584
139
469
385
166
743
296
134
189
373
349
138
461
179
274
897
291
790
299
637
108
81
345
619
168
623
590
453
349
359
357
592
481
207
296
520
508
436
237
373
235
200
68
554
724
352
279
466
363
385
469
256
329
63
303
267
174
233
582
358
252
359
298
631
216
274
83
666
668
476
352
157
407
474
827
44
73
324
140
291
251
502
229
261
427
145
322
293
155
85
282
279
543
585
548
352
262
239
250
383
218
721
511
391
360
717
141
179
303
509
61
386
460
372
409
236
259
191
136
377
412
218
161
567
315
465
332
364
559
421
510
821
348
216
736
613
572
270
42
279
305
207
603
354
436
401
561
456
352
766
346
511
396
468
325
607
273
483
174
147
171
106
37
252
494
379
532
568
197
168
856
390
417
542
606
471
412
377
483
460
168
577
590
187
579
199
333
449
400
90
235
116
599
451
101
622
439
253
367
800
414
222
820
281
296
474
367
500
245
213
333
455
216
326
453
213
112
226
469
247
580
286
125
590
702
841
334
66
294
299
415
502
497
361
204
93
271
503
151
76
56
539
212
150
70
287
171
552
181
459
514
80
401
296
573
419
103
343
336
326
340
242
340
265
418
446
501
76
369
225
491
570
449
114
92
130
337
261
306
276
827
374
579
745
478
253
154
585
209
202
457
195
157
221
216
570
255
294
258
779
359
344
184
595
579
517
7
247
395
305
188
882
617
226
369
393
305
491
285
430
223
331
216
415
507
473
229
188
121
78
500
542
408
400
74
448
185
140
226
755
284
768
157
146
48
456
355
214
466
104
277
593
213
369
170
151
131
252
377
287
139
443
434
343
509
217
497
551
68
182
600
309
372
272
267
348
336
394
377
323
513
181
613
252
344
574
165
86
446
401
133
181
539
337
552
483
727
588
245
553
96
141
181
574
331
271
244
564
327
132
425
392
655
381
302
123
139
133
311
379
324
467
466
204
616
286
382
351
642
454
198
426
376
265
291
247
110
104
342
133
75
572
366
356
130
333
459
151
261
224
215
270
299
177
206
71
49
339
156
159
370
567
739
177
652
385
486
506
418
259
375
330
459
448
254
728
101
276
214
816
249
295
1087
147
463
372
202
263
73
199
352
280
334
180
116
574
98
530
657
239
595
388
249
335
49
187
233
426
602
368
33
460
98
597
269
547
184
308
540
335
271
350
288
278
331
748
339
123
777
494
75
306
272
206
170
512
295
144
452
49
382
185
234
353
524
167
314
361
119
712
453
361
561
492
384
139
305
129
311
551
554
510
468
334
231
376
613
103
573
507
557
115
77
76
299
468
207
409
818
312
369
407
285
645
375
195
164
705
670
202
530
276
204
725
546
80
153
122
336
778
370
502
381
486
189
421
174
115
378
58
317
95
300
581
155
205
122
568
243
409
502
116
351
421
348
381
256
207
221
164
35
199
364
143
100
140
384
485
112
287
299
413
249
254
303
223
604
471
188
190
194
369
399
681
255
93
75
505
327
404
545
355
51
396
265
141
109
701
362
109
248
229
318
766
354
558
433
307
59
531
521
417
223
483
356
136
231
364
107
476
313
509
264
473
545
245
706
775
162
590
231
295
709
99
151
790
593
459
239
40
81
335
524
376
170
92
322
317
147
291
451
314
755
95
131
525
309
113
69
515
575
96
205
173
683
454
342
639
260
216
249
263
162
352
361
624
378
333
350
539
249
235
409
144
218
370
517
117
254
238
136
335
330
690
496
744
254
315
433
579
203
137
339
239
458
423
507
922
275
177
503
587
235
304
225
456
142
607
159
217
313
448
53
584
572
550
54
610
722
66
83
167
424
550
31
510
441
690
396
93
194
763
119
585
395
1010
531
79
267
144
706
349
242
231
361
227
382
249
244
248
388
253
263
569
249
163
510
458
564
310
320
81
571
542
401
534
426
584
319
300
116
623
288
13
346
256
631
381
326
846
484
265
388
431
609
502
401
180
533
491
487
132
537
97
162
417
75
133
431
205
307
288
377
637
47
328
325
1111
735
108
198
383
614
252
576
532
290
336
32
268
222
315
82
87
482
234
311
630
191
330
404
552
608
448
216
202
144
186
242
442
650
374
112
81
378
192
317
224
371
850
428
601
332
441
156
302
263
497
339
614
439
171
363
586
535
190
520
257
276
829
535
516
554
329
232
520
510
356
778
55
510
41
352
263
268
347
429
244
553
28
439
383
88
181
759
270
270
134
341
472
298
345
303
625
256
417
785
214
439
372
261
237
639
392
363
372
104
659
360
389
388
306
103
305
193
507
633
630
672
358
170
550
302
340
565
350
297
433
480
235
671
275
776
149
71
572
350
547
187
501
350
378
531
249
118
150
373
389
532
173
167
133
686
597
317
197
209
599
535
83
16
370
204
134
255
690
297
334
342
352
281
382
262
37
178
399
193
397
292
411
27
107
260
282
333
359
138
336
298
157
534
439
559
103
567
456
288
318
267
229
353
133
345
375
566
800
462
427
161
108
558
745
346
393
628
405
189
72
292
195
111
397
765
186
88
492
248
492
132
456
910
751
303
705
270
128
472
205
263
362
574
52
493
252
568
306
634
142
511
172
574
234
341
554
276
364
175
200
654
401
592
346
252
400
70
238
129
275
59
194
195
310
742
164
436
538
1068
198
625
202
147
278
185
670
275
532
347
466
598
430
126
290
317
741
426
326
422
275
322
203
232
529
458
84
516
210
595
385
507
274
647
73
139
309
312
557
71
342
734
208
454
533
251
361
647
156
408
147
394
49
417
641
515
467
242
162
73
578
363
571
628
51
326
555
404
326
323
251
348
134
430
246
396
450
426
820
342
412
329
56
228
73
189
615
122
245
251
122
111
232
302
112
265
248
433
146
351
241
581
612
232
256
454
452
208
211
475
572
376
58
158
85
427
551
272
381
447
168
438
246
230
321
227
229
859
328
347
568
475
196
533
553
325
302
310
674
224
354
486
629
231
370
269
403
30
286
502
678
831
153
165
312
402
277
217
537
353
710
372
263
343
440
668
314
240
1084
52
442
911
461
39
343
583
395
539
146
46
240
342
98
405
406
114
415
201
298
216
305
171
333
392
187
102
207
288
560
616
125
243
839
483
186
431
189
248
164
72
307
273
598
280
169
423
334
440
666
314
100
489
311
442
85
216
198
228
961
346
221
107
300
569
453
589
631
319
503
270
348
456
202
590
312
79
61
268
418
348
620
344
379
331
586
829
488
531
83
213
326
161
169
265
286
81
521
313
254
387
259
136
72
499
497
342
576
309
681
487
371
670
1053
234
693
223
159
269
396
395
390
260
749
173
658
391
156
49
375
237
272
300
329
277
403
351
378
152
321
729
170
227
237
425
603
282
431
449
590
199
375
179
117
434
468
357
141
200
596
441
129
522
295
205
257
105
364
502
370
356
110
341
280
168
518
454
399
933
343
110
156
669
249
452
172
477
190
176
361
558
363
94
272
22
372
167
131
429
109
344
415
114
568
632
300
346
245
571
322
214
488
514
257
506
719
739
300
101
366
544
497
237
158
301
393
219
358
276
409
661
390
622
224
523
348
271
344
444
371
74
101
377
383
281
99
225
479
313
250
334
477
184
468
305
442
329
499
246
347
717
359
361
124
360
283
482
898
196
500
104
162
348
313
676
390
178
355
49
640
145
242
358
189
246
493
267
212
266
387
306
420
231
342
21
317
163
247
314
340
291
424
175
524
382
547
203
110
560
523
298
326
556
221
378
468
351
415
298
684
697
637
305
220
341
173
488
241
315
90
253
696
76
282
549
138
374
395
176
229
285
51
281
250
805
298
616
433
15
282
688
180
232
284
438
462
62
128
387
275
402
61
160
85
385
449
483
35
315
402
89
389
159
842
489
94
379
283
140
147
471
77
507
259
281
340
493
495
932
176
167
335
243
359
567
97
213
437
104
614
205
64
541
358
534
634
197
618
188
179
739
310
275
642
563
61
389
525
144
320
198
56
641
173
251
487
121
452
464
238
550
445
571
159
472
377
108
292
130
173
306
344
315
622
498
110
507
725
69
197
642
194
641
151
412
220
234
254
245
85
182
157
184
345
325
215
246
482
338
110
219
32
172
732
394
175
238
368
416
624
300
382
152
462
654
342
573
377
456
334
258
380
485
283
314
486
134
384
541
361
146
402
286
296
617
890
252
89
209
669
206
997
452
139
267
313
458
508
413
353
610
342
260
100
615
338
381
537
305
278
501
921
135
120
81
176
264
229
606
411
415
435
325
224
457
141
293
235
118
139
323
103
120
620
290
485
52
763
610
281
65
543
290
395
174
22
253
896
256
75
54
66
620
537
658
222
222
246
330
489
377
93
707
155
360
455
397
499
231
455
302
200
342
245
56
333
507
109
509
243
227
716
328
307
285
448
506
140
190
328
47
187
285
579
185
396
11
51
248
196
597
229
193
213
818
464
79
358
213
507
557
220
413
618
86
490
193
260
444
405
573
525
579
292
623
329
193
201
290
523
100
413
369
583
453
222
40
210
403
108
375
529
489
637
269
504
14
782
434
224
366
589
105
518
350
153
305
119
251
588
58
174
217
262
269
400
237
405
73
377
378
650
753
905
380
225
285
87
387
556
255
190
772
341
148
195
547
378
159
165
280
515
466
219
314
14
216
659
406
184
444
251
284
404
627
517
281
275
587
308
274
466
428
743
306
443
249
523
472
191
576
90
132
487
551
466
392
256
217
543
329
288
356
372
210
302
249
121
151
696
358
166
276
94
128
138
119
432
355
176
201
65
422
170
536
108
282
520
201
409
426
213
529
530
576
184
365
36
196
545
244
357
635
646
194
201
403
102
261
183
544
290
198
244
358
145
320
235
221
335
330
201
141
27
57
473
88
386
158
172
167
425
474
175
458
272
294
326
306
391
467
251
549
491
92
250
369
263
261
545
438
558
442
157
106
375
830
323
480
363
741
514
285
133
417
294
646
157
297
490
550
126
241
475
633
99
237
208
419
268
577
331
590
891
412
124
890
561
370
265
372
444
340
315
507
450
228
436
354
201
448
301
441
465
196
175
832
412
462
519
295
233
567
398
138
326
111
126
518
487
285
368
237
258
86
237
283
267
106
167
283
808
408
800
787
549
248
545
484
132
115
282
420
26
352
74
229
473
471
58
562
133
167
70
819
400
323
203
142
508
385
426
85
165
249
134
282
345
111
97
331
534
455
360
285
631
504
250
358
198
273
212
156
379
619
785
126
256
474
368
466
149
258
328
388
333
150
298
237
272
80
36
340
292
121
551
314
357
886
128
274
60
50
353
707
262
476
612
32
454
102
254
728
593
572
30
237
549
310
698
290
137
57
74
138
145
387
190
1103
249
663
150
154
173
247
552
296
844
253
427
338
194
66
93
418
605
165
350
343
333
401
328
317
356
374
340
427
342
567
580
207
233
640
758
211
320
383
77
149
385
299
605
102
370
75
621
578
68
376
807
154
632
483
247
431
595
258
168
51
146
334
363
757
340
147
560
237
444
114
196
661
160
611
439
110
428
334
304
104
304
207
366
522
431
483
545
334
303
172
48
230
249
241
275
520
331
421
720
613
72
216
279
650
460
162
736
132
296
296
62
256
256
340
495
333
324
279
510
596
413
797
314
533
522
109
419
308
430
333
129
239
305
150
274
585
386
379
682
498
692
412
437
181
405
344
263
87
324
229
490
206
787
793
106
207
393
360
735
845
285
584
753
415
324
818
165
146
213
355
370
269
359
469
619
688
628
236
517
421
598
366
353
548
371
312
413
325
259
392
108
332
326
141
350
640
263
405
211
272
40
653
194
375
214
133
250
278
246
102
538
594
332
259
533
257
344
398
334
248
519
488
305
156
238
606
314
357
62
528
764
66
245
751
387
648
111
334
537
159
172
568
152
789
128
218
228
483
383
41
267
188
231
256
194
270
177
287
661
75
394
648
339
342
402
520
263
260
289
571
238
272
144
388
164
301
600
370
346
303
245
229
139
396
345
297
164
578
688
246
334
59
151
547
284
57
559
244
392
308
210
391
451
243
354
171
440
148
273
376
279
140
226
340
446
351
479
279
122
444
52
195
165
727
51
575
355
213
449
705
406
638
429
131
414
346
325
205
254
87
248
235
156
101
217
376
248
29
280
134
525
474
112
91
239
339
149
435
414
439
82
479
212
355
433
449
529
483
354
259
92
84
479
141
607
221
463
272
262
171
310
417
87
293
128
183
366
247
129
394
371
428
162
202
605
395
106
512
369
546
154
378
383
161
467
573
410
405
374
358
197
625
351
353
392
279
237
381
344
832
218
203
548
266
171
152
346
225
602
235
316
300
81
478
623
279
640
118
262
118
486
164
457
261
143
33
152
475
269
286
200
202
96
478
839
578
499
760
480
135
462
225
90
194
756
540
110
105
668
268
704
621
572
419
205
367
657
247
394
588
167
734
238
205
265
371
363
731
244
460
209
279
505
605
442
143
469
490
306
428
47
156
293
211
400
370
57
508
91
197
336
186
216
306
80
356
756
357
55
165
205
260
577
422
362
75
526
311
117
261
554
597
560
142
331
404
308
694
113
273
490
435
64
195
463
185
887
392
219
136
419
494
603
363
355
576
94
439
419
89
254
332
234
689
431
256
622
140
667
521
458
239
715
310
497
890
414
216
645
251
240
143
635
395
513
71
94
349
537
619
175
378
288
98
106
461
323
546
702
383
186
191
191
373
573
80
474
350
400
232
326
290
557
208
203
383
57
448
565
395
593
105
100
151
334
91
290
274
234
301
175
430
549
824
517
687
71
505
475
647
38
703
263
96
566
253
161
71
362
110
127
369
518
74
842
149
245
482
142
206
439
414
401
510
750
315
281
203
297
291
379
121
200
574
174
775
503
581
238
52
646
378
123
217
238
323
388
311
73
297
424
405
41
203
162
179
67
740
252
424
208
507
183
344
622
542
257
228
260
471
667
435
99
474
100
448
653
569
228
389
227
249
165
161
483
81
283
241
634
105
763
364
526
272
123
386
446
361
255
33
731
131
518
596
287
85
192
542
480
193
416
333
480
523
214
518
551
414
489
546
110
170
359
397
50
253
507
719
582
434
369
733
257
90
334
475
334
632
166
261
431
87
156
717
225
381
101
286
344
809
157
327
602
249
203
156
353
455
521
268
418
210
543
371
1043
332
198
244
149
889
256
445
391
494
281
484
365
286
603
446
69
168
275
569
95
532
253
31
371
655
338
248
405
581
551
82
462
367
494
97
351
246
284
250
124
166
274
260
123
279
619
151
214
181
565
838
301
410
136
143
161
298
231
628
326
162
416
483
855
263
417
148
563
147
563
322
141
246
421
354
306
102
246
215
278
850
267
324
345
523
187
253
441
210
447
81
167
260
198
479
141
306
437
340
513
239
560
215
667
311
601
236
191
246
426
688
293
491
476
213
167
104
299
209
270
321
408
475
542
701
138
191
259
374
314
139
74
297
533
390
397
610
254
479
287
439
127
162
412
160
288
168
426
382
447
348
136
97
274
217
144
488
260
1018
633
1029
206
255
387
96
93
479
424
213
155
495
664
700
789
237
132
175
268
376
550
847
167
187
356
219
825
143
257
376
247
269
175
833
416
384
814
185
673
372
398
477
400
240
113
267
413
34
743
429
209
109
149
54
368
260
323
498
390
368
42
227
685
479
209
158
545
510
486
544
146
492
359
235
284
188
352
193
403
333
258
302
263
69
664
255
206
162
401
194
60
923
226
797
54
61
434
345
185
132
383
496
468
61
296
438
600
568
118
533
182
365
466
332
543
284
484
423
85
291
423
285
490
749
169
217
222
282
536
52
716
191
174
384
219
53
69
372
119
192
101
441
208
510
616
788
227
197
471
173
453
102
258
744
469
664
105
558
914
341
433
212
574
361
279
601
814
302
520
209
457
440
81
599
297
494
503
359
266
120
424
143
260
606
826
416
596
253
170
684
633
519
426
534
151
559
444
532
465
227
389
429
327
585
661
318
240
479
155
254
457
536
253
246
132
134
377
248
492
105
536
686
512
587
381
278
622
252
369
315
516
356
480
653
259
769
636
837
314
110
448
82
491
220
301
286
64
493
657
452
97
228
668
181
76
221
139
341
339
383
159
573
557
267
464
509
278
235
237
373
307
482
587
306
441
332
430
62
619
474
581
371
430
447
88
621
547
119
482
426
285
195
545
280
247
646
613
164
372
444
238
101
172
361
366
258
192
847
294
214
201
305
225
117
533
546
883
449
89
414
306
632
613
305
159
629
288
240
121
350
492
313
446
336
311
283
704
870
561
401
570
282
255
118
140
406
788
517
379
384
235
821
296
352
585
354
478
200
497
146
491
257
215
751
656
789
140
388
321
337
290
51
381
266
347
74
322
377
220
634
108
200
454
222
394
270
237
308
50
209
205
307
261
556
470
544
579
141
289
170
118
150
307
787
190
895
335
366
192
150
426
71
483
1015
524
176
521
517
128
391
226
342
55
319
249
256
930
128
248
397
584
230
266
796
125
151
578
589
359
217
170
144
381
414
323
166
302
208
524
511
177
619
536
133
140
121
401
360
189
221
156
524
708
404
523
532
520
703
478
828
282
91
595
263
656
514
149
236
283
414
439
190
298
378
250
274
490
414
122
234
360
470
327
71
168
732
303
536
171
97
303
516
257
770
840
271
523
241
27
718
308
456
342
486
178
268
86
210
494
441
245
108
354
584
429
464
628
548
576
69
266
203
339
129
619
312
918
474
229
384
299
279
201
812
347
193
407
357
278
312
322
254
419
498
212
707
465
502
562
245
545
373
250
62
725
437
192
675
698
448
334
527
123
438
645
593
337
111
386
605
486
238
93
286
496
721
374
77
516
121
409
256
360
320
402
225
46
331
457
113
601
703
198
655
88
797
271
269
337
240
432
178
353
280
291
639
205
435
459
400
497
191
539
269
312
60
496
161
377
172
421
479
116
432
263
325
316
523
485
562
658
196
108
123
298
296
380
366
583
251
301
50
219
264
354
274
107
602
518
113
325
197
555
314
484
164
404
218
171
221
287
219
307
27
302
589
229
430
755
390
107
194
256
554
462
164
346
492
253
307
500
312
526
411
479
454
115
367
387
331
200
316
256
175
168
344
255
54
99
206
502
433
391
220
429
323
380
82
369
652
525
623
336
127
505
442
374
192
565
474
363
228
247
56
548
266
84
603
65
541
395
387
271
796
131
344
214
193
279
506
640
397
244
737
373
293
168
342
400
261
949
329
560
408
182
30
337
206
548
407
276
312
291
82
271
279
447
416
433
310
242
407
74
549
419
650
247
357
221
635
325
572
226
468
486
625
733
749
254
658
413
50
384
227
443
676
797
275
571
252
297
809
262
385
223
232
152
328
142
214
261
764
333
280
66
310
213
218
288
385
297
554
443
313
442
397
396
171
586
550
591
262
314
773
118
65
373
268
493
547
201
246
456
230
74
405
95
365
174
47
197
493
455
347
193
323
615
156
388
190
388
238
410
323
280
140
481
284
128
234
218
353
279
256
614
531
165
190
299
588
310
335
149
447
544
565
287
301
554
305
317
281
172
145
344
74
135
181
388
331
472
344
249
378
666
520
526
408
304
135
503
266
876
248
526
266
216
330
475
368
262
62
697
262
298
783
474
129
129
667
505
234
767
493
112
321
199
325
510
435
342
260
681
331
25
585
272
183
473
198
295
370
371
442
100
478
488
91
502
315
347
350
68
215
349
645
385
70
472
555
330
311
206
462
359
262
474
269
677
46
375
142
396
293
737
701
231
418
745
206
409
422
301
791
441
585
82
506
343
532
280
420
249
500
612
256
583
162
195
524
133
106
274
478
195
605
320
60
353
413
491
407
184
388
374
664
217
352
496
531
396
35
399
91
301
450
41
483
105
441
346
132
495
82
244
841
378
781
515
86
662
402
389
455
150
102
478
412
223
443
161
288
448
532
337
436
110
698
436
266
105
214
158
368
137
288
483
437
327
758
353
288
380
400
436
639
393
344
280
453
411
443
602
103
145
850
300
370
386
464
72
378
230
145
133
307
440
340
550
488
110
395
380
285
114
437
157
556
516
94
547
272
599
662
581
115
251
357
721
174
306
602
335
341
434
354
159
235
538
466
118
368
327
191
397
400
249
353
250
255
218
825
436
658
219
300
211
531
826
643
436
306
345
317
945
177
140
345
362
342
304
218
164
442
824
519
680
558
510
819
490
218
528
489
654
108
484
248
476
533
225
250
676
549
252
530
56
280
481
263
376
119
253
158
176
453
323
326
113
301
324
329
466
261
246
112
536
364
325
570
627
484
152
823
143
456
1028
224
223
178
331
676
266
398
83
603
161
399
646
468
307
160
105
128
393
443
349
391
372
239
401
221
153
365
322
590
156
347
438
291
279
242
229
300
345
917
292
690
540
59
506
112
440
813
742
363
250
231
321
311
307
274
270
115
552
400
232
458
352
429
328
439
372
226
308
283
411
326
71
154
383
778
172
204
148
575
209
573
453
305
193
631
505
144
168
638
227
61
671
255
680
189
418
573
118
177
362
211
367
194
276
353
297
414
268
836
328
168
274
93
565
362
310
626
378
490
81
235
163
308
313
507
565
235
305
485
350
217
90
206
295
348
387
494
805
351
148
620
511
576
350
429
166
617
431
661
267
393
344
576
369
324
652
249
553
340
251
583
56
332
374
385
141
652
224
212
173
835
313
544
370
397
276
481
204
130
554
109
215
725
42
250
697
250
17
94
698
75
476
151
763
737
77
254
275
286
259
800
564
647
302
225
446
400
146
235
580
297
313
137
340
185
882
346
274
204
136
134
223
164
190
371
558
191
343
289
183
99
486
524
988
351
220
115
393
120
614
513
125
352
578
458
802
406
530
59
517
403
376
463
141
163
335
453
299
113
318
447
701
56
163
485
435
784
206
623
319
209
431
150
70
202
362
147
414
70
160
59
217
348
455
391
361
317
196
340
435
356
262
311
222
371
437
397
793
274
183
207
299
173
409
133
32
79
441
559
140
289
261
613
541
233
403
467
702
327
483
324
317
789
141
89
503
490
604
288
226
240
308
137
779
108
190
301
416
773
377
448
558
286
315
269
403
397
217
347
77
338
555
467
98
225
472
266
334
145
559
54
339
469
727
439
702
171
67
192
767
469
446
269
344
119
273
390
158
201
574
192
371
336
295
189
259
268
562
390
322
299
269
388
618
333
89
368
285
138
202
425
357
478
537
374
687
580
495
350
491
467
616
463
473
202
383
75
376
368
107
483
219
86
70
496
205
611
569
643
484
299
338
334
720
569
578
469
256
320
219
578
175
220
354
539
608
695
69
540
273
442
532
333
414
398
175
516
346
488
367
309
146
209
309
67
309
174
253
209
282
277
366
85
278
322
244
169
367
193
287
347
107
116
486
511
428
470
363
431
240
110
443
188
475
476
537
416
389
297
545
285
394
372
89
475
502
408
432
92
673
658
58
454
156
350
133
267
383
294
310
339
608
436
114
255
312
260
442
398
568
280
515
460
121
160
679
481
278
139
261
175
772
366
297
108
318
114
728
486
227
213
355
763
236
521
477
299
776
47
277
595
453
613
267
209
219
284
200
278
358
192
237
204
623
409
576
316
118
90
296
721
522
268
237
153
645
707
228
425
788
266
523
452
419
535
350
193
330
168
99
877
280
216
202
318
237
301
437
401
109
462
764
250
178
221
103
244
346
495
594
587
107
522
171
9
82
565
607
246
405
277
321
173
397
174
520
24
124
538
641
218
298
221
579
188
618
233
580
202
548
255
737
277
426
285
233
33
450
459
312
449
290
195
195
222
263
269
276
554
665
704
47
336
80
456
188
530
125
283
158
250
496
426
344
788
281
127
42
640
57
364
324
311
420
444
566
580
469
322
314
340
432
152
385
493
357
452
463
316
187
607
294
458
546
438
312
533
113
153
365
324
425
25
290
281
337
184
373
1029
316
91
276
679
551
258
294
304
403
505
478
35
222
364
150
805
413
433
251
137
293
462
406
421
274
120
405
259
688
252
151
517
328
287
239
103
192
242
256
152
502
479
486
220
476
466
293
241
765
547
72
347
224
413
279
394
111
207
308
182
393
98
256
403
491
213
152
372
140
443
40
637
287
333
193
172
509
204
280
367
362
461
579
519
237
383
526
189
247
93
259
427
108
453
124
331
414
135
412
544
372
182
464
127
275
480
429
177
225
641
552
678
264
522
166
101
491
91
354
235
536
544
205
460
430
391
595
310
170
171
260
466
190
415
231
468
196
158
504
295
691
296
765
32
286
620
547
271
464
51
443
522
322
204
182
677
336
612
665
172
598
394
619
275
396
472
86
245
200
217
501
91
506
407
136
193
387
68
634
232
985
424
227
364
711
390
102
273
99
269
366
567
266
458
240
306
504
616
293
781
445
297
101
156
407
348
255
382
383
529
263
383
356
591
528
22
193
505
374
666
93
157
194
207
178
131
229
533
416
69
661
668
501
163
226
624
67
259
254
166
115
179
602
403
215
125
405
413
453
536
159
255
339
312
642
876
460
254
183
488
292
282
236
182
501
67
451
268
887
395
404
615
127
458
194
294
264
246
654
556
533
440
178
536
362
154
340
408
319
402
72
713
107
794
257
508
732
589
53
517
474
448
313
386
162
556
454
376
476
345
600
508
295
737
477
463
462
620
348
483
328
351
419
205
359
480
301
469
301
351
127
211
185
195
256
468
567
463
176
230
682
245
428
124
259
488
372
243
236
116
284
236
275
245
452
680
341
262
240
299
718
324
196
772
561
550
199
305
89
549
770
497
449
372
247
348
313
247
642
288
390
462
326
224
714
185
660
573
338
399
439
544
614
220
419
153
537
137
633
208
432
494
619
774
654
468
376
199
507
550
139
377
508
224
797
788
591
179
257
441
577
318
606
39
577
377
383
600
572
124
441
217
573
153
436
252
193
361
630
173
73
195
116
576
553
425
330
391
316
320
244
478
353
442
631
205
423
143
513
214
225
459
428
740
77
794
364
252
296
330
358
418
235
414
223
302
260
181
444
531
426
49
115
177
631
73
237
377
420
606
344
403
232
103
536
176
254
698
429
593
449
222
438
837
332
643
224
242
356
240
281
413
310
264
264
37
418
246
646
315
384
628
181
659
132
271
98
287
388
378
481
229
369
288
530
788
95
92
136
535
81
457
124
351
159
166
556
102
373
299
192
204
673
488
430
281
556
560
251
871
305
442
144
165
346
721
430
38
823
369
494
406
399
631
456
103
517
341
794
473
523
103
444
742
360
371
545
430
57
604
227
471
303
88
636
356
192
285
152
291
132
296
331
186
213
542
674
470
529
368
682
424
476
334
704
168
498
172
384
374
415
781
368
539
77
45
245
121
414
224
434
142
382
304
317
129
301
235
567
609
343
165
267
505
773
167
215
87
521
367
698
454
445
97
333
230
247
216
265
396
489
469
455
65
246
188
500
289
330
137
206
457
435
252
416
397
576
125
388
495
329
283
270
129
416
169
304
260
171
432
242
765
149
520
445
154
371
80
395
259
342
632
304
398
562
239
335
267
369
324
81
436
504
296
391
349
435
147
355
243
282
225
641
314
207
190
206
544
478
379
542
260
151
286
168
504
186
686
123
412
472
229
202
539
699
501
398
391
588
88
771
252
443
577
455
649
525
311
107
243
163
672
295
177
308
84
470
95
546
231
510
315
321
386
538
177
510
282
542
269
258
267
269
85
150
242
518
432
250
823
356
239
401
332
496
350
226
414
78
622
143
304
45
578
461
908
97
130
265
417
239
415
273
107
123
286
182
711
449
620
366
385
255
615
228
315
164
179
690
426
469
102
210
423
138
533
296
526
381
52
219
162
97
91
88
198
434
438
598
207
270
295
93
188
457
386
94
572
400
532
429
559
636
484
65
354
410
213
440
716
129
315
523
116
132
253
369
169
584
774
452
175
476
413
248
411
323
392
288
277
208
310
295
183
277
111
354
550
805
218
73
138
77
340
226
518
388
124
701
323
567
52
142
572
421
187
318
491
204
367
416
648
201
397
425
787
559
301
338
392
387
310
335
176
312
240
165
199
508
316
198
174
142
347
269
556
669
184
320
253
505
351
517
130
212
394
599
450
305
307
652
379
440
347
32
255
485
592
92
33
141
454
407
163
516
716
311
406
462
78
180
122
407
26
501
498
660
380
733
140
361
125
429
838
33
261
150
455
295
715
366
199
342
524
135
254
205
408
471
77
262
474
611
53
514
235
537
354
389
234
216
297
103
155
547
261
440
297
377
330
184
488
163
423
486
102
248
273
503
263
565
558
531
246
626
234
175
641
611
348
417
234
326
78
187
483
754
332
427
461
207
239
664
135
468
488
600
529
435
96
222
509
281
382
633
274
670
754
661
176
402
282
273
647
252
264
562
573
389
288
238
314
550
648
549
782
523
106
120
277
342
185
497
182
30
380
411
308
339
323
623
62
140
207
55
41
301
169
59
186
629
387
347
153
393
487
172
235
316
143
551
336
89
317
378
222
290
326
96
442
326
228
477
359
212
320
521
277
116
471
741
349
472
479
90
330
349
637
298
593
70
646
490
65
548
303
665
613
176
149
410
578
178
297
713
216
412
521
337
688
161
878
701
325
350
334
320
553
466
390
417
194
241
112
139
152
199
465
270
187
130
545
544
245
221
485
404
138
384
286
531
64
457
441
194
367
545
417
410
212
315
475
514
423
698
479
469
289
415
197
379
530
371
177
520
324
81
187
717
397
731
773
232
260
545
17
900
219
505
258
130
375
73
386
527
211
123
520
287
776
294
497
326
513
464
178
401
422
481
476
259
179
304
593
534
450
218
515
891
321
265
291
130
201
465
141
877
65
295
60
579
411
195
351
602
289
609
219
161
340
55
206
236
343
561
382
338
476
109
29
197
281
606
495
506
394
473
142
334
444
453
419
319
158
443
207
498
78
45
600
387
233
202
234
441
348
420
284
257
457
151
373
432
495
253
773
127
446
306
37
38
316
67
459
758
417
416
204
309
574
357
567
312
265
445
350
245
340
257
200
309
925
667
588
442
109
235
256
289
260
172
85
174
337
243
257
491
253
443
389
369
224
274
573
179
626
435
225
366
269
66
131
567
610
341
537
303
379
374
385
547
209
214
366
323
735
568
254
504
232
141
484
226
365
723
672
199
252
328
201
234
545
216
364
287
396
230
107
781
670
334
282
306
166
785
531
145
189
512
294
96
244
578
487
521
391
670
185
154
410
437
497
338
216
465
130
378
392
328
322
155
265
288
377
620
305
140
176
196
84
263
289
278
566
512
347
379
316
392
205
454
229
442
510
451
304
487
312
130
734
273
162
500
378
163
209
654
530
290
378
535
364
384
300
154
189
95
224
215
413
455
649
613
445
275
449
671
279
57
155
317
211
720
278
248
360
250
272
314
327
79
112
205
417
157
151
211
479
463
438
162
290
373
444
446
668
70
364
144
184
250
300
393
446
582
223
468
460
446
49
706
437
400
598
393
572
815
588
362
198
623
418
606
522
734
312
683
264
38
845
370
181
537
182
284
269
402
211
288
567
235
312
496
709
78
434
383
686
197
348
299
284
377
286
293
426
155
430
566
221
406
342
511
72
353
444
402
294
186
222
199
249
490
140
277
467
128
199
260
292
388
387
460
92
385
282
137
162
187
146
379
173
259
187
314
177
134
413
107
103
247
170
246
929
775
126
176
644
279
473
259
198
80
641
391
330
93
194
414
412
222
281
636
134
241
87
377
379
398
325
260
160
531
614
376
47
335
257
739
130
245
447
144
142
466
79
186
575
378
559
392
304
563
142
579
119
185
636
540
353
302
781
341
198
681
316
419
362
172
679
408
330
548
397
600
311
236
377
222
75
566
288
514
495
554
320
267
376
193
92
388
273
608
96
426
88
343
772
356
263
649
350
711
231
478
166
571
283
450
635
42
285
336
391
190
362
379
960
11
407
384
25
213
389
304
211
113
100
345
86
281
267
444
539
472
125
341
241
747
338
139
421
448
535
224
71
489
310
167
337
207
445
271
595
340
171
455
751
160
205
208
258
485
267
126
204
482
224
274
36
437
506
230
156
399
151
303
244
126
300
685
56
207
282
661
206
470
137
409
78
758
303
430
381
213
262
374
616
509
670
571
208
363
513
230
97
119
312
558
374
367
217
59
121
22
447
286
186
88
419
401
215
414
174
567
372
226
343
99
563
314
256
132
199
838
454
197
621
307
601
57
647
210
588
108
219
471
242
776
443
45
83
580
62
564
153
389
306
437
335
193
240
418
206
380
240
527
330
99
305
497
437
839
239
115
557
140
233
305
340
262
413
185
581
151
246
504
300
276
134
792
493
316
245
113
290
203
160
438
52
102
253
286
526
400
234
300
291
550
255
157
430
414
340
255
328
250
330
491
731
773
340
352
127
509
679
345
264
233
234
517
203
226
644
1075
389
257
423
542
68
288
519
227
581
383
331
490
405
201
115
641
125
117
370
147
595
463
264
370
44
293
51
372
671
222
502
457
110
498
269
230
1078
95
267
618
558
125
518
466
220
768
348
360
346
219
470
341
319
254
125
154
276
596
533
386
352
654
119
274
460
362
391
129
440
624
415
190
232
419
510
476
599
338
179
340
150
314
562
584
448
472
194
318
148
115
133
314
341
332
367
166
500
471
677
228
186
570
371
156
376
545
291
393
280
101
709
574
316
246
422
374
461
411
88
384
373
282
545
290
83
182
901
397
449
238
700
826
222
160
505
370
591
369
288
325
350
448
403
324
453
195
406
645
361
623
107
406
655
597
176
404
374
534
381
217
517
280
696
260
328
174
228
342
457
547
56
325
520
260
663
438
446
189
629
473
531
67
504
220
214
470
123
150
508
438
237
531
789
345
551
488
424
253
402
416
39
232
514
91
584
390
450
300
504
294
130
221
722
325
142
501
637
687
325
169
838
600
460
176
339
74
175
198
264
199
102
324
342
231
326
172
189
153
209
129
437
211
77
647
346
558
319
208
104
67
386
434
310
461
161
375
340
454
190
285
575
676
383
403
148
812
120
99
266
328
133
219
219
251
310
805
169
586
167
377
369
500
341
312
285
309
34
430
305
296
477
200
187
453
564
318
434
552
251
777
273
141
370
322
441
509
156
251
361
419
809
719
68
647
205
383
203
92
294
221
265
395
412
552
565
534
302
435
632
439
175
459
329
159
40
150
499
381
724
150
226
641
138
676
232
70
387
406
384
538
316
539
262
181
335
127
370
232
328
336
487
355
457
416
553
368
185
82
248
283
615
458
477
337
411
402
164
390
745
161
104
205
457
685
78
165
235
342
533
377
568
561
289
641
270
446
581
502
258
22
202
236
44
550
557
415
353
104
182
256
583
143
50
666
532
357
642
525
371
461
135
210
397
351
419
391
541
279
115
180
544
133
234
483
306
221
376
428
40
420
370
158
545
146
352
436
281
349
152
594
210
292
298
729
576
567
500
476
263
223
209
345
548
588
286
164
211
256
583
604
498
221
409
401
114
527
187
422
242
190
62
197
349
199
480
683
308
176
363
750
188
218
473
188
214
523
152
211
207
200
149
488
268
527
306
379
585
329
46
258
534
576
518
525
149
137
146
150
142
93
805
304
706
394
319
309
249
53
472
42
270
512
200
151
524
142
491
306
520
153
280
580
175
363
443
522
245
279
221
73
476
379
66
218
247
302
284
706
476
659
297
173
106
551
348
164
110
128
331
213
411
270
111
188
677
158
34
255
393
378
224
630
138
201
483
119
101
247
407
247
120
980
253
576
339
671
853
894
531
188
458
116
309
415
101
400
193
313
151
152
258
274
672
169
183
222
534
535
407
284
538
359
320
444
223
334
630
442
112
577
872
338
406
471
302
266
811
145
362
681
238
362
439
284
612
655
317
462
350
327
250
318
93
360
154
185
339
465
205
102
258
90
376
620
375
796
202
84
252
128
499
228
127
482
382
520
476
170
250
388
541
266
306
84
151
637
268
457
376
385
224
214
454
276
188
427
71
606
385
487
117
262
750
400
252
319
123
230
539
501
88
182
484
511
380
168
441
41
349
410
262
358
687
196
223
382
364
368
26
202
311
308
153
328
370
45
343
196
170
794
294
184
354
203
322
284
53
314
363
584
543
392
124
210
414
368
319
414
515
486
470
526
143
175
551
415
319
617
490
159
272
308
286
481
213
141
285
465
226
388
73
345
504
328
135
347
47
445
446
269
389
255
838
517
326
403
272
350
136
238
421
616
122
15
386
775
725
143
398
775
421
267
232
431
240
450
191
364
166
485
378
415
150
360
486
379
106
305
216
610
478
266
400
233
685
341
180
179
204
214
871
117
57
124
166
299
567
555
258
432
552
281
425
156
163
387
353
224
394
393
430
465
371
366
411
383
284
648
168
214
273
227
67
454
300
349
42
876
474
210
88
542
565
731
507
103
276
424
203
143
213
622
155
257
365
1009
177
135
668
524
558
332
113
97
522
222
79
504
464
197
215
183
474
369
130
102
212
168
634
471
760
569
579
97
316
321
200
363
316
260
141
318
51
42
657
199
358
227
616
298
141
517
460
646
470
373
150
116
286
286
294
291
498
247
322
147
113
371
479
218
570
295
292
305
558
173
151
608
516
413
97
414
702
360
136
636
446
303
29
242
511
99
48
825
272
243
549
307
592
657
294
174
256
253
630
228
434
502
212
247
168
114
565
358
429
682
408
177
393
251
517
392
502
631
335
384
756
751
206
274
461
569
313
232
310
75
549
326
357
512
425
336
337
243
172
374
122
451
442
106
190
623
445
363
342
299
324
203
410
171
85
534
348
199
439
63
109
354
119
274
568
856
818
519
619
823
349
754
184
90
245
659
559
348
233
129
417
208
262
647
231
320
329
108
470
220
282
783
229
548
363
268
271
418
155
146
445
220
149
609
123
328
655
873
138
233
198
388
579
200
348
428
116
272
117
456
504
739
202
101
522
420
168
492
332
602
474
683
243
40
349
296
395
659
71
206
491
445
620
393
299
491
513
356
150
435
374
347
330
281
473
152
384
57
258
428
181
596
666
181
572
255
197
260
430
196
315
362
156
774
277
734
630
267
263
1096
511
315
326
153
298
744
47
662
357
716
730
343
498
704
284
265
43
183
496
274
305
247
428
334
565
134
493
233
456
631
276
460
294
325
148
499
68
301
570
430
253
619
634
313
170
127
666
50
383
474
137
365
517
560
290
61
172
573
236
117
354
146
227
652
334
314
622
439
74
258
242
208
473
387
376
233
341
376
634
318
390
238
417
106
600
409
577
464
732
529
315
97
181
600
544
262
223
436
160
76
122
277
115
447
491
297
441
346
321
279
282
416
594
394
285
426
436
414
173
458
434
133
319
330
549
78
144
290
462
630
155
619
207
79
109
295
236
265
664
111
791
150
181
606
222
287
185
411
91
460
325
293
428
283
222
382
200
354
183
263
261
650
400
479
351
313
327
577
357
314
287
141
463
462
417
228
550
125
173
677
404
355
298
478
263
319
149
441
309
255
223
271
231
143
220
730
314
290
223
622
377
20
271
139
542
436
203
660
153
111
639
629
479
203
640
588
157
744
104
86
360
859
343
473
764
89
168
508
341
372
564
275
439
242
100
143
166
335
140
499
176
491
607
604
290
294
407
225
77
637
80
197
227
546
446
572
128
791
89
239
119
727
381
542
330
71
207
73
136
335
560
482
533
637
325
349
576
607
686
304
241
365
453
149
308
677
382
266
80
493
365
590
715
90
378
72
414
592
444
528
92
221
187
668
420
619
242
371
151
414
491
156
347
406
730
484
508
205
224
556
1094
90
31
203
440
135
29
442
347
106
212
462
491
159
304
282
308
360
337
377
662
479
596
493
358
373
584
374
432
227
261
254
336
300
311
57
270
533
595
248
313
192
354
567
573
392
212
410
382
411
96
703
577
735
143
430
193
405
571
688
899
296
304
375
146
229
379
747
712
59
133
382
548
634
230
126
220
193
780
521
303
154
492
140
88
251
674
898
245
291
681
186
438
472
196
441
358
208
377
639
378
52
268
189
542
369
83
668
500
101
387
444
408
144
279
560
478
343
230
570
361
714
218
76
749
537
424
164
423
71
47
399
263
687
232
498
628
183
559
630
327
334
479
675
525
537
540
45
68
329
183
474
244
340
559
38
550
422
50
500
353
346
425
374
465
257
352
150
249
159
150
189
113
348
562
41
371
647
131
481
498
180
295
630
183
86
621
342
418
232
356
311
457
432
442
525
755
229
121
486
312
606
159
103
221
462
635
439
372
767
184
701
300
142
318
315
115
343
469
536
575
353
863
566
370
540
548
183
302
281
471
137
252
249
572
394
711
141
585
187
256
230
192
526
325
392
369
352
377
290
538
336
170
51
314
414
182
69
201
249
425
408
525
405
304
127
278
519
254
283
246
320
284
409
671
437
272
244
399
459
282
242
663
339
102
102
631
457
615
440
548
163
393
689
532
251
469
255
271
466
428
551
307
596
214
595
229
887
250
93
493
320
72
436
557
304
262
413
384
553
334
209
429
360
385
305
283
227
359
305
351
174
589
124
343
287
438
591
89
501
323
36
220
440
353
542
516
339
624
254
197
256
166
425
655
229
68
430
353
187
243
110
126
292
410
103
402
238
264
732
648
336
343
404
390
701
368
227
627
237
114
885
166
215
650
539
528
462
487
463
149
468
214
256
558
590
585
43
203
542
492
209
284
81
563
330
318
223
744
137
229
137
234
256
627
840
738
871
388
189
82
164
338
243
258
599
552
368
177
493
147
451
494
421
173
652
32
288
487
642
577
357
329
223
165
514
114
425
375
339
358
38
417
308
267
349
314
413
178
787
309
397
413
443
491
116
212
729
808
506
264
410
117
268
171
260
453
230
535
352
441
159
364
426
369
14
390
218
286
204
491
505
585
44
720
345
252
223
283
322
260
310
143
270
476
387
244
339
324
227
101
275
244
214
48
443
161
183
50
422
95
339
834
464
637
314
190
303
324
204
621
215
547
220
270
441
484
423
409
213
458
722
530
415
313
117
82
89
397
374
543
522
419
998
419
575
381
442
204
662
504
418
585
245
249
403
349
126
168
185
394
200
763
590
223
510
251
381
624
140
225
504
875
214
537
841
251
562
192
385
124
111
599
226
74
412
41
189
306
610
273
122
162
263
309
380
241
360
281
341
218
542
698
327
802
283
236
186
469
412
302
558
881
818
386
314
451
1003
211
334
677
197
313
659
123
623
413
381
289
298
503
149
107
386
637
608
723
747
144
564
383
421
633
72
624
646
116
139
216
73
627
807
481
107
234
751
307
210
390
491
195
408
355
383
335
191
440
546
199
593
123
631
313
486
64
543
164
61
667
285
210
160
264
281
224
157
493
140
286
411
103
156
238
527
43
169
406
184
617
74
439
22
543
266
60
130
319
342
533
260
66
332
810
233
305
441
548
627
555
258
312
546
419
428
730
235
486
466
472
221
478
274
240
444
195
151
93
349
317
242
159
132
230
123
133
491
406
329
97
203
917
367
281
550
616
467
373
345
39
311
429
372
497
168
424
241
336
287
120
191
317
213
304
396
418
400
271
679
320
333
565
463
428
437
525
165
74
279
255
815
196
280
561
326
219
443
233
234
166
389
270
301
628
432
445
22
535
136
178
500
177
453
378
401
472
333
574
117
770
263
210
52
493
525
137
424
218
154
171
217
210
185
301
507
378
340
422
382
740
61
358
171
257
126
562
216
148
148
566
485
473
160
657
558
282
145
376
382
285
266
261
457
289
448
579
174
244
501
422
308
456
214
633
189
110
228
426
542
245
224
341
560
66
470
550
380
561
344
148
196
374
143
432
92
764
344
95
534
506
95
191
166
309
438
73
540
462
658
258
722
355
539
537
367
115
500
252
175
116
93
288
165
368
699
71
652
113
379
411
342
635
179
251
278
590
178
417
377
265
336
248
123
281
115
404
289
317
221
291
282
478
199
93
432
522
423
235
452
251
732
363
345
112
205
487
706
608
243
50
109
168
196
372
103
157
263
447
450
570
495
491
270
126
255
822
121
313
319
554
252
523
276
160
392
130
260
459
600
254
351
743
493
481
224
355
776
315
142
803
219
370
72
38
345
326
260
438
597
285
287
116
211
342
238
319
201
217
574
165
276
781
721
270
249
491
338
71
471
316
251
386
550
398
630
352
726
532
177
547
284
95
200
98
63
293
435
271
114
392
253
108
500
561
199
211
223
534
306
210
472
810
130
352
443
590
615
302
298
634
463
422
172
214
253
1042
79
339
89
530
282
114
203
492
124
420
97
400
221
342
132
749
211
133
238
33
268
632
611
393
425
727
121
307
440
379
462
120
465
424
112
533
212
91
350
270
171
514
450
127
440
120
293
240
326
436
822
339
349
397
264
115
461
280
495
520
474
442
653
735
246
240
428
184
115
366
161
569
323
143
442
393
318
238
428
59
507
141
393
193
251
87
202
247
437
209
39
158
373
729
210
561
484
523
469
347
416
173
94
116
289
253
417
376
403
72
10
242
469
391
484
440
98
13
215
306
399
848
536
426
389
127
520
524
573
779
515
126
373
106
633
546
177
290
106
439
61
183
446
172
343
313
212
538
254
309
225
282
333
598
150
193
365
462
219
156
155
510
288
354
519
78
565
529
582
288
648
395
131
322
419
282
288
837
522
359
677
226
31
344
257
281
62
548
425
213
187
232
375
354
386
192
530
437
538
194
291
109
319
219
342
340
461
287
112
581
602
491
176
376
195
371
768
112
668
71
384
496
552
349
592
411
323
643
305
91
301
705
593
386
333
192
427
742
299
249
205
335
94
646
91
423
470
314
204
543
219
432
229
375
290
235
390
233
673
389
313
209
326
343
599
154
338
291
647
499
356
271
169
323
575
236
355
587
104
298
191
518
410
760
376
273
211
173
440
30
222
474
689
501
295
149
582
154
280
271
435
681
604
137
484
190
300
513
322
607
371
620
233
547
196
246
286
249
219
365
595
56
121
163
663
174
263
117
98
142
391
107
797
171
274
399
161
89
487
69
301
341
116
187
103
392
760
538
194
171
587
156
404
560
299
410
332
371
184
488
194
246
610
319
47
334
258
638
406
407
95
268
518
145
622
85
318
537
509
227
435
375
443
358
157
204
289
285
208
233
95
677
332
254
197
288
448
250
347
327
331
459
229
169
465
183
316
61
574
272
246
301
276
129
338
410
89
141
304
891
109
81
414
177
370
80
357
403
552
213
517
168
649
352
142
376
456
557
95
789
415
299
776
139
164
210
438
81
542
160
236
161
473
248
303
216
97
169
413
470
255
302
419
358
337
250
271
559
519
32
269
471
208
903
135
356
312
177
215
124
441
522
769
196
787
487
160
113
483
524
526
71
280
472
207
358
285
89
53
171
595
454
564
107
607
331
233
471
573
186
390
197
432
174
274
342
166
651
41
320
552
170
270
516
456
552
326
473
549
462
327
424
43
151
76
200
187
455
206
315
209
332
82
111
264
332
245
574
440
232
387
298
249
70
253
711
462
110
285
220
101
386
338
149
242
635
501
370
445
256
172
369
762
267
373
587
201
451
393
307
176
317
77
218
432
341
178
250
561
301
162
299
132
137
420
317
733
508
568
226
260
388
332
287
423
443
317
313
239
116
230
137
283
395
330
259
218
211
40
642
416
733
622
515
276
211
385
246
346
297
118
431
735
504
223
716
267
540
350
388
316
154
400
367
195
366
484
387
315
384
485
327
68
421
147
431
232
218
654
645
276
671
510
899
486
62
53
157
198
483
333
635
154
606
230
102
282
340
111
587
596
343
643
234
270
399
197
152
152
146
189
93
325
251
519
402
273
397
576
164
410
407
102
743
321
348
162
50
547
346
107
241
103
308
381
511
85
133
156
181
97
539
345
286
749
358
437
568
333
715
888
429
286
235
442
160
1034
49
434
310
243
292
500
236
305
165
301
206
428
103
295
590
272
588
940
259
811
267
148
84
234
604
562
154
717
87
211
402
166
275
273
87
186
473
647
288
357
473
81
517
304
697
43
417
879
238
266
122
687
47
427
142
685
235
264
181
499
285
428
333
467
510
738
492
352
526
756
112
294
598
529
332
625
385
279
508
436
472
173
94
679
347
484
207
515
105
73
441
362
489
143
300
412
436
123
309
651
322
289
516
61
53
473
691
163
392
337
768
88
268
818
598
46
328
536
342
491
628
296
199
357
159
565
151
510
492
168
94
140
274
248
473
204
133
280
494
293
432
487
446
390
483
137
200
237
466
256
319
118
609
173
239
362
330
211
164
183
99
637
528
282
671
289
402
132
171
592
378
312
596
182
119
411
284
286
124
275
443
385
500
200
410
214
145
332
255
620
635
391
463
541
335
284
425
356
364
294
234
530
816
363
395
486
292
463
282
69
372
531
123
400
569
323
491
219
122
344
350
377
730
289
501
585
124
606
547
38
400
249
256
314
226
576
544
251
893
464
586
494
86
137
372
133
363
357
50
138
641
684
230
490
173
631
552
67
165
514
207
224
676
297
322
51
119
475
566
345
315
223
308
181
364
608
421
185
695
73
64
268
108
734
129
385
796
608
768
30
608
304
598
294
354
476
420
240
14
424
123
637
662
521
144
639
856
623
76
538
357
467
327
441
540
23
772
338
252
239
197
393
438
485
45
60
737
147
236
62
479
726
392
633
405
454
224
252
237
346
165
589
312
457
168
185
194
148
126
501
56
169
457
353
704
330
319
364
295
491
441
416
134
492
359
170
352
352
587
498
54
602
475
441
142
542
468
225
599
125
441
653
391
549
424
304
440
255
735
302
360
388
658
403
224
408
375
362
431
16
440
226
622
250
709
171
120
284
111
207
342
197
303
548
373
440
586
457
140
347
533
359
613
150
163
308
454
166
341
306
479
415
263
341
203
358
615
794
234
439
233
414
234
263
307
272
597
485
554
470
665
458
76
172
332
194
669
236
182
603
376
314
72
471
516
477
384
775
425
420
621
713
719
430
163
118
169
218
693
425
165
230
350
780
135
145
322
58
208
54
682
269
6
179
242
354
554
395
318
358
552
203
161
584
107
130
263
541
673
397
622
338
661
464
602
626
256
626
382
182
271
317
282
490
216
542
195
216
259
347
155
524
296
257
412
324
480
193
531
373
482
373
129
563
601
352
484
55
412
190
170
314
106
308
74
380
242
336
303
186
357
254
217
374
588
97
386
284
353
189
230
167
431
635
370
233
315
369
206
469
296
406
525
260
307
293
301
573
443
565
310
245
335
161
298
442
106
512
318
127
804
342
484
261
551
784
231
372
43
837
178
181
500
329
739
253
354
613
718
221
48
214
236
83
387
61
132
201
639
228
449
185
498
251
433
469
805
291
507
452
174
348
269
414
193
197
59
174
505
491
375
276
158
261
195
22
535
540
398
448
321
564
380
504
294
420
88
364
96
204
407
149
325
559
438
517
549
547
565
353
317
283
262
562
366
216
259
227
358
155
553
405
356
574
294
434
466
344
474
45
451
363
418
543
392
181
165
159
583
171
662
317
384
400
302
174
239
398
422
570
147
249
167
811
377
296
230
240
279
498
38
278
1042
458
326
291
263
174
563
623
576
192
603
253
198
252
571
345
40
115
371
232
516
73
289
115
552
147
371
407
1033
432
273
162
378
41
213
678
153
660
276
345
245
452
507
109
328
146
128
177
253
364
502
216
71
847
176
328
328
580
297
177
60
558
233
109
281
381
171
251
303
476
362
522
154
688
385
412
207
244
152
468
405
55
98
502
298
279
267
558
224
488
384
325
208
236
345
586
587
475
140
336
289
501
670
728
145
283
328
838
588
235
637
101
444
319
402
368
518
646
232
90
636
61
566
379
305
474
198
216
246
101
100
340
262
337
493
246
143
415
423
547
314
265
420
157
135
428
414
430
475
492
349
285
551
248
568
544
315
159
317
440
471
46
313
255
403
466
615
158
151
83
117
412
411
500
353
248
264
233
155
64
657
395
386
257
461
307
702
310
354
491
345
273
497
453
298
348
358
567
493
108
96
403
286
335
211
281
304
356
384
134
176
591
278
362
387
164
493
377
308
213
667
71
69
351
336
634
101
538
430
407
396
574
541
263
487
6
273
440
504
177
231
103
399
488
275
368
465
251
469
204
122
312
368
254
502
785
249
626
81
400
394
576
490
503
391
486
242
73
513
440
139
560
311
303
56
384
367
142
111
311
319
151
325
308
232
534
392
517
822
763
445
325
125
453
122
545
526
269
276
423
15
458
555
690
441
433
62
252
408
675
192
425
869
438
713
340
373
125
401
292
503
546
367
219
338
83
379
482
174
521
400
483
791
419
487
199
195
463
496
797
218
315
130
313
496
318
438
239
279
183
238
580
122
127
302
293
429
289
154
649
665
863
622
489
421
212
230
205
194
80
518
345
204
260
264
686
250
225
316
87
252
542
444
158
525
261
562
359
322
400
195
499
377
96
165
219
270
422
215
329
329
809
271
252
576
511
247
92
304
385
258
466
478
768
323
237
150
418
856
530
107
484
237
77
73
76
396
590
240
491
242
129
406
225
235
256
329
441
166
571
364
345
544
378
313
444
606
490
117
455
660
468
205
443
269
199
362
146
69
428
553
600
149
164
458
519
107
555
233
486
43
576
256
206
322
227
440
471
324
417
86
213
416
368
442
119
256
67
487
268
189
121
103
404
206
617
48
1107
175
364
264
157
282
317
576
245
668
115
439
555
197
630
366
514
173
399
432
330
334
145
114
261
369
408
150
99
604
494
447
245
240
348
249
457
351
302
246
410
213
513
571
158
581
165
386
165
114
564
397
123
530
166
180
242
228
150
333
170
533
284
641
290
337
31
532
217
394
73
954
214
498
523
257
495
158
235
304
231
402
337
533
218
69
97
380
118
503
470
468
145
395
488
224
176
442
168
328
423
897
218
814
526
268
570
269
477
76
374
623
147
93
46
569
325
300
100
400
317
553
112
239
386
624
196
274
317
489
361
251
171
373
298
202
667
41
412
208
348
441
514
741
141
119
840
394
349
665
225
318
825
289
296
32
410
621
292
651
474
49
92
248
335
524
31
657
549
166
104
181
325
653
502
575
205
178
357
297
247
421
453
300
229
142
273
175
329
497
111
335
586
266
79
407
545
270
518
191
300
414
594
138
114
482
348
482
237
415
36
534
521
217
227
586
364
233
167
535
181
197
66
358
159
511
504
623
140
119
418
749
431
244
333
215
135
140
297
229
456
552
317
391
307
338
271
1042
155
526
262
81
598
199
76
223
584
329
195
336
414
491
898
204
147
475
569
471
368
39
364
93
306
146
757
209
691
425
414
789
443
157
304
413
448
399
266
202
30
259
103
38
544
219
253
261
275
413
504
531
146
265
361
190
466
133
268
596
325
301
335
363
569
376
309
140
553
324
742
69
423
472
252
415
271
346
253
273
74
63
182
390
452
194
318
256
286
81
154
205
210
229
427
112
164
329
274
556
350
529
789
248
890
56
518
90
511
578
171
345
303
527
341
300
383
182
630
340
470
109
161
318
181
260
525
318
191
523
295
396
325
154
219
379
186
635
372
804
159
155
511
357
239
200
237
296
190
323
254
519
380
187
363
299
309
238
95
274
179
301
37
305
360
267
316
279
366
267
116
815
608
533
447
86
79
233
131
187
182
504
294
125
356
432
302
494
182
408
342
669
181
421
287
134
500
508
91
493
159
215
684
119
241
229
150
325
386
517
210
261
134
332
339
374
273
313
695
226
295
564
167
348
115
371
279
292
572
380
476
354
329
150
309
254
376
322
305
561
480
370
210
306
253
380
422
522
196
43
280
52
664
116
433
315
143
469
550
331
808
250
75
376
382
183
160
298
584
541
309
368
413
406
697
65
446
579
263
494
145
248
291
473
541
485
740
307
597
212
199
340
327
527
282
604
469
278
255
393
268
369
110
387
270
345
649
178
86
184
376
491
433
246
540
763
427
116
790
445
232
57
331
346
540
545
438
276
299
198
129
259
264
307
70
75
115
581
365
368
203
546
213
241
257
564
108
347
32
163
266
958
260
76
452
296
197
99
323
281
80
593
401
428
122
312
198
510
202
203
308
95
328
210
716
192
295
64
84
383
407
216
261
655
328
186
284
478
91
105
148
94
1013
240
352
408
646
545
470
367
65
122
306
749
220
445
306
571
162
268
148
165
381
184
167
563
92
576
869
317
419
331
589
554
22
747
327
360
382
370
181
114
107
456
134
272
230
395
399
149
253
463
372
386
295
285
437
236
269
371
156
144
588
570
105
361
324
475
512
522
421
349
567
615
111
509
31
190
281
277
371
58
155
501
389
322
200
71
315
501
334
450
195
34
160
565
191
503
393
290
442
822
204
538
113
487
369
272
345
121
360
427
296
348
111
252
243
272
102
76
185
343
165
354
376
196
454
651
42
381
293
392
280
139
625
201
711
627
75
445
262
310
616
363
171
150
384
347
653
484
322
90
327
658
550
258
329
438
117
193
270
254
744
111
399
121
105
273
498
395
317
442
537
648
275
548
152
236
311
250
278
310
115
50
366
335
354
541
463
162
594
528
289
303
333
465
245
223
490
251
203
484
407
405
208
311
551
510
629
653
338
649
751
150
145
283
296
491
660
145
132
538
558
588
157
176
572
142
472
356
209
372
258
178
267
693
667
83
272
313
30
525
400
351
63
685
234
303
466
382
134
234
363
181
543
124
217
698
207
200
342
344
141
347
406
402
331
417
420
460
45
329
242
386
240
212
337
882
356
520
392
827
1108
176
698
310
274
487
998
735
230
31
108
405
388
237
527
154
211
362
820
579
351
411
242
763
463
455
516
282
110
280
415
576
255
232
49
430
91
150
383
66
184
305
160
285
286
248
186
77
242
144
193
100
67
535
434
717
509
84
335
421
569
389
243
270
472
116
594
114
274
258
439
827
213
530
159
368
195
255
86
424
289
244
794
61
267
573
391
246
372
519
223
231
431
392
371
259
170
245
166
314
299
168
381
458
600
133
287
457
438
111
626
90
150
382
628
658
520
198
410
424
416
495
212
57
420
86
321
647
255
255
337
57
350
92
227
43
396
323
589
399
207
321
436
172
172
526
485
573
632
118
371
361
445
276
249
286
211
284
230
205
397
159
378
182
107
550
335
313
211
177
627
603
318
261
536
561
585
441
777
89
589
351
209
669
132
257
46
164
717
230
231
359
427
475
449
458
447
22
554
243
148
232
378
330
329
602
194
289
572
627
570
734
289
385
371
771
34
328
389
184
506
377
195
122
252
287
495
434
612
96
669
855
59
25
507
127
228
452
534
364
261
211
165
235
181
277
127
162
150
572
330
556
521
602
503
249
537
372
330
75
131
209
149
554
368
463
279
87
605
205
212
339
358
61
712
345
363
642
382
542
241
344
385
227
742
75
704
479
655
341
313
510
379
383
305
368
160
164
318
331
325
479
89
338
276
467
118
262
207
75
284
450
103
158
161
480
266
207
206
77
363
493
530
605
224
545
409
359
744
522
309
359
525
228
97
349
719
360
439
148
230
264
455
205
495
290
460
559
111
279
367
265
210
335
280
193
389
280
337
446
358
321
424
175
486
280
545
706
175
737
720
339
705
474
124
432
415
168
623
402
465
297
205
437
340
287
283
51
499
57
356
386
682
702
618
191
487
402
611
584
62
570
403
118
469
53
533
446
155
402
158
446
59
376
112
376
377
164
327
103
559
382
217
717
252
159
520
396
452
243
823
375
210
244
397
496
442
436
326
452
494
233
69
188
112
608
299
174
306
834
549
524
13
390
258
277
478
274
360
162
162
659
245
194
238
698
288
351
129
321
324
138
313
606
164
408
351
253
206
450
389
241
400
295
391
521
249
1044
320
384
264
496
199
453
772
116
65
244
492
274
430
185
591
167
253
338
144
314
359
403
191
513
540
632
118
792
307
434
369
525
277
283
550
284
211
210
371
110
287
301
368
320
566
410
287
156
330
602
417
332
342
169
145
10
369
287
218
210
231
372
694
100
443
241
361
502
789
263
433
450
433
84
428
121
624
215
81
127
122
201
293
327
273
113
539
237
236
402
184
253
438
460
540
398
313
355
142
334
217
277
152
521
102
94
457
391
277
790
162
194
52
393
580
779
368
592
467
455
286
398
264
533
227
210
573
621
429
209
204
320
249
219
235
293
138
99
426
490
245
683
520
232
368
342
606
191
732
288
713
341
129
262
346
149
280
51
162
495
483
637
261
367
285
56
162
221
217
313
186
480
368
105
132
199
325
378
100
143
396
300
406
723
293
174
374
293
523
290
174
257
424
341
387
287
332
574
676
508
670
189
364
243
299
484
53
50
366
162
870
547
57
638
263
680
857
229
240
188
354
227
721
162
214
657
224
177
546
131
172
319
166
233
175
274
707
159
442
472
332
323
631
168
682
213
166
412
368
163
287
271
354
699
267
512
559
57
538
531
527
489
126
328
631
510
335
280
405
592
206
53
367
298
574
507
363
387
122
182
316
327
354
341
151
360
241
550
726
293
524
504
548
554
239
218
195
622
795
220
424
101
373
446
29
1012
106
115
556
256
315
215
662
604
187
607
71
117
151
128
236
367
369
278
360
400
207
86
459
28
360
443
186
761
267
126
483
135
471
187
285
543
336
204
247
315
556
155
148
215
649
48
409
168
285
111
711
255
413
360
253
331
106
103
427
233
256
212
59
57
158
469
401
344
427
583
458
82
471
396
551
202
519
387
187
290
320
354
372
538
256
364
434
604
612
137
498
195
89
383
546
325
348
193
347
324
558
506
312
94
198
220
499
564
541
216
226
245
447
405
183
430
83
453
174
245
175
240
143
330
184
409
522
601
437
157
647
453
62
284
479
243
308
321
439
535
125
269
440
469
603
340
432
454
557
625
483
360
375
410
588
711
367
115
448
736
387
230
222
388
597
420
393
434
124
443
243
194
795
287
203
88
671
227
287
346
364
65
652
51
650
347
114
692
460
615
555
339
650
655
298
243
21
618
190
521
565
144
720
525
287
619
362
251
244
518
402
396
97
336
307
293
551
643
377
328
536
362
332
475
468
400
117
208
276
601
373
483
462
601
143
267
170
453
498
342
565
153
219
458
444
211
328
184
225
258
542
286
314
374
509
191
517
331
429
524
309
99
535
179
422
504
239
316
419
253
361
587
312
533
134
371
206
529
610
360
171
631
855
519
291
468
309
414
108
443
94
491
321
213
506
337
227
138
276
201
484
340
336
188
544
473
372
524
169
487
760
457
48
577
158
272
443
263
179
655
208
279
406
264
65
290
314
349
588
530
321
291
283
322
108
376
407
509
137
178
48
303
250
477
337
296
181
227
299
509
386
230
169
407
802
532
416
223
204
180
207
372
601
554
293
509
34
81
596
218
671
317
377
439
381
146
151
382
407
170
266
156
54
102
211
197
477
269
290
431
201
208
107
70
225
118
509
483
231
14
56
788
687
191
292
427
72
258
253
382
263
352
602
184
394
396
455
250
883
62
274
525
110
353
456
126
312
391
274
424
105
743
63
158
528
133
524
209
500
193
404
170
492
587
457
382
892
231
284
238
841
98
525
489
483
510
50
237
503
133
658
391
176
141
532
184
243
103
105
503
402
205
129
481
148
963
236
501
376
411
62
164
128
610
280
673
152
579
510
603
129
358
273
464
416
200
374
214
130
442
316
73
369
740
296
510
95
329
214
352
764
74
263
420
501
192
768
96
57
591
458
535
210
537
380
402
418
689
466
498
71
322
131
56
519
238
269
519
153
123
228
383
426
539
725
368
327
324
550
694
197
116
542
777
64
828
146
453
236
199
116
172
461
274
135
161
517
585
548
857
602
185
414
128
114
273
423
619
334
715
432
206
290
264
446
313
589
103
235
257
603
373
192
731
159
213
643
272
180
309
683
583
85
517
191
331
189
347
445
213
239
236
311
234
287
257
284
388
752
212
251
659
582
518
54
57
281
196
848
563
60
703
541
39
235
183
109
82
873
577
548
171
82
424
521
606
466
244
228
629
171
495
522
373
267
287
130
101
1083
255
632
531
183
472
355
429
304
289
314
388
104
352
375
401
228
448
520
432
863
337
121
116
249
575
130
248
294
199
659
210
763
487
344
74
377
67
298
560
278
599
229
200
246
99
367
322
167
284
275
899
411
514
373
396
475
351
359
278
150
203
469
159
416
326
389
239
220
487
261
327
668
344
389
527
54
222
489
577
164
426
402
522
317
181
357
110
223
246
35
310
437
658
431
196
744
553
300
280
551
145
223
123
270
180
213
420
246
205
422
358
376
478
173
362
595
13
30
150
43
158
408
408
241
345
203
199
576
492
272
85
303
80
325
503
527
188
704
428
971
257
452
68
344
369
574
283
312
294
429
167
710
603
310
314
735
400
584
302
619
303
533
394
390
228
215
357
320
205
241
101
413
78
221
274
617
161
220
231
216
564
769
229
125
166
566
528
209
381
533
323
839
235
65
328
361
54
580
251
140
116
360
365
467
243
75
252
522
249
101
395
526
397
260
178
440
666
522
213
98
224
537
165
73
529
210
467
229
77
472
217
359
248
276
242
677
116
394
581
419
305
321
342
616
139
225
245
218
89
420
279
303
476
248
202
231
543
269
380
760
333
271
152
553
485
596
543
450
313
51
418
262
174
727
342
460
313
384
666
698
75
202
185
183
356
271
230
374
331
286
152
507
169
275
514
273
589
214
443
258
246
229
324
382
293
496
385
369
299
295
135
427
181
64
154
354
502
166
390
564
229
249
292
386
178
89
72
83
600
214
164
329
322
388
196
581
176
378
226
486
514
449
672
389
613
142
35
422
61
305
415
167
260
238
451
337
462
844
97
295
202
194
199
398
94
119
560
657
305
402
207
466
38
33
527
390
229
599
147
558
268
373
604
402
663
548
613
226
133
524
169
331
291
268
360
219
497
602
196
141
202
357
353
184
157
401
738
335
475
118
523
359
103
663
237
269
523
397
438
376
153
399
564
426
301
423
396
726
502
346
415
577
288
201
282
361
509
427
688
700
274
176
897
865
28
668
145
142
442
447
305
419
358
339
458
433
379
368
431
134
631
281
342
299
195
246
873
57
62
459
346
454
352
210
246
385
153
227
77
386
179
550
434
388
103
340
193
179
390
343
302
41
116
520
430
443
545
331
213
583
468
493
136
157
261
254
769
13
101
338
417
349
411
196
501
553
885
374
360
72
511
807
346
345
250
249
756
201
130
125
339
529
199
742
553
131
334
265
293
141
343
122
448
220
489
212
449
126
88
748
402
95
65
581
276
343
648
488
47
463
549
884
208
211
613
336
530
154
61
375
69
260
479
553
542
616
163
480
627
458
365
289
273
415
339
206
225
544
329
581
182
383
12
309
237
368
281
456
394
308
152
246
489
256
272
419
384
251
288
341
295
205
144
365
770
289
171
743
154
142
268
385
458
127
593
10
166
600
254
399
61
787
159
343
824
423
197
467
275
512
276
277
269
229
198
222
465
586
626
128
540
742
396
460
182
87
300
305
141
185
102
192
316
356
138
393
331
454
13
615
78
120
380
254
279
332
425
529
166
228
430
251
502
186
325
225
273
69
534
284
258
808
560
532
259
485
260
129
461
585
166
203
348
232
698
380
560
733
429
256
145
177
349
147
272
304
197
337
506
314
400
577
399
298
190
279
167
232
345
153
414
683
108
174
382
370
239
306
485
356
152
491
140
210
365
152
373
495
242
495
324
503
205
126
314
283
249
155
523
255
707
661
712
553
582
418
473
886
567
477
340
326
159
370
244
205
683
427
435
766
368
672
258
615
312
585
372
506
246
402
335
383
459
93
240
106
366
218
360
478
268
432
303
168
485
736
240
64
426
322
370
545
256
315
197
165
332
371
182
385
517
613
755
103
354
245
54
283
136
426
265
238
707
332
725
845
388
439
247
429
519
459
118
75
411
432
253
299
186
508
218
38
41
121
255
235
134
363
88
500
442
484
621
226
310
629
368
136
485
340
109
434
150
656
57
137
334
188
499
617
409
226
227
194
422
259
795
780
329
351
685
211
357
605
396
176
632
189
400
576
658
505
404
549
81
381
449
559
378
462
260
662
346
193
695
27
333
597
19
571
209
412
518
204
668
518
211
452
188
211
255
406
352
135
467
72
404
33
210
64
497
244
890
231
180
440
368
254
502
378
601
84
323
483
246
416
854
473
207
493
161
324
200
326
47
516
117
266
192
11
456
540
1051
84
368
395
161
369
384
474
477
319
417
552
196
245
152
306
292
192
406
309
349
503
398
107
373
520
407
227
171
280
390
238
407
278
220
573
524
816
589
539
427
43
39
30
213
538
478
446
451
221
340
728
336
606
679
430
335
190
254
394
628
428
230
577
381
165
297
119
166
156
635
387
214
175
696
23
39
310
593
558
414
74
164
468
640
290
483
332
362
658
431
389
433
896
708
187
456
574
390
150
363
613
382
143
625
416
362
299
144
275
397
139
617
366
180
245
324
631
612
304
564
211
293
266
516
371
413
264
346
424
139
70
530
317
488
468
537
169
300
286
631
363
276
245
742
141
331
425
334
384
224
209
110
772
457
413
284
120
580
805
415
269
415
288
838
16
98
299
342
871
113
203
522
128
598
350
481
260
270
958
379
337
336
492
157
422
397
177
487
315
557
285
457
408
150
329
317
159
608
509
221
236
364
113
304
518
569
136
399
238
581
195
105
159
245
355
80
469
309
136
205
99
161
491
76
356
345
364
560
589
821
584
458
105
225
429
568
520
511
280
425
811
186
503
882
304
397
515
316
451
469
238
372
580
215
646
744
234
352
99
675
235
140
252
593
570
296
414
249
73
85
516
310
285
44
208
287
154
120
599
552
649
372
163
550
295
160
113
454
157
341
74
344
610
517
354
343
322
527
609
278
427
198
77
262
455
374
70
622
119
422
312
442
300
471
327
594
193
385
452
599
153
148
286
686
426
67
226
238
93
269
600
468
257
413
504
355
275
302
262
67
132
399
57
374
105
187
806
326
169
374
505
364
401
155
131
46
243
512
519
342
237
491
384
353
416
742
1080
474
164
528
486
279
232
278
163
57
570
501
457
704
65
377
111
215
115
138
488
173
253
338
496
305
90
437
441
499
166
648
398
309
277
631
416
485
244
117
216
80
33
217
251
134
319
299
484
794
420
708
353
173
537
382
84
334
453
463
376
259
251
94
437
657
186
628
154
287
464
198
230
573
178
206
446
591
121
53
236
396
291
420
319
93
306
348
284
242
559
306
379
720
368
309
699
277
615
326
413
583
105
403
667
708
465
281
581
710
421
533
199
197
611
68
441
514
98
213
304
400
225
142
332
335
281
241
356
210
517
55
568
619
437
379
508
192
119
472
547
776
594
126
269
325
507
732
360
215
456
161
262
355
76
509
183
434
371
533
225
283
267
1109
192
462
478
437
85
515
544
433
193
756
660
54
488
68
635
375
471
233
350
551
406
541
228
396
212
467
276
114
312
336
150
307
251
427
348
82
416
259
398
96
159
405
411
421
187
449
403
228
585
133
414
173
602
295
563
98
144
288
250
101
237
578
304
129
387
422
391
290
505
105
597
541
128
707
346
145
565
511
821
170
335
377
660
122
104
95
566
563
51
62
536
556
292
299
270
118
121
326
638
133
496
482
395
157
374
207
409
529
457
1107
512
284
317
182
261
370
572
490
66
249
541
281
442
700
517
408
286
472
418
302
120
420
504
831
143
361
247
180
301
88
271
552
585
392
349
328
182
788
440
329
70
465
379
298
336
355
343
655
772
260
668
143
237
226
608
219
464
277
714
177
198
375
565
264
196
444
441
480
318
522
534
306
884
452
197
38
347
543
112
565
292
97
190
429
376
660
84
777
352
640
429
698
233
99
500
194
441
117
367
98
122
398
164
451
532
567
468
506
142
567
396
429
124
263
503
149
274
512
66
103
185
240
330
165
430
198
362
570
372
774
247
263
265
195
244
356
287
171
118
352
13
52
86
229
464
309
642
307
221
386
249
565
640
384
797
203
732
566
266
91
247
225
352
558
347
135
241
360
127
274
441
198
107
740
303
200
184
93
286
205
185
564
766
659
155
192
458
376
510
144
168
420
314
434
303
408
359
305
642
488
316
107
762
356
103
184
122
492
388
855
466
384
759
586
188
316
335
228
302
567
122
356
448
256
90
468
56
605
315
66
478
263
454
235
521
571
203
305
589
159
193
275
275
434
64
655
409
587
605
133
370
237
555
368
268
223
241
222
227
439
393
81
90
192
333
570
209
433
296
363
551
23
398
396
328
361
385
146
362
388
272
263
151
224
158
331
464
421
1066
248
109
344
326
113
324
286
802
131
567
178
361
484
112
283
131
533
274
460
386
409
453
225
304
62
489
482
477
672
495
221
386
278
174
597
493
606
599
408
490
147
479
374
67
468
333
580
137
369
491
363
624
537
242
492
374
360
306
453
316
493
323
469
192
264
119
230
61
364
278
438
612
631
408
834
534
383
612
366
397
66
185
282
307
526
214
266
705
222
826
136
497
398
310
447
527
113
696
386
263
507
223
473
825
548
422
508
462
425
273
329
460
229
388
173
361
212
379
563
63
491
270
604
223
264
613
323
63
508
615
493
393
267
215
268
251
420
59
400
430
226
331
460
228
177
83
349
104
52
769
132
358
451
70
102
341
290
372
313
202
173
76
507
673
350
257
254
448
462
554
370
330
159
222
188
556
358
395
615
127
332
277
459
529
259
191
633
52
626
326
223
407
160
262
535
370
610
450
313
469
130
12
381
225
735
370
310
261
385
692
130
280
482
124
72
570
174
247
190
438
138
494
400
613
453
629
1008
149
340
255
459
270
382
557
267
655
547
202
224
715
324
357
296
206
152
439
247
279
806
508
290
302
229
295
149
550
278
641
357
390
512
262
257
178
632
338
206
493
161
67
481
237
476
470
114
189
148
382
192
280
246
152
282
575
29
490
125
898
60
266
201
50
337
790
291
402
528
486
184
170
600
273
297
438
213
587
614
314
399
497
287
482
259
501
799
559
564
582
486
475
226
200
573
216
285
516
388
488
364
497
422
418
277
229
317
258
236
89
301
391
137
227
241
246
476
323
859
255
217
421
211
157
911
747
702
196
694
205
272
334
445
360
327
308
66
180
168
118
359
264
175
337
228
55
144
131
505
331
194
88
279
517
290
45
607
348
568
88
373
667
315
367
496
263
124
291
393
255
384
404
367
464
150
331
314
367
395
493
593
69
199
316
698
525
426
428
167
192
297
338
569
647
452
170
721
380
267
535
316
461
641
716
532
276
394
183
366
74
659
452
343
189
323
138
216
253
304
261
779
164
269
271
522
789
302
486
1043
107
588
294
96
161
228
353
513
478
144
252
712
204
131
320
551
248
693
261
341
580
296
260
441
307
363
329
400
621
220
117
338
324
219
69
305
422
550
653
205
295
218
333
305
544
59
540
764
143
222
326
89
144
397
250
364
615
259
439
129
393
159
297
587
118
383
567
143
455
690
405
565
360
578
40
491
135
456
164
35
784
316
54
347
442
409
584
424
680
372
394
240
183
280
137
315
113
619
190
207
124
206
530
149
545
349
282
174
369
295
156
238
47
482
315
50
371
265
196
462
110
321
88
535
353
275
388
340
226
375
443
54
741
331
290
340
316
263
520
150
253
528
341
378
364
266
466
514
431
282
684
421
501
137
649
522
358
384
237
304
450
94
606
112
197
191
639
454
346
139
337
516
317
413
379
233
448
304
128
477
596
648
155
260
63
328
315
130
103
457
493
333
246
345
71
305
484
93
358
267
162
404
461
428
37
495
669
605
327
173
318
193
264
69
632
549
288
344
484
189
108
224
312
379
517
560
346
311
366
42
136
384
639
491
263
275
229
443
258
524
331
467
843
517
424
325
139
312
496
263
619
120
315
624
257
435
388
634
336
182
797
63
208
206
246
241
203
234
126
221
194
359
439
121
206
110
311
181
63
503
882
225
710
227
498
194
420
264
302
282
251
407
244
114
323
303
226
551
298
444
285
390
279
502
237
326
351
228
677
507
442
140
295
329
156
50
68
564
399
611
88
292
493
337
351
573
208
276
346
151
317
192
114
156
414
291
522
519
75
127
233
228
172
283
210
209
407
248
61
641
367
319
297
253
184
886
489
118
133
268
129
519
450
596
72
593
310
90
444
126
170
114
249
164
266
201
575
523
713
357
280
527
128
268
60
523
117
552
219
266
316
128
119
180
109
393
743
573
214
404
378
242
712
194
257
88
208
57
27
279
234
154
288
642
518
728
111
287
470
367
456
617
248
174
345
492
215
381
151
106
53
523
207
117
425
146
281
168
293
286
309
495
577
220
254
650
330
74
158
358
301
652
309
91
192
333
379
526
275
500
364
84
398
493
86
385
661
523
425
236
213
339
208
357
950
441
99
331
108
40
716
385
392
320
376
166
114
301
365
306
381
306
448
248
173
384
724
194
263
211
327
328
340
58
217
219
428
371
274
467
606
640
371
612
337
60
150
159
67
455
555
258
293
536
332
385
451
367
305
608
235
392
559
534
272
115
89
545
513
346
476
339
308
451
108
672
92
279
301
27
396
406
59
585
78
504
408
222
197
381
91
409
142
474
232
250
268
319
101
464
172
474
259
551
405
240
739
619
499
391
360
694
384
278
497
354
370
546
511
699
69
121
36
605
437
57
511
568
322
270
234
707
257
618
160
413
466
359
334
232
438
753
117
579
327
686
308
360
763
257
66
308
690
589
314
279
183
286
174
225
43
732
264
130
242
355
254
196
417
346
189
72
144
393
571
123
373
575
274
783
519
376
206
392
701
515
260
375
193
442
851
289
517
620
143
518
267
148
137
686
838
123
166
406
493
329
230
489
469
61
457
567
681
560
355
190
596
197
171
535
515
517
487
296
692
277
572
146
484
427
125
211
516
589
275
487
140
257
206
515
444
192
142
468
175
712
335
309
48
326
583
231
215
457
338
125
414
401
400
595
196
764
171
181
347
522
165
525
611
238
166
372
86
369
272
415
352
283
538
503
597
528
350
362
633
384
350
428
206
277
160
309
228
179
623
441
374
810
446
224
177
678
603
62
385
361
479
459
388
133
382
279
269
642
345
377
320
209
51
231
398
141
343
859
472
81
158
257
482
247
464
119
318
593
265
41
324
355
221
327
98
388
300
556
135
222
99
446
418
132
463
193
199
263
95
73
69
256
236
380
391
134
447
591
317
37
496
78
197
770
175
463
358
597
678
592
102
217
58
398
402
310
217
231
50
166
464
210
176
228
271
443
215
553
225
388
315
159
77
719
350
736
238
482
409
333
578
92
167
558
120
278
147
203
415
214
17
264
573
468
335
152
681
343
146
357
123
226
403
575
131
315
619
570
586
280
647
288
55
246
569
794
283
502
534
265
455
102
282
467
575
425
153
87
456
605
72
185
901
175
710
304
433
245
420
105
453
199
361
41
396
515
362
393
532
592
92
267
185
103
258
512
366
90
553
302
446
627
336
272
426
240
766
337
461
37
271
261
290
540
139
435
286
466
735
308
283
512
444
392
316
548
272
89
199
413
538
88
513
386
199
349
644
594
569
207
537
536
471
260
247
103
239
632
580
287
124
769
614
160
496
555
547
246
253
356
266
39
201
502
205
618
362
47
191
180
208
513
319
52
410
432
664
111
113
224
121
260
288
110
234
247
353
777
112
276
217
445
378
363
581
347
117
329
445
382
421
682
452
438
133
307
460
336
446
465
344
297
385
185
96
177
116
383
347
135
514
394
154
990
356
48
157
479
800
360
238
594
349
676
194
81
145
259
361
386
375
176
642
266
309
101
290
663
452
278
175
87
399
166
539
600
617
112
201
367
360
349
101
169
307
682
240
460
180
463
239
497
251
456
530
431
444
213
532
467
477
266
185
105
202
329
368
322
273
377
663
143
372
145
96
486
546
186
40
595
491
100
778
356
153
376
657
371
195
144
173
237
430
557
195
508
139
288
591
154
138
335
194
136
362
269
150
324
659
375
183
391
253
457
309
200
344
535
201
475
770
770
458
593
225
149
188
348
473
301
231
405
204
426
326
343
596
174
105
279
565
519
666
268
316
139
291
292
522
153
239
735
260
435
297
182
271
440
532
104
449
240
63
577
198
153
363
380
192
449
508
395
287
629
142
661
449
479
412
231
323
648
479
388
412
325
282
227
339
541
457
367
255
318
545
287
438
133
225
313
371
410
335
201
285
349
310
279
487
557
376
751
569
373
513
394
770
539
355
458
425
295
156
702
362
547
144
337
441
577
76
496
604
150
344
467
503
464
274
310
522
84
513
480
270
516
382
283
640
184
285
57
441
564
151
651
183
248
760
129
178
381
486
333
534
610
546
545
270
185
359
486
253
459
449
636
58
75
221
55
215
424
807
278
265
617
191
332
757
121
73
241
455
501
530
607
585
651
654
415
749
354
377
651
291
75
252
411
354
323
290
139
237
168
247
543
521
287
544
157
412
560
350
405
482
487
511
294
368
229
616
412
544
536
369
473
403
331
474
445
356
508
864
436
444
619
223
177
205
383
134
124
264
37
381
274
588
762
444
133
231
287
196
395
281
280
391
208
433
428
331
311
248
73
180
404
614
173
71
116
408
238
432
127
351
218
516
305
198
112
498
242
123
469
374
512
242
202
52
314
364
610
684
165
178
551
543
534
461
798
291
83
362
588
90
347
394
484
113
337
291
208
47
379
57
135
404
137
540
765
507
123
700
279
389
124
344
382
129
363
78
299
196
286
355
310
555
228
136
479
528
326
161
171
400
886
118
660
402
276
450
120
424
227
385
78
705
680
365
295
267
439
513
614
304
147
219
562
594
296
571
539
301
590
649
570
354
301
479
136
232
293
242
267
433
193
305
745
433
408
269
171
303
323
113
241
579
181
552
361
357
223
367
536
564
495
385
110
183
489
649
390
466
434
364
355
804
458
255
392
560
161
644
547
279
162
554
855
172
445
194
199
209
37
287
357
120
445
555
213
238
543
160
491
179
150
442
210
180
239
302
537
499
355
485
195
358
457
313
66
224
138
224
543
300
328
112
596
562
217
371
149
287
505
335
419
87
584
726
575
220
452
515
739
334
465
546
265
392
419
270
95
124
104
881
191
392
681
443
417
741
418
424
246
651
306
397
183
424
727
562
484
430
509
266
625
516
200
143
321
325
502
483
596
230
307
665
848
633
125
93
545
30
388
442
436
491
693
793
436
360
575
177
184
477
270
1097
266
143
150
296
141
358
614
489
373
487
485
771
342
397
173
399
208
310
131
408
9
388
509
74
52
524
896
415
515
310
303
201
221
448
61
520
610
162
309
366
507
595
460
398
385
264
162
275
242
173
12
256
213
186
152
246
671
386
184
165
380
222
416
426
778
211
484
375
356
60
787
375
210
394
165
563
212
260
488
399
240
840
291
457
232
235
450
68
448
283
220
291
394
492
120
105
278
504
339
110
342
402
364
583
253
445
258
121
486
253
263
792
566
222
312
771
677
383
118
288
777
293
123
202
423
912
700
155
999
142
209
466
154
205
71
716
353
511
323
254
243
345
191
344
392
287
276
420
102
272
333
536
191
337
258
213
738
195
232
233
216
140
377
63
239
226
87
397
266
367
426
217
168
644
532
235
48
371
170
250
658
239
459
244
291
317
558
82
355
290
588
408
117
223
326
415
574
365
257
652
47
271
403
390
309
92
70
408
224
157
30
487
611
345
402
409
176
468
502
195
27
327
338
207
456
184
516
329
635
116
256
256
574
586
73
244
245
114
171
227
609
641
321
200
273
497
432
114
280
239
119
155
714
543
35
568
516
489
284
490
217
106
516
215
197
675
465
863
273
597
250
371
156
124
197
32
214
278
186
343
33
162
444
229
412
111
176
533
194
228
673
250
619
213
330
394
254
829
576
178
222
304
465
113
102
34
89
426
523
182
345
528
487
226
247
138
383
284
200
594
318
446
392
245
838
224
259
114
476
137
88
335
168
422
558
301
120
292
116
764
409
304
528
565
315
210
571
885
309
423
18
285
455
313
117
205
293
147
642
191
573
434
76
312
156
159
371
348
215
197
462
382
121
617
499
168
380
57
141
316
125
425
359
175
364
349
141
377
378
391
83
327
561
140
464
637
967
440
594
66
474
269
383
464
344
354
344
432
151
556
515
759
377
228
123
551
453
793
433
548
399
302
224
641
652
447
98
664
394
58
527
129
107
558
30
385
229
426
276
533
185
205
485
633
653
451
561
121
353
205
394
224
365
51
321
257
433
245
114
369
270
194
93
282
415
269
324
148
189
131
74
242
214
512
387
362
729
312
352
186
295
362
11
482
541
373
654
137
54
380
58
521
288
438
439
170
293
404
289
132
743
481
334
166
367
216
301
181
341
364
584
559
310
324
393
331
315
194
337
686
673
481
350
391
6
289
395
375
74
644
289
197
643
380
188
432
76
493
135
264
565
571
346
418
503
297
479
261
334
387
449
244
424
231
264
370
131
317
375
255
326
185
356
1084
164
276
294
345
193
520
525
681
349
431
496
494
370
525
382
255
63
457
181
262
558
292
425
154
399
522
607
478
651
360
206
411
149
521
739
795
566
452
204
370
468
841
120
39
270
260
303
158
111
446
158
92
393
231
116
551
315
262
330
400
108
437
387
237
376
378
363
400
474
223
49
350
515
45
411
498
577
404
279
345
337
299
338
112
380
218
545
405
410
90
230
258
493
85
615
86
494
172
165
397
182
647
209
277
473
123
244
121
409
304
479
247
307
442
652
104
213
451
248
298
580
146
427
492
401
456
150
172
309
426
506
230
616
131
590
86
159
499
244
457
370
431
431
436
151
401
229
586
507
195
444
276
371
386
398
746
43
135
663
500
280
220
586
53
381
428
492
471
284
106
96
691
289
352
68
584
569
605
397
208
353
322
116
431
734
57
225
259
296
113
134
190
294
518
418
225
132
585
224
418
285
442
190
94
602
176
470
521
124
282
500
525
312
586
779
218
377
137
288
565
170
356
332
319
499
688
236
608
542
509
91
999
363
428
683
399
277
186
89
409
828
529
616
97
238
49
680
96
220
314
210
538
174
493
406
280
165
301
319
453
204
451
255
146
186
311
292
493
496
229
342
369
327
492
506
49
392
682
417
436
537
335
436
61
411
346
375
228
577
869
690
331
123
504
439
444
302
288
346
75
594
390
252
115
352
488
331
748
510
191
281
152
266
702
432
427
137
278
312
300
343
147
230
434
371
294
588
484
239
223
493
210
92
641
180
64
221
169
268
554
673
297
395
166
283
341
218
227
456
558
258
287
571
168
279
294
255
511
311
231
358
134
122
335
135
170
596
31
297
484
187
23
243
270
231
468
824
715
473
196
235
385
187
338
310
540
791
502
304
172
137
272
120
575
592
334
252
181
52
468
614
151
151
259
537
686
477
220
424
80
515
52
198
125
407
305
204
661
586
740
100
526
144
147
381
343
252
428
431
416
450
541
147
66
314
146
522
105
663
546
31
306
167
257
182
361
423
555
236
615
562
231
598
422
103
221
173
456
284
33
52
101
125
680
429
443
722
301
298
357
342
148
377
768
676
296
262
283
465
115
193
395
223
656
535
283
308
418
255
467
406
137
142
145
123
333
510
233
520
327
652
387
431
316
386
439
731
214
387
221
561
150
710
440
298
127
172
469
94
195
42
829
295
613
205
236
400
426
344
112
227
347
304
550
345
619
237
839
174
320
762
216
322
518
86
452
407
214
144
245
242
278
446
262
734
526
326
371
390
372
255
197
211
368
339
411
158
102
314
547
254
459
588
633
302
399
95
47
436
227
636
1101
352
267
94
576
184
745
261
163
302
70
320
249
216
518
470
172
172
1102
560
293
596
437
542
382
352
422
617
426
269
244
384
610
609
133
355
692
477
269
917
615
298
341
148
522
135
234
757
415
506
483
132
234
342
183
588
486
246
494
687
480
71
422
221
817
314
50
216
458
158
515
287
351
134
152
469
338
120
366
157
364
390
305
209
436
291
425
34
466
286
307
559
547
240
134
772
735
232
389
704
323
297
652
313
299
136
317
116
272
632
214
201
44
368
534
369
363
371
209
139
416
496
673
87
536
776
459
442
215
505
380
328
385
352
78
269
185
105
421
163
597
550
641
72
219
375
766
119
182
87
477
170
518
420
424
201
523
546
245
499
285
683
374
256
256
237
596
267
444
586
285
137
364
542
594
125
630
291
74
373
337
197
529
268
556
409
526
397
278
194
221
464
35
278
272
224
542
418
192
882
488
289
111
406
129
117
124
153
170
232
359
328
467
408
545
476
447
644
395
379
229
224
154
522
174
144
581
563
442
613
471
139
568
503
91
559
320
528
386
1106
425
444
464
512
241
240
574
46
421
698
322
625
456
320
317
408
616
146
156
262
280
381
236
325
530
196
206
587
78
234
311
232
213
33
517
568
377
404
175
264
246
239
233
485
333
875
660
173
368
450
31
358
357
165
434
248
362
317
634
169
610
337
170
588
407
104
369
159
312
99
302
652
460
215
357
569
66
467
303
213
1010
186
545
425
521
548
307
316
34
432
72
252
381
369
479
291
307
360
416
372
530
66
262
201
143
604
189
121
615
553
267
312
227
323
145
212
399
240
808
763
356
102
342
246
720
370
103
298
490
234
299
134
332
336
194
220
190
531
263
262
573
789
836
359
862
370
500
127
528
407
280
617
225
325
334
163
588
290
791
340
292
267
370
342
302
306
121
457
261
534
640
250
560
171
341
229
418
479
234
553
356
245
324
243
244
432
524
284
115
382
141
68
549
140
764
621
201
328
432
443
391
281
139
556
582
214
391
408
83
275
282
418
396
107
492
288
38
734
489
413
172
67
143
593
552
97
474
348
336
266
311
19
143
418
394
379
138
145
539
593
429
339
291
298
155
150
293
339
405
162
401
468
147
210
361
38
214
512
138
208
148
130
196
480
368
135
313
356
190
401
456
212
233
492
63
262
480
376
127
473
222
649
409
289
138
330
187
562
582
303
411
504
231
261
187
442
361
222
688
409
229
534
379
357
83
265
300
107
182
500
236
277
477
167
280
529
359
99
88
177
512
99
205
461
318
358
546
353
335
431
302
371
307
57
273
455
594
715
331
604
437
302
72
589
716
353
73
233
389
135
214
421
215
533
594
315
808
506
144
238
573
389
249
517
338
618
559
253
311
213
215
584
368
371
156
741
100
326
105
113
14
242
554
595
267
418
374
20
269
367
127
532
409
209
227
31
282
718
276
408
148
568
287
154
417
419
383
537
447
310
151
545
119
327
46
375
366
247
358
280
295
294
328
496
852
213
299
341
216
335
260
178
630
209
202
481
448
133
407
143
285
271
167
378
108
213
111
54
421
245
461
314
499
487
102
68
395
69
711
290
411
421
397
253
575
558
344
377
312
477
190
574
140
117
146
88
206
403
75
272
249
414
297
388
132
509
72
302
174
83
384
445
435
490
510
494
250
344
718
570
609
260
353
213
208
371
617
277
324
381
385
210
511
337
262
60
505
285
212
136
336
539
244
47
183
304
512
509
494
253
217
123
593
48
550
687
531
506
394
284
397
180
151
452
369
64
460
300
498
323
584
150
176
524
423
335
383
838
338
608
254
138
337
101
418
535
257
148
427
252
375
255
298
384
565
146
88
615
788
60
122
179
372
330
739
398
309
169
291
554
145
336
49
270
449
138
236
243
196
453
417
354
350
497
575
177
999
291
571
286
360
246
554
418
170
317
576
525
441
455
492
451
329
588
136
336
507
439
333
74
516
372
89
175
103
503
235
663
415
138
170
225
659
556
451
114
1029
385
391
374
451
186
508
622
319
158
196
99
318
397
195
136
577
526
673
334
159
441
205
234
343
562
212
86
154
188
90
185
352
513
234
321
588
81
733
659
519
303
168
376
66
122
456
188
200
265
490
85
284
183
336
270
380
590
253
186
512
791
503
89
143
244
622
317
235
413
446
141
136
254
466
751
429
464
358
526
435
211
140
293
743
426
490
216
4
459
513
206
925
170
315
107
489
287
413
249
394
301
437
458
283
468
280
758
408
133
105
191
156
623
158
404
251
376
378
460
67
283
261
454
133
150
622
360
617
388
353
172
271
596
518
594
678
361
93
215
602
350
548
618
461
178
152
563
284
365
157
315
126
463
614
286
557
339
175
534
347
344
248
270
890
348
113
277
234
685
408
235
359
183
106
574
501
482
342
537
660
384
76
671
210
640
177
65
501
381
134
578
342
352
281
554
791
486
104
145
697
107
224
290
101
157
55
129
114
105
249
719
422
164
270
206
187
355
569
143
461
330
334
99
169
294
598
147
50
563
316
505
131
87
266
498
62
404
427
454
291
226
382
175
535
347
516
197
115
776
232
377
354
188
526
432
472
537
43
288
286
327
283
296
46
196
260
140
513
205
200
242
707
314
161
220
257
449
575
243
487
310
73
308
354
558
355
428
464
681
401
415
736
571
508
615
227
479
219
303
203
301
811
600
379
490
393
439
311
482
437
82
295
308
398
410
562
119
291
191
377
350
161
394
199
378
398
118
197
222
324
210
404
166
261
233
399
101
295
118
798
136
121
141
684
147
605
581
293
448
168
168
499
66
448
670
322
349
326
522
156
357
128
195
147
68
371
64
74
472
446
844
713
213
511
295
138
60
325
346
150
537
610
547
170
510
188
392
334
253
463
511
56
278
296
518
548
389
411
494
184
276
460
117
569
179
145
290
179
344
172
195
483
182
603
469
313
644
253
505
331
86
394
441
532
443
477
364
156
109
275
244
310
321
500
464
397
143
619
601
472
50
285
319
277
453
405
373
151
36
300
284
123
196
268
695
370
252
568
365
107
309
590
269
203
272
578
583
577
539
350
102
506
194
219
258
363
477
397
106
753
103
407
409
740
503
163
471
443
485
324
114
446
168
256
303
307
544
335
251
374
326
567
634
545
521
421
255
428
107
436
412
240
148
433
416
343
587
305
369
178
156
120
473
733
390
447
171
143
486
523
470
533
111
351
174
181
426
335
171
436
417
473
887
247
549
365
291
160
353
445
238
258
287
141
157
90
182
325
148
283
564
243
230
460
157
494
419
816
553
362
504
166
441
141
362
393
600
260
259
529
257
362
195
243
538
310
600
346
52
370
21
252
330
285
430
412
386
421
359
274
550
348
182
459
218
683
492
328
218
375
488
215
443
999
256
505
323
481
343
104
413
413
110
296
69
186
227
421
152
291
229
326
334
527
274
328
360
113
277
367
325
361
260
190
318
126
461
227
125
154
209
357
325
352
367
148
240
494
262
539
384
190
193
298
426
430
354
115
261
292
699
432
580
432
179
226
359
424
152
425
246
495
480
153
151
297
71
486
280
84
109
173
221
288
123
277
154
604
285
341
378
182
637
646
161
242
249
352
264
196
113
88
335
356
53
217
194
529
346
222
399
621
162
505
922
261
54
141
517
449
178
450
695
134
467
392
200
639
196
746
580
679
791
74
547
219
129
241
335
451
88
114
319
540
477
608
486
407
355
788
495
339
149
65
179
543
692
340
668
390
174
366
108
779
439
567
221
78
82
265
176
451
56
401
641
539
211
815
244
225
367
297
495
317
352
421
427
483
462
294
300
297
404
482
285
615
252
138
238
274
81
27
328
380
58
601
217
421
116
273
56
721
595
503
704
731
325
648
507
355
601
244
634
387
507
266
362
160
644
450
474
577
335
264
377
365
154
540
105
281
204
757
244
494
69
271
328
402
535
376
113
474
136
367
610
417
343
341
399
241
140
217
273
244
87
435
548
182
456
146
579
576
208
96
380
139
448
460
324
1081
290
228
346
286
334
82
159
393
347
153
256
347
322
186
557
29
494
330
420
298
525
262
303
202
567
432
320
43
121
529
129
394
257
488
424
518
489
227
451
287
495
498
295
761
454
160
341
371
625
379
123
521
519
192
833
462
366
458
133
573
405
807
64
150
381
232
332
349
733
501
254
636
728
554
438
264
571
542
245
553
104
532
487
360
62
555
377
97
382
409
59
356
545
345
149
326
560
187
253
285
295
236
291
593
454
181
383
111
598
191
472
88
332
157
51
202
397
616
393
550
566
272
807
181
250
382
145
240
222
300
217
418
390
635
398
631
241
150
219
541
17
326
229
789
338
376
364
237
294
329
715
366
415
657
247
164
304
691
456
531
165
244
221
465
261
335
170
209
654
163
694
353
525
298
222
549
430
755
118
315
557
233
504
463
62
93
549
515
406
240
444
134
123
388
145
68
45
390
105
182
289
514
310
522
344
216
213
352
179
668
255
602
188
106
456
238
685
274
226
322
279
117
72
206
605
155
281
316
292
243
266
476
306
917
438
218
175
470
272
226
581
392
646
141
357
480
480
472
103
422
138
415
629
599
540
239
183
472
394
229
253
302
475
219
135
588
370
349
491
357
83
195
159
625
174
251
455
349
821
160
78
299
225
192
156
127
822
276
456
487
323
457
587
226
522
51
301
103
189
198
507
177
689
469
230
275
396
353
310
73
290
250
401
442
64
408
222
183
210
439
326
588
418
519
93
381
64
417
590
437
376
123
18
572
311
266
355
367
143
483
421
98
558
98
527
121
437
259
398
62
435
246
49
171
268
281
474
56
660
318
612
900
269
220
267
771
584
352
527
122
422
150
112
124
757
222
129
89
105
85
489
309
215
465
94
53
179
375
211
253
217
433
365
184
172
93
161
149
525
428
373
118
584
469
79
315
289
393
367
532
102
339
346
422
343
441
151
568
94
716
501
237
162
683
548
375
238
136
292
174
774
395
46
321
478
358
250
378
634
331
286
164
63
98
81
299
174
348
424
692
339
441
269
492
286
49
90
356
311
138
379
287
47
149
309
432
371
197
124
473
107
288
422
597
798
290
394
259
214
267
665
396
273
386
368
256
38
274
494
220
388
409
210
459
763
543
237
392
559
661
217
221
118
442
574
605
192
480
360
400
182
83
588
343
510
292
296
214
168
416
386
484
418
49
500
135
180
367
176
373
292
456
712
528
259
294
280
463
269
582
516
250
302
134
269
841
421
291
177
897
613
169
413
619
586
436
151
267
188
321
776
490
245
696
304
357
145
298
650
708
279
398
268
293
552
121
297
375
81
803
335
127
567
876
462
424
267
510
751
378
115
595
306
66
110
299
223
156
738
540
432
467
242
404
220
616
397
207
36
687
832
630
423
793
314
165
190
421
346
648
199
322
404
98
505
237
356
545
466
393
203
36
142
306
450
280
428
97
699
146
459
326
563
264
372
635
440
473
99
140
423
664
856
712
357
257
213
601
273
836
526
565
163
300
630
194
135
19
411
444
454
391
413
646
605
160
168
506
462
417
54
157
172
221
180
269
139
63
503
496
108
236
487
399
394
546
170
127
113
506
276
84
188
559
108
634
502
450
459
172
53
417
204
228
770
305
299
489
359
271
241
222
469
310
446
253
451
128
151
558
307
293
150
747
408
27
239
316
55
460
46
171
109
542
376
534
359
106
856
275
397
671
73
611
243
555
184
443
344
549
257
73
645
547
581
649
120
457
329
485
537
195
210
343
467
146
240
115
397
387
317
499
579
325
302
610
215
125
355
234
387
405
383
441
395
406
196
513
539
347
141
384
447
561
158
239
293
508
83
105
276
274
191
582
595
66
353
359
270
679
93
707
228
161
362
76
154
105
622
657
246
137
236
133
316
270
190
315
217
505
302
249
508
189
217
276
68
617
77
581
193
265
510
245
389
284
140
204
479
430
94
422
286
546
418
397
381
99
355
124
74
101
294
862
145
88
579
155
765
370
108
290
180
478
143
626
450
339
247
530
439
326
319
567
221
231
337
61
320
126
276
434
151
276
348
261
264
436
317
377
327
399
103
71
495
156
621
160
269
172
528
779
140
140
544
134
693
369
279
382
263
243
153
513
264
566
326
323
596
259
562
314
711
337
401
175
187
413
292
301
648
239
462
627
476
512
72
318
461
420
353
179
36
340
237
168
473
28
255
102
323
229
637
476
630
486
758
89
224
553
170
311
531
314
136
23
109
163
115
317
399
348
497
451
876
144
256
240
356
272
106
65
381
186
126
495
397
212
236
602
297
398
289
345
480
100
807
593
110
747
31
526
211
442
337
90
41
261
438
493
613
327
653
274
322
232
173
248
622
199
461
399
282
287
260
408
332
493
523
556
402
315
220
361
54
119
240
292
215
265
396
339
614
371
124
302
318
217
171
417
247
598
26
869
246
374
248
195
414
144
401
385
248
574
253
376
299
204
264
335
493
31
180
512
282
736
472
358
673
42
409
506
894
328
697
91
418
582
569
222
171
99
358
791
272
656
298
89
401
208
420
350
369
438
140
143
327
288
611
178
216
685
527
674
602
601
494
347
481
557
400
389
348
237
431
228
268
570
307
611
258
422
442
402
400
675
494
370
332
444
497
320
341
145
549
234
28
476
644
729
199
274
241
430
385
364
254
128
639
285
367
561
384
538
459
369
209
705
124
239
471
415
496
480
21
250
386
262
247
439
335
305
194
173
292
31
745
591
228
398
375
333
282
316
653
28
587
161
289
458
166
283
415
189
436
392
300
183
559
303
504
529
467
555
548
250
142
559
402
258
90
180
152
518
144
119
791
578
90
560
749
449
508
386
209
845
194
493
363
485
685
173
279
554
513
148
327
484
426
240
382
348
167
354
480
453
718
226
426
287
450
251
489
379
250
486
272
376
97
488
181
202
229
178
128
389
302
433
558
657
38
427
418
277
136
188
330
330
302
519
190
182
350
294
152
286
123
305
771
162
253
507
874
55
578
551
365
577
674
585
238
463
219
295
191
398
230
476
541
354
512
255
220
295
534
253
191
507
493
343
429
395
369
158
48
118
579
70
433
211
379
212
84
122
186
134
27
356
149
699
394
308
510
138
181
300
490
251
399
264
1111
246
228
383
78
524
287
151
435
488
466
155
831
305
269
451
622
611
566
396
111
254
516
305
89
223
39
491
355
329
263
476
174
494
620
344
185
555
284
541
152
815
276
127
287
427
614
383
364
295
267
290
301
88
43
63
135
327
284
123
582
421
396
328
210
69
123
798
333
150
205
412
476
76
642
324
389
302
585
549
204
311
323
556
191
353
210
146
378
279
291
254
590
558
255
147
352
573
166
785
597
562
232
372
125
420
223
509
165
281
93
375
378
724
537
466
146
556
165
294
500
714
243
290
169
151
235
399
525
205
630
728
409
72
82
194
645
361
471
538
510
318
327
258
487
539
141
420
122
243
329
317
166
161
473
404
106
285
514
409
54
556
226
91
811
481
375
477
138
531
436
81
246
245
452
594
373
506
229
137
484
135
212
392
703
495
772
523
397
499
173
389
333
650
145
86
68
216
295
292
570
159
126
494
792
116
228
525
632
668
535
278
351
511
279
296
541
239
210
155
331
428
321
150
274
399
381
403
486
280
164
638
359
230
364
603
596
95
113
320
377
492
259
468
512
141
406
354
558
356
459
283
250
207
181
465
305
667
51
223
173
52
493
569
391
739
589
487
415
267
258
385
224
754
352
87
218
177
201
87
347
415
297
777
209
313
518
207
179
660
626
357
508
185
620
394
97
333
576
174
528
665
314
231
215
199
350
293
136
464
64
425
187
580
299
71
496
732
385
487
411
47
226
344
631
833
378
144
234
249
459
635
442
613
201
132
258
207
237
162
302
144
577
588
393
254
34
263
176
50
575
320
509
106
63
378
110
377
319
537
78
321
241
115
223
263
200
140
289
71
335
214
369
165
335
115
607
524
358
397
102
320
197
298
482
196
557
423
615
378
566
306
245
262
339
452
400
334
191
248
721
291
188
473
524
178
487
322
131
152
163
225
352
428
834
154
129
261
480
535
595
115
327
133
121
112
589
848
415
394
221
228
280
166
519
230
675
519
425
325
326
508
317
92
482
68
587
168
473
297
310
317
100
345
282
418
151
170
244
479
367
64
791
110
412
417
193
355
279
44
362
725
397
304
531
359
316
662
182
557
373
165
131
418
242
127
441
488
103
567
501
136
176
554
67
280
164
287
146
349
230
372
253
198
128
475
372
290
212
493
315
191
100
418
280
501
123
261
142
728
130
222
314
492
361
24
348
474
348
75
323
113
208
372
196
79
428
205
359
492
153
223
355
410
230
272
188
178
363
492
77
544
365
132
314
354
804
432
240
178
513
401
539
138
250
406
370
81
342
469
383
234
355
469
314
313
314
803
66
285
753
60
187
662
99
354
114
614
616
163
546
312
66
176
671
433
279
295
306
578
497
46
594
138
613
428
295
304
196
205
162
611
155
181
252
232
223
38
251
69
289
314
243
685
353
492
225
549
378
246
662
131
152
300
87
173
345
313
636
373
295
365
471
559
578
506
130
565
612
367
467
263
503
202
696
171
144
425
319
329
210
446
140
483
424
278
192
910
323
615
130
351
575
220
660
136
431
476
137
431
34
225
93
302
264
370
488
612
405
149
323
449
236
438
360
629
274
260
302
297
315
361
517
158
482
764
751
176
48
338
211
364
515
566
128
227
848
502
687
86
235
466
38
303
283
591
241
138
279
383
268
578
363
688
549
374
216
188
174
196
355
614
333
364
92
240
404
188
371
130
421
590
531
392
518
173
304
433
203
585
467
127
492
450
615
258
361
237
226
83
660
220
328
559
211
224
598
307
360
313
370
200
390
150
163
352
479
593
80
560
161
236
439
182
638
160
901
462
76
345
596
729
346
368
387
573
160
589
331
393
360
220
466
518
362
243
296
458
327
196
267
304
570
195
391
181
564
296
63
647
333
351
419
551
236
322
790
732
338
595
331
302
319
433
505
412
181
80
319
835
478
207
227
247
476
384
415
699
274
574
381
556
266
154
492
239
835
151
161
167
240
176
269
157
142
324
222
171
242
215
218
180
147
381
153
106
215
218
141
478
339
359
344
321
241
518
524
344
388
406
130
481
477
451
259
596
254
201
263
181
221
186
191
745
250
280
260
272
413
597
470
484
167
67
350
583
398
404
345
389
116
816
273
383
310
424
298
401
527
16
285
204
44
684
403
158
197
414
97
463
622
212
412
200
491
884
632
528
680
391
414
441
644
150
557
483
502
288
99
258
495
205
229
445
66
312
137
479
697
182
307
378
223
412
542
605
327
114
423
70
394
233
267
512
265
328
94
454
102
237
311
287
222
335
796
725
175
699
613
534
220
470
491
205
316
450
679
100
166
268
353
607
63
319
240
532
213
733
503
408
575
508
527
204
238
224
251
82
160
310
400
126
654
530
813
439
290
98
138
381
437
179
111
374
275
480
454
406
407
671
340
563
451
497
539
592
466
282
425
200
351
344
664
299
57
300
546
159
255
548
566
592
58
491
450
731
519
157
450
169
54
88
309
95
342
813
188
329
151
498
51
308
486
245
416
244
539
657
287
127
415
551
612
390
108
491
583
355
427
255
215
97
141
273
170
289
438
420
149
214
339
244
341
122
207
83
500
598
153
481
236
233
195
673
440
225
199
634
464
417
128
694
317
962
198
282
428
457
148
295
157
350
295
310
387
169
69
50
494
99
206
350
602
643
660
345
211
392
465
764
215
673
162
445
182
277
633
273
587
121
547
468
329
295
469
299
139
496
512
646
342
471
76
124
585
676
599
237
365
528
604
147
338
337
548
433
582
459
281
871
380
407
299
357
216
562
335
580
343
310
495
193
198
260
282
543
249
290
241
283
154
646
342
478
146
279
210
225
481
233
579
348
215
179
448
324
251
295
328
137
780
100
360
178
220
174
128
158
313
580
273
292
545
386
184
66
406
391
304
117
119
436
345
302
252
347
760
272
86
156
389
12
371
392
510
596
182
581
532
309
257
268
176
218
328
614
450
113
494
900
430
93
549
48
617
378
312
859
483
387
371
427
645
430
101
405
194
137
658
314
348
238
434
409
166
490
279
904
72
556
266
149
369
124
298
614
147
282
260
237
685
418
151
782
372
135
334
356
239
289
319
392
381
327
491
174
472
356
299
179
374
383
250
383
479
477
394
565
346
378
182
229
238
277
529
500
470
57
286
91
135
500
211
296
334
363
139
554
102
250
176
269
163
549
358
80
284
177
451
333
300
458
152
639
842
230
445
387
510
387
326
108
426
412
274
470
68
362
659
585
82
85
586
390
481
100
375
170
83
276
266
402
243
314
410
488
603
590
151
381
445
438
365
207
196
278
329
397
476
491
427
526
387
670
437
546
287
537
198
285
167
516
251
656
676
398
416
345
515
277
181
290
205
82
428
773
383
68
361
376
321
176
199
232
501
210
102
191
382
251
348
177
689
378
455
275
427
666
340
258
213
204
437
293
401
451
138
457
268
399
509
339
533
374
300
635
632
380
154
217
351
190
130
519
614
672
632
360
137
344
58
194
151
530
351
295
267
441
49
165
58
394
244
250
465
363
665
443
343
270
92
247
602
625
226
151
283
87
147
127
80
204
113
262
309
169
468
148
404
22
327
57
143
278
553
392
82
97
40
245
629
18
463
219
343
121
329
262
519
198
444
516
260
632
353
262
143
67
496
192
180
329
540
89
498
651
526
286
190
164
106
132
71
506
347
142
286
459
377
117
509
560
124
94
344
293
205
776
132
410
152
207
317
234
201
373
552
403
607
195
422
442
231
474
225
686
94
531
196
311
315
827
390
366
397
72
480
344
327
534
307
142
313
276
389
261
50
438
212
298
205
358
367
393
347
182
302
69
1094
594
115
591
297
532
442
560
226
433
80
264
465
699
410
231
424
197
538
347
294
551
249
326
393
154
207
256
150
342
673
720
226
212
366
168
179
388
903
252
230
531
362
468
296
272
581
391
353
655
12
448
169
129
191
738
381
328
303
329
137
245
506
564
418
367
352
469
141
81
501
311
86
436
494
353
227
488
357
348
85
333
318
499
403
487
629
476
540
72
242
435
335
345
174
224
278
533
660
379
777
298
548
592
249
356
122
267
595
413
471
144
267
387
510
536
467
229
390
106
123
279
379
202
321
58
823
237
696
292
310
571
354
41
381
299
225
497
98
359
159
289
435
165
594
601
179
504
395
621
373
417
119
616
464
466
164
413
185
271
622
280
459
122
289
512
261
369
349
303
488
237
407
360
319
516
733
364
662
57
268
343
314
430
340
454
567
215
213
382
797
176
350
246
342
317
342
359
315
285
108
812
245
74
309
125
302
396
187
217
686
582
504
309
576
112
297
493
508
116
214
127
324
151
116
458
330
690
160
439
383
458
308
313
447
446
328
592
625
600
237
513
477
466
230
872
92
269
469
363
473
50
406
595
383
384
243
617
159
206
425
84
188
114
559
326
525
271
267
409
238
270
584
329
363
427
499
413
662
323
154
465
252
340
637
457
61
702
521
550
365
217
491
123
429
125
258
209
220
390
610
366
105
498
295
447
554
316
418
262
200
416
270
268
503
102
182
496
420
422
47
243
635
93
399
620
283
428
106
128
135
207
288
334
318
487
436
295
414
122
488
617
300
353
383
192
159
372
407
256
43
178
434
349
269
649
303
387
357
204
218
346
224
243
466
631
74
498
402
541
190
132
1092
783
636
240
416
427
513
94
250
758
388
210
587
424
494
78
544
702
525
606
183
584
257
723
379
681
32
93
384
331
110
439
538
574
419
239
349
345
203
266
834
147
211
373
340
200
36
353
226
295
459
870
445
148
382
198
420
697
309
438
189
330
387
490
117
524
805
589
305
263
326
856
150
234
599
151
316
642
411
533
216
193
255
99
367
258
480
434
318
392
223
182
201
594
270
601
542
521
292
308
431
554
502
203
136
228
524
269
641
52
271
90
788
258
148
770
369
51
377
417
397
447
255
131
124
138
487
377
277
287
305
392
786
429
716
236
357
63
374
349
502
355
661
194
558
592
545
199
439
269
396
400
266
195
438
542
411
224
690
204
127
500
463
583
682
274
131
295
201
698
413
415
171
792
166
891
432
85
238
495
532
250
778
478
359
32
374
122
59
99
118
446
1112
431
161
320
155
193
100
406
315
429
413
245
508
416
631
409
218
406
758
82
413
359
146
188
142
131
218
247
686
394
130
120
101
735
183
629
132
363
391
144
333
518
450
188
127
393
210
447
322
278
272
298
318
432
79
339
94
130
97
351
479
60
514
347
454
233
371
351
667
348
283
540
225
510
476
286
335
206
465
400
721
368
54
425
414
526
152
336
612
169
158
108
503
257
461
325
174
183
423
298
239
57
217
90
184
465
334
458
180
248
254
814
56
212
370
416
461
13
440
775
162
352
132
214
597
504
226
329
498
296
150
492
218
197
551
215
117
376
606
286
191
464
131
136
422
313
313
74
178
225
520
190
168
267
169
329
324
123
575
158
371
405
271
102
338
182
347
38
170
536
533
272
168
165
514
587
63
47
216
587
280
256
164
474
380
384
108
227
522
126
268
234
319
552
767
651
107
340
165
202
416
307
427
441
144
65
558
319
232
594
491
48
380
621
419
489
95
396
307
111
283
139
536
369
70
333
511
147
297
166
225
632
174
250
250
308
678
216
449
388
359
259
79
541
92
144
325
117
240
417
94
233
241
291
389
551
335
486
177
475
307
87
361
295
76
473
483
189
87
205
615
269
560
769
101
121
275
100
317
421
71
168
404
241
265
90
121
104
538
273
332
137
256
504
220
592
485
311
570
370
792
112
93
239
469
342
322
720
102
380
299
169
456
341
330
643
213
99
381
717
444
388
828
181
418
788
398
215
521
281
304
218
390
181
150
655
246
369
480
128
258
519
258
261
165
387
370
622
276
392
140
105
220
488
371
372
152
160
384
388
290
470
126
95
64
287
143
555
442
173
352
221
128
527
112
122
271
264
58
136
182
130
357
386
709
204
460
218
358
544
343
336
280
706
366
348
623
281
115
209
165
623
341
576
536
488
593
336
208
395
170
365
237
321
682
314
426
206
492
462
481
215
503
592
242
217
294
239
681
768
381
633
137
524
207
246
596
40
207
612
280
658
559
237
631
732
233
160
337
160
346
180
198
188
273
196
47
844
462
290
209
435
302
348
68
826
244
302
468
717
203
249
235
139
312
187
527
336
386
556
218
158
475
87
362
540
588
629
461
223
410
570
504
269
195
457
234
216
69
438
516
508
384
445
291
309
274
433
677
564
812
128
399
571
321
202
492
357
364
256
531
109
187
491
656
740
21
599
473
418
78
279
316
243
215
287
359
211
263
533
276
722
236
372
363
422
86
362
112
739
449
139
551
559
658
488
383
180
121
401
74
845
607
232
445
172
368
91
277
249
338
327
492
574
784
490
112
594
237
179
648
364
100
443
288
434
585
466
272
484
164
147
401
171
601
246
526
509
209
248
404
394
307
237
226
484
153
330
162
608
209
362
773
202
95
456
290
554
481
266
830
330
542
326
197
254
257
366
627
826
272
350
69
384
193
191
462
591
380
203
427
264
766
378
236
246
164
472
396
183
404
77
663
287
170
204
369
230
343
184
277
184
721
96
553
303
368
480
315
254
287
680
537
473
545
153
313
67
432
271
146
361
184
375
301
220
46
566
406
516
281
172
209
394
207
506
403
211
103
487
136
761
400
306
98
73
318
490
586
474
219
178
640
129
251
370
126
569
375
452
860
230
460
196
577
232
103
208
465
332
237
575
444
527
393
290
355
425
274
550
458
74
107
284
505
177
232
204
330
434
144
713
445
298
772
226
462
272
176
656
283
536
225
626
395
300
311
337
572
202
398
292
323
582
558
484
416
174
376
201
204
173
685
590
240
282
64
167
169
403
307
299
310
264
466
110
393
88
772
549
66
595
400
357
544
92
481
265
257
151
435
542
644
453
309
474
447
70
164
280
853
144
331
190
381
82
203
308
487
218
730
653
334
317
765
421
305
703
460
413
449
194
577
119
120
384
385
173
466
349
607
795
237
828
156
152
129
273
391
270
335
107
703
342
288
193
398
105
345
354
593
603
228
113
112
296
335
478
327
320
176
477
166
275
51
514
852
266
657
259
435
379
315
457
383
733
134
414
212
474
356
315
511
525
180
308
484
304
1111
354
271
75
449
950
225
381
360
379
364
416
118
334
742
260
397
102
621
132
127
132
649
779
337
389
100
451
419
209
357
261
352
368
301
465
389
172
440
218
552
77
1110
327
439
164
78
463
250
261
516
371
52
301
175
56
451
588
773
489
185
148
277
356
306
614
257
769
121
522
176
291
306
504
296
210
366
443
219
718
350
39
632
472
232
160
493
161
494
364
231
79
313
435
245
52
798
452
291
273
283
422
322
106
721
273
239
405
1029
442
202
712
216
196
822
578
186
119
527
469
391
350
234
281
498
101
476
650
220
126
198
18
547
71
240
133
203
556
132
359
324
446
326
384
433
435
317
181
387
147
235
138
228
290
316
226
261
238
276
347
260
227
357
714
519
437
213
62
220
77
93
177
559
544
620
469
138
242
407
222
158
161
634
519
431
477
457
105
607
347
203
304
218
378
494
203
163
320
323
469
357
115
118
386
437
502
429
183
33
324
239
87
282
367
218
322
192
386
194
352
177
325
287
174
80
616
236
279
379
363
369
269
438
222
161
265
117
230
264
238
332
152
237
371
390
169
178
111
33
354
509
148
213
550
375
256
197
51
226
735
233
522
432
563
691
356
495
385
119
570
482
432
426
530
676
355
332
368
425
834
482
436
241
115
210
296
409
426
830
80
523
248
545
371
385
146
577
394
301
216
214
370
487
707
495
294
258
726
93
416
825
329
815
236
545
407
208
261
450
116
223
690
445
258
400
329
600
83
61
248
122
368
558
253
704
596
221
650
384
315
137
429
561
346
227
410
405
447
532
517
164
472
49
633
354
120
353
513
493
390
260
324
358
305
419
338
354
336
138
453
261
382
295
521
388
244
101
443
354
409
56
510
265
149
100
448
429
251
349
65
313
233
426
90
469
490
260
149
350
586
212
258
166
465
399
219
359
318
530
298
179
151
306
164
336
344
110
317
517
367
207
316
298
384
271
665
174
206
195
493
282
439
403
247
475
570
192
256
527
321
757
608
285
674
336
597
225
325
460
284
236
191
494
127
318
522
430
306
235
224
722
165
597
374
478
123
449
368
519
218
365
554
438
424
444
656
57
21
230
133
529
280
178
548
609
346
380
637
571
242
352
261
250
358
471
389
140
362
306
252
317
57
546
173
31
510
357
386
68
362
399
333
157
384
398
117
315
314
189
401
105
306
459
553
702
153
190
741
206
554
483
179
248
496
387
278
250
447
104
100
238
194
279
390
600
400
336
431
600
135
289
75
368
561
328
381
604
505
140
375
680
284
537
446
213
384
726
116
358
298
143
330
570
418
266
271
526
177
517
392
244
470
397
266
420
294
596
750
470
206
430
225
525
422
83
117
431
196
241
472
734
274
363
339
994
93
164
574
299
88
509
73
660
392
692
12
472
444
428
456
244
239
456
508
162
22
495
585
686
194
341
274
268
367
580
268
93
491
483
322
488
601
307
301
424
402
300
297
128
350
257
497
633
108
406
326
748
577
360
294
735
392
430
239
203
504
292
176
107
312
512
365
620
236
364
551
636
73
248
430
446
230
149
421
253
234
360
432
715
644
790
840
316
239
395
672
113
642
114
639
312
534
187
751
551
744
243
510
625
407
554
85
419
140
236
291
335
261
187
323
211
257
655
238
236
73
250
226
424
271
183
146
697
287
438
486
209
544
566
543
647
399
298
315
418
115
452
437
151
899
436
509
376
632
335
92
404
340
337
141
368
426
189
355
675
272
572
703
413
326
449
408
340
477
136
248
65
518
122
132
531
76
582
248
176
538
585
59
232
153
44
429
584
628
443
488
370
544
336
384
726
148
642
417
467
462
213
841
189
302
679
310
146
304
683
125
235
579
587
396
210
211
323
160
494
431
456
430
419
62
363
223
260
402
411
535
425
341
65
605
164
51
536
552
137
303
504
149
167
266
233
654
468
353
293
109
319
270
212
583
139
664
340
468
209
634
136
427
310
790
147
211
479
466
38
226
295
165
424
493
467
359
419
683
455
171
297
330
454
607
228
433
474
712
290
106
523
337
343
244
491
919
317
556
331
113
400
430
96
351
501
320
211
470
316
369
207
613
93
125
456
235
354
311
434
496
447
818
325
268
131
347
551
133
271
365
311
131
399
391
166
122
349
194
163
155
106
540
685
153
482
292
376
261
91
518
205
268
715
245
165
395
429
577
97
494
456
297
255
361
603
959
613
376
409
516
308
233
273
446
279
222
518
147
90
241
187
249
487
548
346
374
424
136
746
227
158
490
315
160
280
569
367
587
576
293
337
280
394
218
701
494
391
439
574
108
209
228
295
453
557
554
567
176
196
709
331
328
106
456
302
565
367
215
392
499
311
728
255
666
352
533
324
472
884
165
375
294
46
291
646
272
487
360
480
509
147
558
324
312
238
599
323
594
238
99
238
803
214
168
244
264
201
160
505
131
178
371
423
609
369
149
335
296
236
284
454
286
863
714
373
124
106
338
395
120
246
186
72
306
87
497
134
659
475
141
452
223
1016
355
444
582
190
349
288
127
437
472
209
283
172
571
482
613
107
228
386
376
613
582
156
764
215
511
322
530
318
177
91
184
362
310
282
317
530
267
146
623
292
377
249
299
638
154
381
624
613
334
447
321
303
531
182
105
799
135
63
326
565
225
292
236
395
638
458
421
542
93
57
61
502
415
384
571
765
306
666
256
620
534
268
567
718
74
282
424
128
504
657
427
232
350
242
505
139
390
175
158
350
83
509
841
178
437
498
323
52
491
301
443
184
148
377
234
752
102
370
390
473
200
140
287
415
621
685
155
521
246
409
585
225
598
114
516
346
487
463
472
44
189
584
525
262
783
208
542
494
426
424
92
261
313
186
301
172
778
343
377
586
182
536
258
450
202
553
522
210
337
572
423
400
235
622
555
70
346
308
461
185
227
414
253
411
223
118
127
1030
663
581
506
557
330
132
594
275
287
694
293
487
498
691
513
214
454
439
240
72
424
494
238
261
52
349
538
306
207
341
119
682
208
391
218
636
525
110
646
398
100
496
357
199
419
16
811
557
315
672
409
599
40
195
116
539
138
599
542
187
362
544
329
320
658
702
71
430
285
256
350
343
456
155
710
111
54
114
347
387
116
145
222
72
596
434
761
312
458
170
187
413
451
281
378
113
365
523
125
134
455
581
338
284
209
642
434
517
562
418
571
64
715
295
662
318
270
264
186
169
526
281
453
221
614
393
255
347
498
69
505
379
353
414
163
114
158
371
312
613
202
424
39
740
369
132
95
332
186
100
464
345
581
569
117
166
522
209
380
954
110
459
112
744
449
342
225
167
339
205
163
80
468
91
473
434
275
275
389
235
593
784
217
134
188
443
282
180
175
96
557
717
102
90
358
124
128
585
561
559
112
280
122
109
479
381
658
156
335
372
318
344
260
137
234
222
846
419
105
599
268
289
583
59
214
509
309
385
528
128
86
137
790
229
61
270
247
394
147
341
905
435
303
517
277
215
439
450
238
482
694
174
660
567
532
161
368
521
610
605
347
649
202
237
343
644
198
595
433
524
773
846
221
373
290
98
380
273
239
427
634
105
221
373
222
136
739
251
199
677
106
689
342
577
275
535
240
336
594
610
206
675
580
350
274
438
229
83
804
1093
97
162
201
342
478
402
668
396
650
226
33
308
609
654
288
546
415
557
137
571
329
192
215
450
490
255
380
158
446
282
113
1085
434
265
558
145
265
169
201
61
553
221
310
315
523
346
383
235
376
135
518
467
613
415
342
205
306
522
245
607
467
413
315
585
500
148
476
304
121
434
749
691
539
314
760
267
362
450
519
475
133
182
418
894
453
222
279
374
134
530
902
351
212
344
427
806
600
85
309
30
222
184
156
339
34
320
454
506
173
656
86
578
288
17
374
290
393
362
464
490
294
269
194
458
268
518
570
339
518
338
115
259
653
134
408
51
387
236
278
235
320
345
167
390
396
168
130
576
273
164
265
465
642
464
532
354
330
219
275
505
558
299
452
404
252
785
376
184
512
527
322
526
669
536
786
488
319
270
307
110
291
117
674
174
135
198
134
426
472
112
352
598
257
219
886
491
437
455
362
122
221
277
366
271
204
289
55
367
657
637
103
46
45
632
334
399
103
368
608
232
740
119
280
401
559
497
350
207
333
820
265
454
372
798
471
325
211
420
296
607
401
737
271
540
551
145
458
103
616
479
413
495
298
511
248
376
122
279
318
246
139
191
178
472
161
349
230
397
387
421
119
489
199
275
200
179
248
377
260
267
139
280
271
301
304
101
588
210
345
546
51
290
219
288
610
164
618
777
440
282
213
304
138
298
242
88
605
604
350
598
310
293
188
381
281
245
493
153
596
479
752
94
474
247
412
261
173
152
448
534
329
466
323
531
369
112
347
142
488
556
223
643
289
573
161
510
885
702
112
83
441
167
223
340
404
223
905
855
155
650
561
418
209
296
501
285
467
108
61
504
678
329
488
206
145
105
41
228
370
255
243
272
423
218
218
411
286
431
211
442
171
197
256
291
221
480
232
391
426
249
335
566
362
122
227
688
469
110
256
168
60
27
379
371
438
458
247
374
777
382
378
793
407
641
352
438
619
341
654
334
80
299
339
582
299
877
411
399
456
446
589
37
580
399
609
80
231
637
459
215
46
289
432
422
367
213
595
382
582
548
341
369
197
594
507
295
82
73
328
385
96
433
220
321
500
221
211
514
458
416
432
81
861
667
311
233
125
83
45
224
319
424
422
230
568
33
245
443
323
601
218
527
112
328
332
99
133
319
352
258
104
377
406
369
612
108
524
499
500
340
219
258
164
233
254
268
145
148
154
501
471
413
370
181
124
309
333
569
441
517
522
56
851
126
262
288
307
408
112
553
317
57
169
289
648
412
891
148
506
151
297
192
354
641
367
333
216
250
434
387
481
101
400
138
337
637
66
556
636
553
287
113
523
179
282
291
567
159
379
467
494
511
187
221
347
546
316
123
512
400
428
879
220
824
409
195
813
414
191
429
176
593
245
418
588
120
191
234
150
282
329
166
345
347
236
457
603
508
309
429
208
299
301
498
303
260
514
740
691
439
423
319
236
452
209
341
709
439
54
498
376
278
377
560
195
543
218
463
672
364
366
566
179
110
297
328
645
475
620
431
486
412
452
279
132
51
315
550
398
155
218
367
415
157
323
621
404
465
436
573
335
162
222
451
438
231
220
343
25
396
233
341
271
184
499
141
223
154
792
61
144
386
258
372
273
392
264
524
351
222
921
341
394
424
533
569
155
423
466
158
160
397
340
384
586
267
317
198
186
296
223
622
445
69
755
484
472
601
384
213
603
561
179
145
248
317
275
372
58
155
441
91
684
212
167
92
730
479
379
374
153
200
198
333
270
407
229
217
472
534
466
177
246
284
630
782
274
217
170
333
276
415
329
106
306
361
711
290
129
605
659
565
668
370
703
377
606
267
277
443
568
651
442
632
507
125
372
38
428
475
353
281
304
578
265
425
383
421
463
32
208
161
214
434
277
229
302
713
251
519
350
134
340
522
312
82
126
627
501
220
123
287
73
456
55
207
183
587
102
304
59
458
402
361
326
385
185
352
546
334
268
88
223
575
264
408
662
296
503
638
129
327
409
87
101
297
86
323
568
207
290
613
260
154
468
496
159
248
622
183
618
670
326
423
241
639
197
602
289
172
513
51
202
119
713
102
615
473
34
507
264
479
223
410
394
71
409
72
362
224
135
528
241
384
270
417
319
100
410
142
111
508
258
614
559
582
321
89
332
143
136
437
630
584
264
679
180
353
280
531
502
57
191
75
664
124
249
546
372
637
209
276
325
492
681
81
228
580
571
364
316
333
260
286
529
378
500
541
699
481
18
86
173
773
261
604
473
224
248
542
70
316
469
315
398
44
717
542
522
486
467
427
492
372
611
717
382
508
504
260
198
271
839
210
443
38
410
170
296
254
681
185
311
252
462
378
242
72
315
200
181
144
424
591
481
298
216
178
185
440
245
244
364
561
224
223
162
325
533
634
390
208
692
549
75
402
462
112
548
767
619
217
109
263
349
348
237
221
258
210
865
527
797
773
48
77
459
217
262
445
518
226
195
841
157
65
275
113
668
288
480
430
250
275
636
334
402
275
609
353
376
190
264
184
261
426
456
277
255
385
621
104
330
546
180
354
102
191
90
744
139
456
151
106
620
290
781
92
299
519
375
234
409
590
412
541
348
548
254
183
27
370
185
519
352
185
362
306
542
332
353
393
572
370
667
228
383
313
342
365
592
111
650
667
401
631
493
135
303
261
182
424
377
758
738
35
376
199
140
297
95
340
449
138
130
86
345
613
885
284
408
406
548
153
236
641
585
567
128
393
456
502
615
423
631
441
253
313
166
137
188
290
283
551
392
401
231
261
244
167
184
641
340
134
349
488
65
410
547
578
372
389
466
343
287
75
144
363
375
409
268
285
413
313
151
484
165
402
528
323
214
460
114
249
415
346
237
160
891
297
59
117
177
196
527
440
67
563
162
212
156
73
408
375
417
454
336
549
178
420
323
295
276
447
621
287
265
226
705
180
496
801
276
245
832
470
62
390
271
606
285
258
188
447
675
382
676
407
311
617
693
477
515
153
237
667
284
111
155
203
317
506
69
348
437
447
108
151
299
91
495
432
95
179
359
436
438
49
316
142
136
615
341
445
157
362
492
635
156
138
314
95
316
345
245
531
228
242
257
655
205
405
780
390
306
637
382
703
361
240
769
307
309
105
246
636
561
193
259
479
334
560
381
259
144
317
385
37
356
313
294
445
364
185
681
114
302
633
295
202
49
204
364
118
170
690
159
577
518
109
110
233
235
245
631
482
107
799
411
628
85
70
252
522
391
404
370
475
541
467
363
440
729
310
201
407
408
703
186
325
216
155
137
672
222
309
14
546
426
457
391
312
704
402
376
656
35
804
323
357
306
437
243
217
205
438
368
175
208
540
289
768
323
283
159
449
625
295
378
723
64
490
738
729
230
145
714
350
218
51
210
465
140
1012
642
492
171
247
536
255
393
268
694
659
466
418
345
254
303
476
689
865
457
511
193
302
236
720
511
705
529
336
214
519
323
354
38
451
243
572
364
287
325
532
304
140
186
469
451
423
357
116
248
509
155
182
496
278
510
194
181
595
269
300
188
594
374
298
475
139
268
378
330
594
140
381
212
170
263
885
381
391
220
249
226
69
392
248
605
636
103
532
335
196
465
324
324
554
576
371
86
333
118
512
365
597
656
186
449
140
578
622
499
387
767
378
426
37
181
419
392
778
282
208
248
229
330
523
528
310
317
473
558
220
386
266
349
602
395
665
448
105
345
268
373
652
243
225
604
122
466
174
589
434
61
514
366
460
425
199
394
501
101
98
578
573
549
226
83
149
553
703
155
419
681
297
311
671
340
409
450
206
208
263
106
417
281
310
538
196
663
440
664
479
186
221
109
577
287
566
645
139
340
96
305
554
227
402
325
323
96
347
118
234
560
429
500
364
291
344
127
263
67
72
340
28
489
510
253
212
161
109
319
293
262
363
176
461
724
364
418
407
510
389
170
213
729
178
449
135
477
508
584
421
398
163
223
382
224
319
248
747
206
343
38
323
505
551
294
400
236
249
261
161
329
319
228
277
662
566
117
280
421
320
318
641
742
356
343
256
346
680
16
556
483
307
384
490
148
718
749
301
141
267
355
465
427
55
374
461
297
580
154
367
249
600
180
364
254
190
637
706
106
78
361
278
224
140
894
317
628
591
115
570
372
227
206
545
305
546
422
350
418
168
511
214
225
193
225
459
155
111
435
511
407
277
400
453
132
396
313
479
376
250
138
390
238
206
447
575
331
301
172
353
221
271
579
629
450
226
261
195
642
127
349
268
297
497
261
280
565
504
60
158
92
349
354
163
487
42
644
747
661
512
701
248
14
654
204
237
909
279
508
281
486
224
359
403
388
352
166
134
394
387
252
712
301
567
319
489
559
154
243
267
206
248
435
275
106
166
107
447
154
659
325
93
473
415
203
592
570
137
357
295
441
468
836
335
178
578
54
89
191
110
406
237
275
360
658
389
443
594
342
230
264
227
144
217
686
661
195
329
278
183
227
80
621
529
333
188
623
315
382
253
184
289
131
669
142
362
412
115
310
56
657
237
660
488
428
215
138
391
297
66
201
367
150
394
161
82
233
479
139
391
436
417
520
363
522
244
242
123
89
478
555
194
33
219
341
190
245
567
350
234
157
173
690
587
96
638
215
436
252
366
308
680
584
810
97
681
306
365
218
300
500
136
364
416
55
91
299
354
433
343
308
649
615
250
128
549
380
773
551
283
686
152
126
383
157
403
455
432
204
523
329
344
88
134
323
132
300
231
297
356
671
240
164
134
217
388
256
67
305
469
381
335
145
498
583
311
234
271
292
751
381
72
290
409
420
199
348
106
547
136
270
276
189
395
246
605
145
471
84
267
665
144
617
57
784
640
129
166
181
608
498
687
266
281
202
533
280
174
169
227
216
538
116
172
70
79
47
533
293
127
184
316
510
586
340
42
644
329
226
249
371
148
587
433
670
188
83
249
225
652
971
314
106
436
48
57
159
507
71
304
472
487
581
477
462
948
343
320
137
155
400
467
234
296
443
353
163
322
346
422
140
224
253
315
294
284
478
585
133
302
492
173
339
127
532
383
120
454
95
356
62
204
199
448
164
95
212
668
227
458
213
390
493
312
445
151
267
352
351
509
518
333
472
331
205
655
217
303
339
712
225
109
498
113
270
591
96
207
268
307
442
139
873
244
143
414
496
37
32
238
361
150
311
185
517
323
313
220
212
211
535
142
124
197
560
280
538
194
178
98
163
107
579
343
549
269
506
458
142
447
421
191
286
194
162
219
118
142
537
535
734
435
473
119
197
199
476
386
521
120
66
187
286
494
512
589
1046
528
540
724
686
117
489
246
416
332
445
556
331
128
449
509
440
363
287
252
243
182
263
498
220
66
122
607
221
815
71
609
575
459
124
355
199
331
289
667
186
244
505
181
388
302
332
532
507
177
204
805
444
623
370
173
150
199
120
477
595
314
447
234
348
74
183
195
367
267
541
213
377
200
518
286
189
435
126
446
230
362
672
368
306
655
258
450
158
215
618
394
414
331
350
403
413
471
321
231
621
327
429
282
275
66
237
971
236
333
446
171
107
288
801
429
336
255
426
62
263
261
447
128
97
353
82
479
107
81
220
648
169
611
497
360
246
595
362
321
144
752
345
580
149
570
268
128
341
119
81
379
166
540
596
493
115
219
326
274
105
103
268
138
485
467
374
368
279
468
315
149
281
709
61
139
393
329
295
209
88
375
337
400
387
274
135
417
381
448
325
603
59
228
342
491
211
287
170
708
64
456
159
255
362
275
593
467
338
410
140
304
415
112
263
672
420
374
497
359
232
387
150
258
269
341
397
344
458
687
177
49
67
188
279
379
318
132
285
202
103
550
567
225
430
202
280
188
411
156
323
198
115
169
59
454
668
234
505
300
183
127
326
552
555
304
165
77
110
708
219
298
560
194
166
199
322
258
229
491
503
106
397
304
173
174
164
377
283
450
216
735
397
416
42
175
360
71
454
84
249
223
263
533
118
365
487
377
317
165
330
237
96
175
640
321
193
290
494
251
398
353
527
575
118
918
368
340
735
784
546
167
302
551
54
492
225
219
28
371
282
110
164
524
648
386
138
477
409
76
612
215
586
441
390
471
438
506
360
462
365
744
571
476
103
573
143
357
229
469
337
281
445
524
342
531
501
170
229
182
258
768
190
307
191
458
380
438
640
745
238
508
361
78
250
210
883
468
51
160
227
380
117
452
421
116
52
518
581
746
530
736
686
148
571
114
227
584
348
116
222
372
158
303
304
271
137
288
285
254
200
463
346
396
446
492
164
560
318
565
148
73
437
163
214
151
429
354
346
406
189
75
296
484
147
617
357
606
734
237
160
433
298
337
397
705
670
268
285
515
226
274
748
132
69
270
779
273
402
128
197
501
338
60
449
271
46
338
396
105
270
572
203
593
413
425
45
285
296
541
417
212
267
189
249
254
35
403
452
497
628
511
371
284
291
457
315
180
106
264
505
57
396
517
379
379
91
326
478
114
340
469
377
482
362
585
704
367
86
50
387
126
564
582
460
193
161
536
488
621
235
89
241
188
637
734
425
189
313
39
258
352
409
381
449
370
407
537
315
563
641
212
298
226
120
495
500
282
190
659
659
435
494
298
176
695
494
183
228
241
412
417
248
193
683
326
173
210
166
118
439
158
378
455
525
119
176
477
667
273
282
302
667
343
489
96
433
144
281
142
573
485
584
259
54
131
802
581
487
313
328
299
296
428
441
373
553
545
310
321
289
482
116
89
181
542
300
232
424
450
382
243
633
535
516
90
240
136
596
291
326
268
279
232
379
632
207
441
240
37
306
419
266
290
294
568
285
292
526
215
511
488
43
555
419
682
190
453
598
415
595
128
414
267
93
511
124
394
322
369
248
499
169
73
579
203
280
455
185
440
289
598
772
328
310
35
358
672
612
410
157
416
398
119
302
427
325
343
483
198
524
182
404
571
252
163
314
493
266
90
678
130
470
519
168
325
436
282
272
105
486
136
434
299
372
98
531
323
620
445
276
523
363
628
269
595
249
348
259
114
571
629
400
136
59
183
304
734
158
283
179
484
476
390
730
229
875
237
287
668
225
191
390
532
316
479
544
269
506
121
444
332
317
255
801
437
447
549
299
527
651
267
352
229
393
177
539
469
255
58
100
74
183
402
210
274
387
491
284
638
295
833
161
444
371
849
583
384
413
258
181
67
133
344
145
159
764
162
516
275
214
216
340
313
263
355
305
203
204
80
225
469
276
277
392
129
439
611
577
42
432
249
417
157
397
305
368
101
391
152
447
619
481
608
232
113
505
153
698
369
345
180
446
240
208
209
304
407
116
225
290
543
417
151
92
547
792
303
589
688
430
176
196
326
338
136
59
536
251
250
258
770
227
515
715
441
175
489
851
392
462
334
347
752
244
499
306
534
641
396
93
669
680
247
563
614
252
514
187
741
278
200
164
342
221
204
683
145
299
419
225
310
546
351
500
461
443
380
186
494
374
483
351
339
244
454
624
270
668
309
152
555
266
349
479
404
262
300
403
330
650
190
423
138
444
647
303
242
46
367
519
501
389
388
327
324
601
91
501
68
458
198
257
298
122
420
505
321
620
743
226
715
252
145
320
185
197
224
376
263
326
312
683
194
193
354
469
209
510
299
360
393
378
165
627
407
700
416
690
500
254
188
223
328
137
71
472
290
491
44
195
171
673
393
276
261
337
189
474
460
335
446
252
830
339
551
134
463
229
171
195
627
417
241
492
309
552
324
451
167
104
173
435
307
50
118
531
108
109
510
286
780
806
215
365
222
350
263
365
375
534
362
38
362
130
158
263
169
320
113
234
200
409
330
196
621
534
136
567
164
297
532
721
146
236
186
299
504
288
686
427
512
198
469
91
338
398
264
415
811
75
401
575
282
90
125
116
720
236
743
381
172
258
613
384
497
415
55
230
282
88
134
204
371
813
278
464
487
340
370
44
438
204
546
219
489
228
473
305
132
329
322
481
316
258
534
109
398
773
230
447
372
399
305
108
473
585
204
151
635
412
100
294
770
109
295
134
499
144
48
460
696
410
370
365
316
238
309
223
84
530
277
431
95
354
388
562
408
440
1113
339
121
332
669
86
148
470
119
327
332
277
437
312
514
246
560
552
353
510
654
346
426
682
301
313
462
577
416
26
169
61
205
307
136
124
175
335
677
572
395
451
586
72
563
372
390
388
222
442
582
626
251
98
445
252
164
214
243
380
358
311
468
289
154
597
442
323
31
719
532
277
261
343
422
80
202
69
301
585
139
485
468
567
731
730
246
522
132
152
518
369
518
193
390
393
140
370
429
155
854
122
209
45
330
461
270
565
750
460
666
329
121
343
624
293
125
189
56
89
807
185
222
66
177
353
396
509
483
272
401
586
132
323
397
463
431
221
370
284
120
493
102
165
628
265
227
173
162
560
263
275
574
47
221
380
48
720
434
292
395
411
258
473
206
541
264
131
582
341
185
325
497
86
124
525
405
300
110
21
377
397
151
514
176
435
238
523
478
333
828
78
60
131
277
300
595
336
716
375
323
174
363
528
322
594
50
502
368
224
317
399
472
75
145
375
575
903
368
74
529
164
854
26
450
622
346
423
673
339
388
87
168
457
521
156
591
100
287
330
889
740
317
353
281
192
275
354
109
394
405
102
443
347
517
559
215
229
250
846
416
517
398
319
460
138
374
436
163
303
254
417
200
298
478
257
490
473
353
381
550
310
288
251
631
190
363
178
639
172
111
151
740
669
306
448
316
96
210
126
347
133
216
707
392
301
244
66
230
307
204
244
462
29
507
232
265
254
74
385
35
428
334
340
586
507
517
221
648
368
307
219
239
513
249
432
308
283
527
288
393
187
454
306
678
370
281
447
123
222
497
171
618
389
328
400
199
557
154
343
262
237
381
467
365
371
446
270
414
331
567
362
362
515
192
377
312
236
185
665
237
380
494
706
496
590
133
335
387
253
521
174
250
543
196
645
348
542
314
292
453
376
388
529
481
153
447
563
417
524
263
442
571
216
383
360
115
336
280
97
476
313
243
602
698
156
734
477
289
467
572
236
443
336
333
522
304
370
539
268
385
445
540
620
85
202
510
368
250
371
171
265
178
150
477
42
148
500
343
542
44
278
452
162
505
64
198
640
331
533
245
298
105
685
222
644
242
539
138
169
527
287
249
665
166
345
432
105
197
322
241
581
254
281
482
799
242
411
270
315
629
301
545
505
120
563
562
320
446
152
305
76
161
489
142
279
170
465
527
322
236
613
493
165
290
769
200
356
422
333
427
235
236
198
590
317
493
533
326
341
214
73
254
121
572
233
143
460
167
642
310
652
203
298
308
451
200
154
278
791
324
263
419
233
428
372
298
431
419
151
479
270
493
469
511
486
393
702
372
360
156
434
285
360
370
338
272
329
118
802
199
447
400
469
598
383
717
544
494
333
224
567
69
210
280
125
342
570
358
319
894
337
796
608
584
348
518
492
474
110
803
514
357
457
209
491
342
543
558
538
457
380
197
87
377
310
262
193
457
67
833
117
124
216
187
126
120
213
385
666
240
741
409
133
442
183
716
320
88
138
558
528
396
442
363
519
395
281
566
160
337
27
98
445
85
207
137
113
622
376
484
368
157
196
198
186
336
53
445
133
678
126
543
181
321
270
494
101
229
141
501
91
519
363
592
491
57
608
311
385
296
679
149
413
212
80
271
202
307
324
437
558
347
570
415
117
570
87
500
544
48
538
284
139
213
680
223
278
89
277
123
422
289
395
137
254
226
396
186
159
382
442
313
422
585
442
464
251
148
485
66
589
191
567
327
620
208
439
143
120
595
549
94
242
330
347
595
171
631
151
111
108
358
484
390
187
378
496
383
333
429
116
161
338
435
820
84
597
544
145
356
339
273
455
509
79
402
333
147
278
518
14
235
362
295
752
409
306
356
120
199
396
130
205
359
407
357
576
634
133
62
178
305
507
105
456
309
48
480
710
108
405
105
173
548
528
107
208
535
277
463
444
285
150
464
322
497
487
219
509
448
501
184
94
167
233
291
388
393
798
334
390
307
406
545
370
807
283
357
329
205
284
541
291
99
106
379
618
180
186
189
268
408
263
523
511
419
262
174
196
208
317
325
214
47
230
72
249
227
632
392
338
542
387
374
240
294
518
320
173
235
474
430
127
205
336
295
51
604
333
191
147
688
100
210
642
116
102
116
465
212
102
429
451
145
102
613
338
89
330
32
368
258
420
215
1050
601
411
49
54
266
164
350
259
246
304
588
476
325
246
583
268
186
328
256
157
235
510
113
290
655
206
361
285
336
241
358
244
302
276
204
202
319
214
397
511
120
279
269
311
202
491
326
428
486
558
370
578
385
519
527
503
86
89
287
571
352
325
532
633
435
264
201
343
277
618
319
550
379
476
76
373
330
308
455
102
340
437
362
740
498
444
515
142
194
353
719
466
450
396
204
339
79
303
118
35
87
132
168
260
532
153
320
335
192
340
217
603
528
438
451
431
842
496
163
308
319
481
679
469
345
341
390
176
85
557
568
604
665
263
245
325
76
268
439
491
375
423
194
35
189
254
368
356
259
730
434
429
158
679
82
327
250
596
173
565
126
138
437
145
349
128
301
116
598
260
55
322
256
296
259
227
399
780
516
518
590
180
669
684
464
86
528
208
547
845
164
353
523
191
715
327
390
504
114
469
323
500
294
585
158
195
173
304
262
133
664
234
256
232
459
285
610
594
222
69
351
237
545
507
236
371
765
442
123
331
177
466
230
650
499
300
410
574
503
598
433
771
243
602
551
507
300
405
535
553
160
197
597
260
258
194
290
425
435
251
166
146
228
298
428
178
559
683
612
129
482
400
774
446
651
268
585
482
722
382
781
434
493
454
298
111
133
277
190
491
326
175
145
422
154
482
530
580
561
591
438
148
289
544
330
401
361
564
368
376
451
781
370
364
37
64
234
122
602
119
657
596
431
553
284
468
325
158
265
244
284
649
499
363
328
12
360
533
354
604
752
433
458
253
195
876
487
459
415
505
139
234
21
224
476
655
167
344
294
466
633
317
91
783
591
252
446
510
333
65
400
63
353
287
599
146
306
194
387
213
131
226
393
526
228
476
38
510
288
363
228
424
211
818
258
375
464
258
543
407
748
552
108
165
30
560
461
388
166
316
138
180
485
221
360
569
59
548
438
125
395
86
345
854
487
676
746
489
275
446
479
196
456
549
728
370
477
318
323
100
2
367
73
361
434
618
184
276
295
139
377
316
124
391
308
400
45
317
316
432
669
169
255
256
135
166
388
648
617
470
369
337
321
655
269
268
196
479
828
367
232
585
255
358
126
318
451
486
164
497
631
260
377
530
360
362
406
406
152
189
594
357
372
405
579
561
472
166
430
176
80
509
188
132
598
551
228
116
400
411
164
623
494
508
197
526
216
99
201
348
69
503
235
356
144
165
236
550
496
284
596
502
159
521
292
335
350
185
312
112
524
800
309
344
579
659
28
216
496
159
653
229
538
486
289
543
281
291
94
834
297
441
208
258
213
150
340
318
117
466
329
330
469
287
161
185
344
76
493
677
263
404
443
264
522
754
537
147
106
215
171
585
30
124
478
482
328
96
65
99
363
254
145
428
167
639
335
275
594
486
367
450
402
669
439
336
559
260
324
454
318
367
469
335
114
717
133
357
89
427
845
256
63
240
129
58
360
341
419
263
464
122
305
307
283
133
162
78
290
527
414
484
505
193
337
499
217
111
178
629
41
538
204
188
584
221
552
228
366
154
399
172
511
55
130
462
669
342
192
128
206
404
339
567
478
217
262
53
601
358
288
191
92
334
327
405
721
368
477
574
585
434
795
335
356
105
130
249
36
361
300
208
847
201
367
506
155
389
176
485
329
307
105
340
679
109
155
202
133
389
330
364
622
294
208
226
105
247
513
202
367
592
153
653
339
347
262
662
791
206
585
265
444
266
355
306
152
158
22
423
516
804
229
99
313
443
361
99
264
222
310
486
485
551
254
522
728
147
216
302
113
339
286
398
347
532
272
546
553
498
484
106
195
586
589
591
82
358
452
79
493
497
233
206
443
684
875
690
247
418
343
466
125
286
248
84
391
304
172
143
534
88
424
414
348
66
442
214
352
114
173
447
104
165
795
85
136
371
656
375
200
204
300
121
488
375
691
521
397
178
196
240
243
292
313
361
343
373
84
122
260
168
148
304
471
447
299
602
182
370
211
146
277
410
459
138
281
530
157
258
472
123
632
119
325
118
388
495
451
280
448
455
557
527
328
352
265
75
583
522
147
217
303
478
263
365
255
264
179
136
218
122
204
188
829
503
239
211
339
345
187
386
544
269
282
436
268
293
249
469
459
211
219
181
122
304
562
39
146
282
65
517
376
365
143
182
499
208
106
427
205
213
372
605
209
207
433
279
86
471
14
369
353
543
818
355
429
351
37
365
368
331
264
444
450
154
334
568
383
336
517
192
119
398
329
495
176
614
125
365
187
321
306
230
230
268
449
180
260
438
282
74
502
261
173
504
407
141
305
245
392
338
462
145
497
392
509
502
402
166
272
244
293
710
345
390
160
245
194
204
237
411
468
102
259
161
208
387
107
313
188
359
316
64
494
256
150
408
235
419
187
566
594
345
433
148
498
563
392
651
371
495
751
303
666
336
119
130
398
244
233
454
379
882
288
501
350
447
152
404
325
308
383
533
556
177
229
507
26
394
307
215
373
265
189
193
220
480
490
306
206
68
491
139
582
182
280
418
101
748
223
487
250
535
163
165
661
121
392
320
415
339
192
53
312
213
388
260
309
314
166
341
325
703
303
255
292
304
151
383
73
393
389
524
133
563
441
430
299
879
533
415
284
405
268
225
359
190
245
108
120
386
407
387
565
270
299
73
71
379
462
571
166
646
67
451
222
130
430
239
302
465
361
212
346
450
279
78
360
177
59
634
426
155
647
474
804
175
298
215
384
280
669
303
246
300
45
361
387
371
557
563
91
556
76
322
225
262
483
532
358
266
300
378
355
432
485
397
17
228
231
292
282
300
485
790
430
729
264
302
221
198
356
340
179
579
42
325
495
328
787
239
370
254
278
247
427
428
500
375
69
255
501
196
554
534
469
301
284
798
515
510
444
583
96
329
185
184
120
559
138
273
263
494
401
108
662
781
180
345
716
209
588
137
70
151
137
181
474
497
214
168
205
299
311
283
322
118
274
655
239
358
361
163
128
571
114
250
196
331
322
358
172
509
401
79
273
220
539
289
266
246
176
183
351
832
105
188
184
106
404
87
424
280
689
562
315
490
116
313
404
474
263
318
175
204
159
177
39
339
269
197
349
325
463
624
239
396
285
257
609
492
271
306
92
476
685
544
167
300
99
140
604
494
223
471
260
452
194
622
123
341
527
696
621
81
263
800
387
477
168
316
331
533
321
739
614
455
453
52
473
265
630
271
524
501
439
114
734
383
304
220
415
31
489
286
268
239
105
165
248
417
247
55
370
564
168
228
546
272
237
419
560
617
201
350
246
374
194
225
32
358
352
72
391
500
184
145
152
208
273
4
496
184
85
198
662
57
387
468
63
478
543
208
196
246
270
215
596
77
196
211
368
524
100
293
316
207
66
674
365
472
565
426
461
477
342
57
485
402
502
309
75
611
30
259
891
628
98
293
925
141
394
243
451
171
483
551
513
694
138
486
359
357
143
1111
290
32
167
233
138
96
187
491
507
492
206
93
487
224
445
684
377
138
344
312
823
498
350
345
211
728
430
375
327
213
561
315
249
218
728
189
280
569
660
320
480
324
55
286
470
602
361
370
216
816
517
246
238
480
167
569
350
279
649
194
366
468
496
115
482
206
365
329
388
561
320
396
664
411
220
146
86
376
501
351
337
418
82
533
335
219
313
7
236
286
523
395
257
298
404
371
27
281
370
255
395
570
212
508
259
682
137
37
158
448
354
508
192
584
656
512
994
549
683
543
564
236
717
233
367
345
94
288
438
466
280
546
651
295
268
376
198
601
333
512
284
162
706
373
271
527
620
347
518
555
417
658
383
582
584
588
128
204
311
58
83
382
583
387
366
209
125
187
336
480
354
564
273
112
250
246
214
124
283
298
667
362
190
280
261
323
391
163
220
479
430
372
281
363
353
342
172
419
115
137
441
172
201
182
245
307
225
304
57
206
378
136
413
574
471
388
315
122
311
485
560
560
268
217
152
674
262
781
421
185
195
312
330
345
291
418
336
276
594
58
125
728
466
245
193
784
179
206
558
433
607
540
467
215
153
263
163
309
423
652
155
456
283
308
777
411
398
692
302
58
379
237
748
104
59
302
527
246
549
332
526
287
562
178
250
174
132
119
593
45
471
137
827
197
550
371
682
637
160
146
491
432
457
443
347
258
670
187
438
517
104
379
382
152
315
128
347
310
681
600
327
387
672
229
489
654
340
447
314
752
356
448
331
91
169
297
138
247
345
98
194
241
466
256
56
254
530
101
296
272
531
657
124
454
396
304
348
282
610
175
366
173
166
257
328
505
567
300
579
593
183
266
112
476
58
218
482
99
227
448
211
210
378
320
60
481
430
699
440
394
633
142
72
572
634
149
158
35
355
350
546
267
325
117
306
732
365
443
564
137
230
458
440
240
433
411
566
276
146
382
386
363
519
290
387
369
454
1120
872
310
285
92
314
571
538
525
264
162
254
1100
455
870
38
609
191
469
136
410
57
297
817
159
200
172
389
187
395
268
361
583
196
221
346
336
229
166
201
285
38
434
418
156
396
384
500
408
795
292
612
355
205
418
175
434
263
246
381
401
165
386
441
566
430
367
434
654
542
131
350
192
262
712
520
673
326
59
224
264
574
236
193
459
351
263
242
443
241
440
278
667
164
402
326
355
235
242
326
663
99
496
91
375
282
362
689
289
344
728
517
574
354
248
461
439
342
320
431
80
342
703
238
125
824
459
710
656
420
63
257
624
585
328
251
122
377
571
426
631
562
368
225
535
313
528
255
150
69
184
106
493
358
528
91
86
343
423
639
183
387
967
437
284
171
59
574
340
247
757
540
237
208
565
628
276
208
325
316
465
420
580
233
250
173
266
179
318
317
373
562
499
312
330
355
336
378
613
338
531
92
401
264
355
416
699
182
295
410
458
335
314
53
609
552
477
396
300
227
207
477
112
217
260
523
154
236
314
451
479
307
250
454
323
93
306
161
469
584
382
760
106
374
207
930
504
161
254
524
137
242
470
150
122
586
321
424
776
587
210
363
357
504
488
355
152
356
63
294
497
214
435
378
386
190
521
517
265
396
34
493
700
229
179
358
452
237
84
355
319
525
24
370
285
535
303
125
400
277
131
423
906
541
140
189
132
502
144
194
359
313
496
288
225
85
498
90
456
419
495
392
470
222
47
439
67
473
131
201
143
200
538
472
275
97
773
348
514
136
249
597
349
266
603
338
757
482
434
756
452
452
465
305
289
446
441
486
586
213
195
239
558
622
576
132
847
558
493
426
205
450
306
641
507
192
561
326
312
150
639
445
668
323
270
508
226
414
181
645
171
435
409
470
305
351
706
375
548
814
359
511
264
589
289
132
276
836
644
328
64
299
226
399
172
148
225
278
268
285
235
236
440
619
347
614
428
272
543
113
510
203
449
343
241
272
642
484
397
330
132
450
341
317
515
304
561
422
253
269
338
586
350
201
75
516
293
308
63
310
182
350
507
341
243
378
324
341
709
395
448
226
95
328
450
502
90
182
197
382
625
212
698
1112
212
148
309
240
291
455
184
632
327
310
238
298
211
230
647
281
190
189
371
322
175
115
368
533
369
360
353
608
683
452
301
69
134
255
466
293
171
1094
272
595
173
384
45
390
391
199
614
80
263
265
402
207
257
330
288
92
346
829
491
268
730
422
171
815
315
294
332
147
720
327
281
664
484
672
181
114
965
215
624
668
232
65
137
104
294
575
428
402
50
304
250
438
653
324
189
393
246
248
43
699
539
186
195
100
479
177
485
77
441
669
413
216
141
356
52
379
388
313
422
466
173
709
193
259
237
615
233
303
380
240
401
482
154
628
270
603
510
385
165
403
398
195
809
97
133
300
176
183
418
287
191
204
431
276
448
212
364
161
197
422
634
580
582
528
117
579
104
380
470
583
421
120
93
211
627
507
315
362
284
359
244
29
321
617
243
443
307
548
262
363
538
225
469
217
132
158
298
350
53
58
959
188
131
29
409
99
440
233
267
432
531
255
471
298
150
130
705
433
224
660
116
263
418
302
240
306
491
262
158
405
73
323
531
228
273
467
153
315
363
212
595
657
271
347
788
521
284
314
766
316
538
61
274
360
214
178
407
131
500
200
170
109
319
136
333
370
178
99
197
237
394
497
410
232
605
380
197
311
470
211
7
23
329
416
166
414
585
262
77
539
603
158
155
139
255
237
625
246
288
216
292
373
509
392
135
219
292
131
70
381
383
381
267
1033
361
450
295
784
371
395
598
207
222
612
297
712
343
81
45
550
521
176
246
412
305
517
267
502
189
607
568
109
172
154
408
220
89
363
372
355
577
558
489
52
77
809
490
126
437
250
623
461
630
363
393
737
250
482
493
288
265
238
117
716
421
114
303
281
555
528
58
84
96
835
286
250
769
325
493
319
451
512
512
48
342
271
260
680
174
418
738
377
340
201
210
312
297
59
175
392
604
286
345
309
476
484
335
212
688
715
787
785
74
414
300
63
675
243
425
574
702
444
377
83
113
162
659
203
268
519
273
351
285
131
155
138
525
173
262
1037
455
681
268
291
149
106
617
561
478
252
802
466
228
300
127
196
382
639
199
689
256
348
353
160
325
228
223
367
338
350
137
140
833
102
278
487
618
261
498
332
159
370
70
435
493
303
1095
463
540
299
269
633
478
585
284
360
450
276
405
825
565
536
344
515
184
187
225
115
344
182
683
484
197
106
266
489
261
573
489
645
454
202
426
323
225
18
310
233
282
201
345
525
270
443
429
364
219
382
180
422
205
426
589
291
665
223
454
289
464
438
313
575
303
501
568
742
320
485
292
257
116
208
485
342
539
126
222
232
157
374
193
394
233
201
58
389
102
270
531
484
288
196
274
348
194
377
593
91
266
431
478
287
775
276
367
73
262
648
221
220
298
188
555
654
393
317
543
192
276
457
230
538
450
863
595
420
661
317
373
509
356
228
278
419
319
246
791
554
550
172
366
382
414
420
566
422
498
78
450
479
208
222
567
748
359
287
319
337
308
169
279
485
331
842
364
277
98
837
283
313
202
610
452
283
326
147
622
223
489
53
377
325
334
80
276
319
350
479
189
372
282
288
213
577
251
98
532
300
767
307
507
450
844
417
263
405
196
808
87
551
152
285
440
689
591
392
109
204
285
241
14
488
236
285
479
818
197
221
403
312
45
598
503
233
244
32
319
439
227
262
534
429
377
330
289
722
212
240
372
710
470
196
287
324
77
381
516
534
319
231
246
457
140
289
622
373
281
302
373
514
532
736
697
307
182
488
428
423
369
305
179
288
685
573
278
16
717
45
243
585
353
312
315
311
310
238
277
578
314
485
424
233
409
462
755
224
209
298
621
123
216
343
358
597
163
674
492
281
281
372
397
538
340
596
738
247
187
391
202
426
299
777
473
342
206
77
135
168
555
300
359
427
128
256
499
423
279
166
246
289
409
117
576
395
264
244
527
542
591
711
66
717
62
485
284
590
79
248
112
234
463
120
62
364
674
244
232
282
600
177
546
278
443
228
364
554
147
585
450
33
376
476
324
665
433
362
82
548
514
444
377
581
484
394
302
297
253
258
394
276
212
82
501
485
256
285
302
93
319
135
123
337
544
539
555
750
230
245
326
132
98
296
385
202
206
71
318
421
173
229
557
123
240
251
290
355
150
443
86
493
140
165
324
490
235
477
179
632
625
586
428
782
393
518
365
317
105
343
395
301
748
266
161
400
282
297
421
420
316
340
269
593
235
285
287
306
278
88
775
59
69
106
296
610
468
311
460
320
326
363
378
250
229
897
409
354
652
296
203
192
161
611
221
370
503
140
110
574
689
367
166
253
401
227
432
398
206
302
112
421
417
553
600
356
227
296
318
581
159
361
488
654
69
219
498
383
100
281
296
267
504
246
280
461
362
540
586
364
160
496
627
34
208
128
287
595
300
211
632
274
401
447
205
311
495
475
218
543
478
753
292
352
326
222
577
510
580
503
288
473
436
395
493
363
332
215
631
468
133
318
87
347
143
138
445
355
175
384
377
428
205
209
476
442
317
514
305
245
73
218
176
610
517
417
254
233
484
360
165
328
127
215
814
574
196
330
425
517
470
668
220
299
218
333
327
204
69
137
280
62
257
412
599
398
427
148
477
263
378
259
240
433
480
252
451
106
620
243
384
338
198
610
127
321
252
256
173
96
526
213
113
652
248
373
526
344
352
470
247
500
200
354
776
349
510
402
321
130
287
546
466
644
463
282
801
111
253
646
152
241
354
367
563
78
83
355
830
536
184
203
737
305
249
131
467
91
435
107
523
420
611
113
871
668
610
333
589
224
617
725
364
171
380
184
367
140
258
566
221
84
621
289
46
757
202
379
718
144
197
607
209
468
50
444
337
429
788
834
282
719
189
522
505
216
715
721
421
169
340
186
114
422
698
297
226
411
315
120
499
846
351
234
389
95
114
682
487
74
303
357
460
426
363
276
246
142
440
548
542
125
74
447
429
250
566
565
142
509
280
176
567
490
176
441
773
244
113
307
819
512
102
544
225
572
356
906
564
251
376
329
339
166
330
469
813
317
303
264
310
126
261
332
692
254
480
307
161
954
494
142
218
577
232
705
339
515
170
81
160
318
594
159
551
370
251
586
748
603
338
468
207
329
348
588
247
315
376
361
273
540
469
385
279
171
399
366
381
146
314
666
646
82
382
317
298
160
380
329
203
211
430
83
604
182
75
196
258
286
361
361
293
527
335
590
413
344
599
366
260
328
280
456
714
485
590
177
130
112
242
327
157
214
650
522
476
428
153
490
391
115
295
311
200
356
358
672
131
307
181
532
376
475
224
419
467
551
645
133
617
526
252
550
371
799
427
542
113
126
138
222
174
265
134
428
108
781
481
335
576
121
583
138
191
512
62
493
435
582
737
412
287
212
411
99
340
83
255
448
450
241
251
687
110
515
222
515
566
365
331
156
783
521
548
246
550
330
203
189
373
413
677
300
399
679
124
211
394
105
188
308
857
282
145
418
133
318
307
364
257
449
203
402
506
405
275
138
300
312
394
309
356
370
514
393
198
280
659
185
257
124
196
457
376
568
361
316
371
426
166
309
428
538
310
193
422
466
134
317
429
320
467
358
138
334
376
67
457
244
273
350
106
314
111
203
33
334
171
631
144
377
400
892
214
452
210
153
660
226
217
221
218
286
315
524
80
146
173
298
228
554
212
87
430
225
360
341
480
359
247
194
395
379
85
371
349
23
808
265
396
314
271
439
389
752
811
152
623
74
353
68
245
534
355
165
448
617
332
70
285
86
270
244
338
156
472
302
268
367
462
49
205
109
609
186
395
235
770
405
345
620
166
475
586
168
86
190
816
535
689
222
407
89
519
140
722
496
169
96
212
439
526
590
117
67
444
301
439
249
120
289
120
330
667
90
431
240
527
214
117
380
305
772
632
82
372
156
115
544
432
496
331
230
221
91
125
286
394
111
135
177
324
380
99
131
636
543
831
190
74
637
113
244
354
430
459
724
401
309
650
262
702
126
322
589
358
204
733
679
484
430
62
156
147
722
238
284
449
142
655
573
710
376
316
536
175
154
141
791
523
84
329
359
383
825
874
516
55
521
842
118
472
187
549
641
477
567
242
940
27
449
299
336
484
214
513
284
329
480
281
94
442
325
665
108
115
282
475
333
309
276
635
174
302
363
489
293
277
375
316
533
340
529
198
357
326
322
233
288
310
396
568
154
283
457
493
229
341
522
101
482
126
702
142
479
663
657
450
303
179
71
363
454
533
711
132
486
400
135
253
211
72
320
217
193
559
528
288
398
297
483
458
296
20
273
466
466
968
159
360
687
33
461
301
264
430
251
162
391
280
26
216
514
361
548
165
82
132
179
336
130
271
605
270
483
340
393
136
226
335
389
679
657
255
240
196
311
350
356
241
232
236
266
126
357
624
796
154
444
286
184
351
449
727
344
778
484
180
226
501
488
404
201
516
343
281
240
349
339
386
105
162
260
266
263
327
125
384
225
381
385
245
65
193
682
156
496
152
66
290
526
438
257
573
311
140
312
159
412
223
688
38
144
368
389
341
684
163
382
297
538
222
618
183
271
513
835
188
353
114
322
212
178
495
200
633
314
199
106
174
310
491
368
273
281
318
436
197
428
257
79
844
202
131
260
287
210
249
384
824
238
492
741
303
239
108
118
255
227
103
687
682
510
339
509
455
197
362
170
140
164
116
616
553
306
293
298
315
458
385
351
354
499
217
112
296
118
391
758
656
261
237
535
68
441
151
356
77
461
401
461
473
498
627
222
117
427
382
365
264
363
416
439
467
593
132
507
200
300
290
217
265
209
545
675
224
262
418
387
500
467
89
413
273
196
147
121
345
489
256
345
146
376
313
162
566
92
517
204
450
572
281
277
253
111
489
244
542
304
432
642
433
175
270
169
364
314
69
306
601
233
467
851
859
769
72
266
664
206
226
510
302
380
294
243
253
465
294
489
110
547
440
122
383
344
601
232
281
440
375
113
430
295
229
449
786
239
736
671
338
637
283
574
200
295
315
620
235
560
254
656
99
571
261
155
346
359
387
583
199
143
60
274
398
391
195
467
453
342
323
138
439
174
492
365
143
819
361
134
346
775
307
327
257
515
19
333
781
381
531
529
535
270
496
149
128
546
496
495
107
360
369
38
321
313
222
434
656
557
234
614
627
125
156
382
336
278
178
606
221
154
185
117
406
214
228
591
339
181
547
457
232
647
308
166
148
447
229
294
533
255
143
474
225
335
138
436
345
399
53
132
344
45
384
334
608
144
634
395
761
533
317
344
368
237
195
327
224
536
1059
297
411
484
325
319
627
515
696
624
142
237
544
468
391
126
710
171
576
193
307
414
426
130
561
220
194
289
432
262
192
244
240
453
381
756
176
519
663
704
124
382
306
351
409
183
471
343
598
358
242
151
401
687
514
167
152
501
272
340
553
449
578
428
75
275
338
70
114
139
179
336
223
364
340
134
466
529
390
407
263
503
213
180
77
545
380
337
172
549
601
775
237
427
246
502
332
620
344
323
614
471
184
117
406
707
415
232
203
632
143
414
174
514
257
441
182
130
152
145
277
183
510
380
287
325
1070
795
244
182
590
525
464
320
304
310
466
178
437
344
131
277
99
480
418
380
654
377
258
184
222
601
428
465
493
330
95
132
489
499
385
42
427
138
355
483
372
626
308
274
285
530
499
589
78
459
272
46
267
190
551
493
190
42
82
128
190
286
169
404
321
129
494
205
661
216
142
99
396
422
247
225
274
154
73
221
588
192
449
208
229
277
370
198
286
809
193
407
487
743
407
826
583
408
664
369
262
380
199
199
184
695
310
59
262
142
422
422
404
474
535
142
466
121
417
361
572
399
115
728
387
144
356
1035
355
113
285
314
237
636
221
339
353
785
63
245
200
313
680
32
263
197
222
507
142
643
308
290
183
169
790
93
400
265
444
361
384
194
281
402
200
335
330
495
377
316
254
45
40
299
36
392
79
434
367
334
570
558
110
394
312
168
345
715
295
130
788
448
161
499
372
440
204
425
140
476
301
174
104
402
219
58
311
345
241
999
499
362
823
270
550
394
424
52
87
352
100
411
306
479
544
182
309
292
145
236
897
229
313
783
508
356
77
234
258
118
558
193
300
190
316
245
170
595
118
315
255
500
660
451
124
362
136
778
454
186
134
500
85
565
684
143
302
372
332
61
136
275
67
73
536
146
292
197
172
252
65
506
272
332
330
316
60
496
410
171
204
190
457
334
596
100
359
617
304
246
372
178
394
517
532
617
319
324
143
201
324
772
618
99
323
121
282
174
201
154
79
558
407
604
240
705
106
213
284
743
585
447
450
170
356
428
462
472
125
352
506
203
282
120
447
228
522
542
764
490
80
184
173
833
253
569
517
97
49
508
236
158
811
459
165
424
669
754
295
539
623
679
533
191
751
503
182
521
410
521
233
722
552
235
279
184
221
226
406
465
316
181
410
266
305
755
254
41
497
536
153
425
257
268
396
187
218
90
643
549
370
430
626
266
365
698
170
288
394
171
618
350
762
396
490
139
293
122
506
370
330
312
207
583
619
626
343
226
113
178
293
228
82
397
406
246
561
261
546
391
739
608
484
403
586
450
683
326
360
266
232
241
345
324
439
22
357
463
236
310
410
286
307
467
71
327
407
587
228
48
217
269
429
404
232
208
338
250
306
82
310
256
123
290
283
386
246
631
447
507
439
429
209
47
231
138
135
310
530
624
156
375
142
611
417
651
487
627
214
376
729
546
147
59
126
61
464
153
354
345
37
225
392
555
105
653
779
760
328
349
107
221
332
418
762
192
342
175
300
288
365
174
287
198
1029
528
621
504
247
443
442
103
513
179
320
380
145
169
236
313
302
524
505
257
332
160
63
610
618
492
317
159
400
637
523
747
161
123
487
164
407
523
560
443
122
725
682
532
202
163
330
702
332
667
686
45
402
304
297
536
245
320
624
800
573
187
394
211
104
174
334
220
176
124
588
86
565
470
560
647
363
199
324
651
521
130
298
323
445
298
433
349
123
553
878
71
164
219
721
279
789
553
89
386
642
639
187
430
666
222
171
829
99
301
199
680
321
217
377
411
177
271
598
241
101
301
368
552
203
422
336
72
288
516
749
272
272
197
351
319
302
155
236
681
101
559
381
452
338
207
429
258
221
282
530
104
183
70
333
168
112
265
542
104
234
289
536
304
1042
411
452
671
458
310
260
188
50
231
349
692
330
161
446
269
228
416
510
372
153
234
225
537
251
834
244
368
317
366
307
468
611
766
421
153
344
533
407
306
168
180
264
345
500
379
156
327
230
49
784
254
568
614
223
854
306
158
764
573
549
666
334
452
338
504
290
388
295
676
150
281
607
225
777
267
239
702
600
457
330
193
430
729
339
270
658
425
171
693
597
465
460
357
400
283
489
737
222
166
516
318
650
300
417
700
485
289
158
495
303
585
562
252
238
231
819
559
223
393
397
205
119
436
204
363
104
469
292
478
422
529
343
220
376
655
440
64
746
162
580
219
326
263
403
428
56
355
188
432
239
802
357
650
36
769
352
518
231
272
798
583
219
344
613
88
625
526
231
273
409
358
150
445
167
153
160
299
8
530
336
438
343
238
337
668
514
380
371
185
400
403
69
628
63
226
870
289
354
349
413
298
119
103
487
335
629
90
354
404
296
541
566
483
398
299
492
185
58
294
549
272
187
438
315
399
296
349
195
486
562
144
399
443
254
364
158
310
145
214
632
355
275
125
487
452
331
133
470
173
657
370
331
284
328
157
215
327
336
342
425
632
902
101
450
489
181
202
435
434
677
238
293
52
373
394
246
704
193
474
231
711
93
223
411
288
487
162
474
198
253
677
408
315
585
400
282
479
571
196
206
362
162
362
489
163
191
454
149
298
405
259
579
45
343
595
444
463
126
160
220
546
379
368
792
408
68
675
270
287
514
129
187
314
714
124
409
571
665
513
138
315
385
594
411
782
567
490
149
352
163
89
415
205
443
145
370
160
290
434
351
743
142
430
140
323
270
500
656
494
641
235
213
292
309
476
123
298
218
291
57
126
255
503
232
472
154
301
289
357
266
76
71
162
239
290
501
456
638
209
182
374
538
424
717
370
320
270
419
395
729
222
331
145
285
206
298
344
171
245
217
296
225
815
604
90
378
544
325
278
488
452
104
95
265
100
585
84
449
143
536
603
492
430
183
413
403
556
239
234
70
661
727
303
286
518
353
289
316
221
374
443
460
62
369
343
212
458
159
137
87
563
702
260
621
332
436
150
463
92
198
284
273
230
57
800
366
797
85
742
383
251
244
208
202
636
355
258
504
112
555
500
266
613
388
216
38
254
98
642
345
263
205
332
405
407
415
551
170
132
469
176
786
345
327
244
396
62
235
523
27
399
246
218
162
372
467
389
342
290
589
166
501
33
105
158
383
244
427
220
548
319
319
429
383
474
325
171
578
673
134
443
154
124
212
381
229
63
483
278
410
428
651
301
543
554
333
580
216
300
487
228
245
101
63
100
357
83
336
100
57
107
148
533
284
339
563
68
316
407
539
398
618
49
496
384
119
817
98
708
476
159
196
429
625
320
321
460
584
72
98
319
595
185
457
246
459
642
254
42
919
465
477
506
615
499
375
37
128
478
325
345
684
334
189
385
445
126
474
392
504
241
217
304
571
276
269
258
385
165
378
203
227
95
335
161
363
355
468
586
118
81
443
109
174
167
226
434
138
395
367
60
474
152
85
494
400
301
506
450
382
80
237
630
542
563
541
253
427
39
475
342
319
263
409
345
306
206
120
255
192
568
517
682
319
283
143
503
335
170
207
749
462
576
563
439
317
100
199
266
599
82
842
423
329
794
252
49
393
758
191
216
793
591
357
205
263
150
352
532
219
346
417
677
167
506
331
341
389
303
282
142
516
234
139
199
330
380
448
152
81
248
239
371
196
354
478
657
433
401
290
280
215
135
183
332
525
415
288
90
1047
298
249
361
523
132
26
294
634
170
499
488
350
111
495
334
98
486
510
396
637
131
123
508
250
108
121
591
353
497
424
791
338
749
243
314
187
496
498
227
446
167
626
446
391
319
671
184
171
238
226
197
214
529
242
633
187
560
131
340
261
250
322
246
84
52
193
568
466
231
90
416
359
486
633
249
310
275
348
297
53
672
329
69
513
140
443
372
435
89
123
167
410
261
238
333
368
395
300
490
608
284
807
531
125
280
557
165
594
577
460
231
291
440
650
497
317
171
204
270
253
399
177
132
511
384
437
399
485
334
510
355
395
302
498
215
678
369
217
192
133
311
530
479
233
295
156
185
543
707
427
280
684
75
310
87
469
307
418
561
429
223
373
372
572
375
695
366
283
591
315
156
144
807
662
293
610
205
88
324
187
533
545
594
555
217
652
176
407
626
25
678
345
233
506
339
81
160
611
207
297
427
605
238
384
220
273
585
290
757
184
585
558
216
389
857
801
409
230
158
355
383
579
601
315
209
263
491
526
417
87
417
76
102
109
251
227
613
327
74
403
590
710
256
755
423
112
443
301
287
415
287
532
392
91
733
267
355
295
357
126
344
494
298
124
77
554
573
140
486
373
253
659
398
386
589
498
301
271
469
532
267
156
224
369
986
161
178
181
232
499
685
298
789
43
364
74
159
366
303
161
261
388
369
218
128
205
566
253
412
138
562
256
468
128
377
590
676
577
636
690
92
268
81
548
564
161
123
322
431
545
267
273
460
119
544
508
223
62
137
170
429
651
563
361
312
379
500
303
255
456
540
190
365
464
109
185
564
390
224
368
443
85
361
718
385
578
414
366
199
67
539
442
482
310
237
740
379
139
337
486
452
536
83
587
624
372
494
314
199
361
202
280
335
498
254
638
472
292
219
246
786
273
399
294
441
415
507
172
695
604
160
372
285
474
493
229
376
134
340
343
377
130
296
372
151
248
314
170
540
252
308
560
224
754
428
586
622
68
392
417
476
176
767
378
481
508
664
303
617
340
300
217
157
239
384
372
274
355
546
453
693
500
279
522
363
249
567
267
190
300
246
826
71
177
508
186
122
283
317
361
412
129
193
177
475
325
520
299
805
254
699
202
377
123
291
316
246
477
247
566
394
308
560
341
389
410
235
618
588
172
112
260
706
333
540
383
602
63
655
196
323
274
495
325
366
29
621
496
263
726
293
444
379
233
212
270
481
529
208
767
194
87
267
449
725
567
235
452
359
300
591
141
487
216
223
290
222
619
72
129
554
330
678
186
65
194
184
769
46
469
451
443
585
355
168
500
441
338
535
78
121
137
609
514
261
158
336
94
142
194
458
270
141
92
611
587
110
232
341
688
377
509
156
431
370
391
666
596
69
625
381
381
88
513
698
565
459
428
448
407
89
453
233
704
61
194
549
217
618
441
497
284
494
247
583
105
278
300
360
398
444
424
540
487
401
368
657
308
310
330
73
427
160
87
318
215
203
651
437
390
188
141
56
292
166
250
468
167
443
449
682
90
235
121
246
431
145
429
86
751
305
269
424
472
419
384
834
492
417
819
136
804
877
470
115
216
119
254
268
164
77
201
431
746
189
696
287
352
281
433
608
822
117
705
291
379
400
220
668
483
297
238
98
251
309
187
279
559
63
772
219
172
611
500
543
711
479
690
531
520
190
71
435
215
392
468
209
488
383
42
403
532
518
663
308
660
456
263
415
354
562
466
127
723
417
222
303
322
566
548
182
422
177
705
80
293
505
486
502
310
536
767
335
520
408
132
69
247
307
556
247
322
142
319
852
382
131
553
339
576
194
592
320
218
367
447
33
311
357
627
344
487
427
875
425
514
394
210
220
273
110
409
337
321
365
642
496
245
539
522
178
143
410
304
188
384
271
779
287
303
92
360
213
408
123
265
96
244
484
286
563
246
131
293
638
183
196
399
209
437
329
501
642
319
131
96
261
501
581
327
434
150
267
554
244
34
617
443
645
445
501
435
182
293
296
577
378
439
129
66
525
275
331
570
345
542
35
618
235
580
447
310
175
397
347
210
285
750
508
387
113
670
298
103
567
546
274
398
363
36
238
388
351
575
431
228
460
534
624
457
436
285
427
274
88
271
116
184
89
448
267
224
459
417
173
618
135
153
193
396
182
173
392
107
350
559
262
378
324
260
302
133
162
657
299
672
565
155
212
419
178
345
268
247
528
130
227
336
203
287
221
22
161
155
450
459
168
387
380
484
262
418
507
256
100
293
136
400
600
351
453
443
629
168
879
253
372
412
551
225
538
86
206
408
250
56
213
426
447
483
109
242
686
661
50
238
335
370
513
365
615
570
526
497
322
136
331
583
779
208
198
518
220
286
41
410
360
223
201
552
312
628
559
220
40
600
447
384
244
162
530
440
590
119
189
110
344
111
631
276
404
484
303
218
205
164
297
362
517
83
356
468
302
314
224
559
299
451
815
373
95
195
227
222
316
238
413
391
482
905
349
555
266
249
336
46
683
204
371
351
450
245
466
536
163
751
609
211
829
99
425
181
575
388
485
166
447
467
182
491
816
240
414
457
439
92
415
342
484
363
401
77
416
627
87
222
479
197
162
89
480
335
129
149
504
248
204
850
314
68
215
319
181
859
625
307
207
205
85
392
553
258
177
458
811
676
352
211
136
23
740
494
55
395
276
98
750
438
323
570
589
439
171
266
376
144
567
382
561
195
191
142
287
177
474
648
351
382
102
347
211
590
244
366
339
790
269
261
127
446
290
427
283
362
317
310
193
255
319
172
276
453
54
261
266
551
367
229
217
546
175
290
543
272
418
252
486
273
179
353
810
194
113
262
667
600
610
585
660
497
424
573
219
406
467
190
64
188
461
208
385
497
176
335
255
130
156
448
567
453
365
367
367
246
734
508
225
403
216
854
189
249
449
522
60
325
72
201
550
166
443
173
146
111
415
43
598
113
168
439
353
304
339
23
358
609
647
468
249
249
67
522
156
224
283
405
166
281
857
471
201
310
621
156
393
362
391
447
472
168
365
457
166
327
107
753
167
747
268
240
160
215
128
197
264
251
404
408
253
284
114
246
212
507
380
452
428
258
202
218
572
58
277
632
268
231
451
443
70
197
464
383
568
32
53
449
76
114
117
225
259
200
406
469
235
509
239
695
368
300
424
486
252
250
62
140
233
71
157
616
246
394
554
153
568
199
622
419
515
487
140
606
235
551
219
161
238
215
327
400
342
330
546
655
614
543
665
578
210
351
753
294
109
99
574
425
533
718
480
66
321
427
657
901
761
115
479
403
206
571
656
191
446
328
318
824
783
437
64
414
128
118
200
477
182
249
631
546
729
153
93
229
139
287
337
523
351
338
120
396
99
248
150
196
173
492
244
322
57
279
519
680
156
381
322
426
392
139
534
243
342
183
180
690
306
375
412
824
320
153
156
119
268
796
165
108
394
565
347
165
262
43
50
267
260
435
568
609
424
148
636
139
429
251
668
540
547
575
111
203
62
257
323
131
452
583
271
451
366
361
600
283
184
205
342
416
515
334
330
243
175
678
212
378
465
10
445
193
327
321
287
299
306
418
661
454
397
207
421
264
553
379
387
459
487
486
240
375
117
440
266
494
784
721
33
465
267
131
139
305
590
490
504
218
30
305
648
643
294
376
226
62
376
503
161
218
132
221
755
456
176
733
512
387
480
307
306
364
504
213
441
839
447
361
333
560
554
368
266
922
159
418
298
415
212
377
585
108
58
327
401
450
417
620
356
353
385
390
528
515
278
122
614
540
93
516
275
444
338
339
330
171
194
383
493
522
169
443
515
113
808
436
277
476
382
638
318
502
197
239
160
89
399
192
203
565
465
282
526
356
655
765
363
285
309
409
265
493
344
302
631
391
165
275
255
392
184
489
641
319
289
640
533
160
359
593
452
342
307
101
284
610
269
219
303
507
322
290
22
271
601
77
444
223
610
140
209
422
529
137
423
206
479
488
400
545
567
475
56
372
565
618
123
404
304
347
427
474
167
147
404
179
266
304
224
104
176
364
421
539
641
287
111
166
280
560
585
418
513
333
218
611
255
98
238
310
390
600
290
729
254
665
455
494
144
358
133
66
190
150
289
120
359
36
238
89
668
220
549
710
214
438
583
539
341
241
397
394
616
230
331
199
601
218
363
248
292
415
646
196
664
311
293
393
300
73
178
194
455
407
326
286
123
377
161
63
217
469
449
212
197
15
446
145
416
339
587
315
338
588
602
179
307
220
398
281
374
385
99
242
280
528
59
73
95
231
361
297
307
252
285
178
497
201
469
831
236
247
117
97
252
588
154
291
826
378
428
293
155
406
382
631
287
78
227
330
502
262
451
147
238
481
387
280
539
616
161
213
492
208
274
399
497
567
134
462
403
192
197
440
541
99
73
128
298
438
318
253
331
340
297
270
449
596
550
561
200
272
493
230
373
584
313
115
224
363
338
153
45
73
303
325
231
642
124
490
246
376
285
492
324
471
387
341
473
203
195
37
186
320
762
172
297
141
382
453
477
229
389
560
362
559
478
567
207
304
904
318
265
524
42
181
333
333
75
334
709
73
811
239
260
840
146
199
558
462
159
731
254
435
407
249
519
310
394
468
37
296
316
258
240
411
144
244
797
558
691
416
554
377
175
200
408
189
95
279
350
267
314
295
279
281
173
391
296
482
120
138
149
184
359
230
274
205
513
686
79
222
296
672
444
520
344
659
402
479
30
232
605
376
370
270
593
70
423
235
43
340
1109
141
596
207
425
154
207
144
289
133
289
221
285
315
505
377
328
550
197
386
310
413
564
360
567
304
367
223
353
226
643
348
574
299
83
439
534
447
844
556
154
458
379
162
431
477
557
614
255
161
275
291
387
49
596
381
288
320
584
55
259
203
206
513
298
128
397
302
433
121
676
102
490
359
254
311
53
434
341
308
469
356
338
467
678
155
438
334
498
386
58
569
579
397
723
523
777
496
145
224
94
193
214
679
282
244
110
307
85
543
336
402
476
256
288
609
455
545
378
434
221
582
391
456
305
224
227
206
124
489
499
90
862
411
135
163
254
362
166
432
291
302
227
326
224
330
408
273
289
668
383
235
153
635
318
293
34
475
184
90
672
547
151
228
39
620
302
548
213
474
514
393
267
168
347
265
210
595
222
148
78
341
92
298
526
604
231
272
221
622
268
396
692
603
458
689
71
372
500
280
170
165
384
249
166
389
682
525
385
250
484
789
128
451
246
217
561
157
517
373
297
457
866
149
593
573
705
403
352
77
424
296
613
200
130
240
469
372
472
133
519
127
785
100
263
632
403
260
551
305
276
212
769
447
483
198
308
308
523
421
116
322
592
384
341
139
276
284
464
446
728
231
325
656
176
485
129
396
248
472
368
331
447
481
99
336
461
538
257
561
301
394
351
481
266
274
386
899
521
362
569
172
125
211
533
407
185
235
453
379
231
209
600
335
139
427
238
31
225
370
457
397
217
703
268
454
321
569
144
368
125
370
51
287
511
81
109
141
328
66
440
337
434
181
207
533
268
239
316
63
112
476
357
85
290
457
643
703
472
146
599
299
252
511
593
426
238
382
311
202
839
171
201
112
219
157
400
234
613
673
162
321
306
347
412
156
311
90
688
599
245
514
366
252
193
453
175
275
84
152
366
177
120
448
866
592
373
465
212
271
223
85
150
458
278
402
419
294
305
164
340
414
488
91
254
557
322
480
474
377
270
674
569
171
250
428
415
486
544
168
669
197
450
472
545
330
353
513
731
102
403
524
486
442
378
309
441
194
404
196
260
161
408
163
109
603
200
43
360
365
386
499
280
124
129
617
206
313
597
625
272
217
276
241
196
88
336
304
510
205
465
273
454
57
213
494
312
109
620
203
207
240
738
427
566
314
867
296
377
549
445
94
278
424
750
213
675
259
298
780
209
418
109
278
136
102
1077
175
337
95
75
366
200
371
255
424
326
371
397
300
90
204
338
573
363
355
428
511
204
686
407
238
356
257
342
262
310
376
412
317
523
83
175
56
262
702
458
91
212
526
274
184
821
362
503
440
279
207
208
433
326
675
726
387
703
406
289
146
219
115
379
104
196
332
309
51
119
359
197
403
186
108
572
243
485
419
503
694
348
839
181
270
148
144
189
669
274
554
409
432
614
253
535
179
253
356
478
282
306
614
420
452
341
311
79
411
311
244
260
458
186
264
365
810
315
210
59
140
750
672
217
174
89
164
545
447
563
439
212
454
667
85
557
313
324
91
395
334
278
509
659
596
626
565
140
145
236
361
824
333
303
286
106
617
220
213
510
367
167
325
126
581
568
318
166
322
301
183
605
177
507
478
289
100
830
519
285
456
239
179
402
465
452
149
143
241
514
70
319
498
122
667
188
542
475
197
346
498
72
164
330
264
149
86
146
591
408
152
204
617
243
383
206
277
372
499
19
41
573
317
637
351
52
269
372
200
208
203
623
223
209
388
715
222
551
260
38
471
839
516
305
672
280
300
308
332
294
128
252
154
152
78
258
283
160
113
129
232
440
381
399
658
157
265
61
130
44
158
384
73
158
434
355
628
235
199
189
599
461
438
522
256
65
832
385
541
490
393
554
301
122
446
435
405
787
414
107
441
127
362
369
336
645
308
786
579
414
549
96
168
282
480
79
82
434
251
626
626
263
70
193
657
520
465
602
418
432
198
258
290
194
293
66
279
782
227
264
491
346
690
492
746
295
81
360
647
460
627
447
684
498
433
105
233
506
401
739
237
648
325
143
512
517
373
632
192
246
504
59
169
146
304
211
160
457
361
461
730
191
516
232
712
429
137
436
263
917
211
359
353
453
488
233
419
395
148
225
475
321
248
73
384
129
487
168
265
338
329
646
526
634
412
70
531
500
307
566
223
149
263
284
183
400
465
567
236
146
235
274
253
61
650
58
439
217
47
607
31
532
361
669
440
457
360
223
531
96
229
659
575
217
463
541
298
57
459
547
190
187
310
109
242
452
583
540
115
473
332
572
421
545
494
387
236
875
345
244
409
487
582
341
83
251
554
378
508
148
378
545
412
327
412
459
449
763
75
523
273
315
798
253
350
596
621
180
202
293
196
509
479
376
353
470
398
714
118
209
329
38
274
440
129
164
385
681
572
327
171
166
532
252
663
353
382
342
789
63
445
227
722
248
102
576
159
53
384
291
242
304
75
149
691
458
223
836
409
636
159
130
88
444
126
240
161
456
252
690
98
295
545
550
346
812
439
136
520
715
288
498
789
761
220
91
404
728
678
336
408
199
70
118
335
225
522
84
598
208
255
485
498
328
499
521
427
216
353
175
190
332
430
533
73
366
233
444
543
331
144
494
345
516
318
106
316
465
343
504
442
211
90
268
115
615
541
115
643
47
77
402
223
225
744
401
337
488
799
254
141
291
453
267
446
145
637
154
356
324
217
482
147
210
220
387
139
458
218
293
382
256
144
214
512
340
625
470
483
385
186
321
525
290
510
331
276
290
396
377
319
507
481
247
409
554
318
526
238
290
476
107
498
142
491
451
129
287
248
221
117
348
252
212
148
384
313
259
633
350
282
291
507
410
730
479
488
289
386
244
338
583
860
11
89
330
350
268
361
83
87
270
149
403
387
517
473
148
201
510
478
352
226
347
536
389
315
263
288
38
126
119
326
463
398
328
740
649
381
285
391
178
544
313
381
475
743
397
525
327
303
172
568
731
32
465
505
733
285
347
338
308
276
177
301
231
536
434
502
485
788
227
605
83
459
820
717
492
397
70
362
424
430
401
549
651
392
492
316
48
259
512
59
507
257
175
431
276
224
648
258
213
149
336
252
46
331
296
225
250
164
451
373
560
110
213
533
210
241
336
170
343
203
575
537
167
900
91
161
166
257
532
333
240
468
499
456
435
50
261
207
330
348
294
291
633
459
318
72
362
74
160
23
269
255
208
182
382
233
324
493
298
533
486
62
383
583
590
495
540
431
391
611
362
269
718
318
454
187
579
170
315
213
497
99
283
94
390
196
154
535
393
334
663
276
123
123
334
154
255
263
174
405
485
674
140
325
337
421
534
409
586
493
256
677
525
483
52
171
146
142
506
440
523
445
628
68
509
364
537
582
426
869
425
68
366
262
272
332
662
133
678
18
267
41
217
548
117
76
519
308
104
638
222
352
544
454
145
309
415
466
443
458
378
478
189
54
432
173
213
612
57
571
228
420
395
745
203
162
212
259
528
144
573
446
748
542
183
496
391
311
139
505
81
724
309
566
177
114
72
531
557
52
297
321
704
251
448
278
186
216
272
209
290
568
225
171
115
107
304
354
51
599
191
462
359
345
595
265
189
181
133
318
425
93
125
185
224
403
360
534
176
58
425
408
416
229
368
126
737
620
253
383
106
604
125
287
176
229
286
490
364
269
270
225
215
228
273
371
40
181
524
494
38
114
254
400
681
516
423
520
49
424
373
371
546
41
214
214
438
419
398
262
339
36
575
289
482
327
350
234
149
541
365
130
270
413
388
265
368
196
500
274
608
377
347
240
417
598
618
605
625
123
318
45
672
443
76
773
575
469
278
267
340
191
221
138
200
34
789
451
305
312
490
105
175
306
288
355
204
127
468
713
622
325
108
830
339
412
158
206
329
419
317
408
649
475
151
66
506
58
82
282
726
501
437
502
489
863
270
427
200
449
697
574
511
230
96
135
304
99
405
245
291
344
588
339
865
433
406
282
760
62
218
463
351
411
507
434
440
159
364
760
282
454
403
690
378
313
102
490
479
226
368
97
400
434
594
274
172
332
200
380
381
297
368
114
660
247
265
328
529
294
668
155
244
373
23
438
668
361
523
544
279
564
11
552
498
464
491
267
134
461
191
359
135
438
632
318
142
734
901
491
191
374
227
406
411
94
696
226
92
283
488
470
745
300
530
150
283
833
598
987
687
318
259
184
366
286
350
551
217
30
396
474
377
308
376
429
293
266
552
524
347
464
105
691
357
538
757
97
500
174
121
599
750
494
299
132
158
189
251
505
212
228
89
450
288
292
246
251
504
394
344
704
54
652
462
153
519
419
382
202
136
334
537
126
291
342
107
99
482
135
256
325
1030
592
324
325
594
471
97
282
442
520
569
834
300
307
333
662
186
428
668
271
437
428
486
143
466
479
446
97
477
512
654
285
708
492
254
107
115
624
411
493
383
367
292
117
161
297
281
96
214
214
454
96
288
515
336
525
70
254
236
106
219
208
369
290
347
368
554
495
73
547
199
185
276
549
240
67
475
192
106
193
294
368
123
246
572
162
118
191
282
755
437
576
263
558
245
171
489
291
501
41
254
307
323
275
163
240
679
213
377
667
281
152
641
719
184
590
500
59
525
58
303
137
274
33
206
450
370
411
284
219
408
290
306
390
729
436
324
286
154
207
411
423
172
465
543
169
731
375
257
449
477
330
139
183
244
526
73
179
269
162
244
152
320
275
243
209
250
163
16
326
519
673
174
249
97
154
624
38
228
239
254
147
757
418
440
590
256
114
194
831
246
136
326
121
616
257
693
429
331
222
379
299
469
102
320
417
342
196
526
332
378
266
241
112
317
53
215
122
613
586
233
72
398
51
520
277
381
221
50
168
123
267
394
479
267
350
664
137
464
740
420
293
360
254
215
188
232
685
486
244
233
188
476
272
377
449
77
380
264
357
369
436
227
222
534
108
287
326
71
297
329
333
445
166
433
343
381
367
204
613
70
97
488
558
39
75
63
583
521
129
434
295
487
471
331
260
314
474
129
229
177
291
362
188
589
303
673
632
792
286
522
235
623
257
520
424
464
80
197
602
100
650
282
193
127
369
172
311
196
111
483
420
168
524
326
457
328
52
92
214
517
36
335
185
239
226
653
350
205
395
342
498
619
149
242
822
698
133
350
140
545
406
177
240
432
595
50
564
235
57
632
434
37
495
247
326
436
848
319
347
462
203
537
143
135
26
665
237
778
310
63
387
166
667
338
392
160
596
650
211
281
183
160
414
76
89
550
389
381
457
250
361
408
150
314
211
125
296
458
510
509
562
483
162
256
865
56
264
770
106
402
243
585
475
188
334
368
478
407
461
73
231
378
291
88
533
195
526
179
417
562
399
497
241
172
220
109
300
399
515
254
750
311
115
530
255
497
423
482
186
235
214
511
256
511
519
132
383
430
192
638
508
205
618
334
467
223
270
444
486
499
522
337
518
286
493
324
241
92
532
111
520
552
549
57
398
279
23
435
150
297
409
266
151
601
295
66
115
326
245
648
289
150
430
887
88
188
295
660
892
289
524
448
298
389
421
336
458
443
267
242
257
160
98
567
225
483
595
662
419
357
473
457
483
261
513
690
220
371
738
258
495
395
433
387
377
342
178
567
205
274
322
73
233
308
494
561
352
347
399
193
225
698
295
76
116
569
301
374
618
171
328
117
185
220
608
297
666
74
122
368
106
533
341
147
613
246
167
258
165
308
294
76
485
308
288
125
343
251
136
741
261
524
450
88
106
11
74
227
224
716
434
101
200
54
399
415
260
64
507
156
485
265
638
372
835
476
146
398
230
516
323
511
108
391
404
716
379
78
490
414
373
339
264
689
268
551
215
254
537
176
396
501
366
192
136
91
139
212
543
684
101
520
363
492
472
481
444
378
453
472
144
530
529
433
134
279
70
212
407
420
474
81
367
442
139
91
259
339
252
336
335
235
246
36
320
354
663
629
288
383
515
393
549
423
341
257
343
144
194
61
369
526
520
269
170
543
218
457
268
414
59
56
322
407
402
431
356
460
241
554
453
414
751
703
475
121
491
266
371
144
366
222
274
299
394
22
227
493
347
36
238
457
326
572
48
266
738
286
226
689
373
633
68
567
265
128
641
201
449
155
276
385
394
123
248
140
374
96
554
62
257
404
16
130
391
309
409
182
316
534
213
202
440
285
644
909
457
288
318
242
221
595
548
354
84
612
428
430
22
898
167
136
411
168
174
198
341
112
353
255
352
479
390
230
128
45
226
437
65
430
459
374
99
322
74
444
520
189
180
233
416
489
222
636
439
334
793
114
187
190
255
250
201
60
66
491
703
172
425
179
401
374
823
11
213
492
286
219
318
493
537
240
123
333
202
171
203
338
61
200
236
340
709
527
368
342
557
108
493
81
174
345
129
95
77
346
121
214
735
151
558
230
223
247
373
450
142
435
89
367
464
203
475
242
620
641
232
68
165
215
331
555
492
315
670
463
340
338
736
412
255
404
533
180
569
159
624
13
350
79
350
352
655
141
128
270
315
469
525
204
229
817
256
68
495
227
627
167
237
157
776
147
85
393
176
71
358
531
330
239
350
300
246
202
557
232
580
343
268
401
474
483
81
586
534
162
892
429
236
589
553
393
177
535
706
223
135
144
143
372
218
107
245
420
253
312
360
762
248
296
155
208
157
302
488
266
541
243
588
511
862
599
525
519
285
370
462
355
120
169
344
168
308
167
418
338
223
386
510
268
575
178
337
37
243
291
115
240
160
38
289
485
175
38
394
618
381
83
110
159
452
406
739
630
913
657
250
50
353
286
896
337
143
335
449
38
427
624
476
505
309
319
173
418
393
298
525
331
560
524
477
277
327
395
396
305
465
343
263
611
220
507
262
187
506
58
600
414
170
258
315
293
316
337
335
350
286
113
440
145
24
296
282
213
403
638
215
442
161
194
609
528
515
251
777
205
301
427
374
324
86
762
282
182
540
570
592
553
348
265
357
158
483
442
294
456
280
730
287
379
39
252
104
136
446
139
462
467
471
472
484
349
249
575
262
684
88
63
58
228
684
342
125
417
323
168
305
399
152
438
442
93
628
389
211
263
314
383
153
283
160
478
388
715
155
361
129
225
330
660
191
369
243
453
196
734
230
535
91
185
612
220
362
482
96
88
524
664
146
634
390
148
469
489
171
105
131
355
639
336
218
146
482
536
396
306
369
158
436
186
202
703
460
282
233
448
268
291
345
792
200
44
326
76
313
583
245
320
691
197
146
380
505
77
485
198
409
59
92
139
627
420
215
252
602
351
615
282
264
125
200
320
278
596
299
222
102
126
350
147
511
79
272
617
482
346
206
743
373
252
34
126
634
285
142
235
318
564
677
166
467
118
509
486
186
141
340
323
291
170
617
527
218
371
206
104
113
356
553
290
398
59
280
428
541
138
311
235
347
374
225
294
571
696
335
140
315
210
193
324
436
324
104
614
394
494
58
448
359
370
309
583
417
245
553
167
624
87
627
198
43
287
380
334
262
389
310
503
452
483
186
488
101
108
449
564
297
439
426
99
206
288
141
300
244
541
155
377
494
555
189
258
367
39
199
56
540
584
210
75
148
482
332
290
100
194
522
268
355
134
483
269
320
537
177
529
324
147
58
136
82
327
263
253
302
607
604
628
463
682
470
58
425
342
291
771
501
599
37
424
623
258
379
89
319
189
389
281
259
213
487
754
184
594
369
287
575
145
367
557
696
277
301
232
300
420
357
418
454
307
555
590
18
307
257
277
426
369
242
478
473
575
179
903
427
291
91
457
579
280
751
127
227
610
583
257
702
358
342
307
645
177
340
53
276
281
485
44
411
106
87
382
95
621
415
317
448
802
132
327
105
222
333
535
541
257
613
314
134
101
343
380
627
477
374
427
325
207
514
433
286
200
282
240
261
273
317
212
125
506
195
204
571
336
372
445
194
750
48
676
314
315
522
317
233
326
489
786
402
490
104
412
552
469
87
235
423
570
180
634
408
203
108
73
342
228
398
257
729
240
378
818
807
387
81
181
55
600
490
171
389
717
269
65
406
283
244
101
434
138
260
417
593
400
495
324
446
572
248
257
341
463
311
147
286
127
555
322
62
289
161
108
252
521
109
46
675
566
241
76
101
46
530
397
419
492
515
180
594
178
117
155
505
260
421
120
447
52
103
246
547
258
345
488
673
222
108
619
155
540
542
215
332
162
141
329
113
537
754
399
473
516
530
518
167
530
419
692
86
250
96
247
354
501
108
517
374
318
368
492
470
624
185
123
83
885
446
86
326
268
614
409
163
366
205
78
358
224
184
676
101
314
603
141
441
279
171
258
352
221
386
722
272
240
347
240
494
340
428
238
301
302
207
870
303
498
399
201
205
238
446
157
740
279
175
290
266
228
327
670
146
78
115
534
224
285
268
598
95
393
591
611
752
22
460
407
402
89
517
249
415
220
753
172
290
328
216
193
83
815
329
80
459
394
124
248
421
606
332
332
350
96
361
108
549
416
428
175
396
777
180
555
685
93
279
57
557
207
753
355
397
357
131
283
345
191
404
564
514
151
145
892
298
351
326
176
408
309
98
378
411
353
326
463
228
284
443
268
417
202
573
247
527
138
250
450
557
264
342
748
487
166
690
363
648
578
706
508
525
479
93
294
293
322
248
497
718
433
426
256
289
607
488
229
467
285
269
397
278
654
491
267
149
287
59
350
176
289
291
574
198
766
431
257
40
159
297
309
340
213
553
568
594
548
172
522
391
79
127
453
707
432
136
343
240
44
348
274
151
486
503
225
296
455
271
439
361
629
147
824
596
34
165
385
461
550
38
276
277
745
335
83
249
354
383
330
656
229
447
229
185
229
542
440
480
291
482
32
381
338
490
166
702
443
191
462
150
610
129
326
287
423
615
398
364
545
441
280
327
216
146
323
361
251
162
76
256
27
491
359
415
819
644
198
527
282
171
259
407
433
174
332
474
372
442
527
326
251
324
138
293
525
524
225
95
171
89
113
97
377
294
188
108
638
404
258
466
312
281
208
378
74
194
476
286
129
407
351
165
413
309
373
366
642
276
269
314
469
586
444
222
281
197
283
408
274
206
196
197
56
75
138
87
362
121
456
310
136
1009
167
189
396
381
581
474
505
102
355
449
89
435
73
344
197
20
638
417
295
399
446
230
500
249
469
517
44
652
348
367
114
380
395
276
321
582
1034
342
383
413
350
202
248
264
289
433
357
230
124
332
292
532
63
96
266
136
590
228
497
133
532
210
278
142
559
111
815
428
313
531
133
519
465
305
90
280
134
707
120
359
575
125
79
247
300
460
244
536
512
338
257
615
466
458
102
608
758
523
280
260
67
863
136
201
223
332
390
391
451
246
256
64
396
361
180
387
137
381
619
605
354
702
163
311
185
337
89
482
726
392
361
509
376
335
324
188
369
296
196
191
374
258
109
477
587
401
682
288
190
139
421
211
276
181
280
328
250
475
198
524
324
542
303
132
232
798
476
164
496
401
267
452
298
724
525
379
67
222
97
439
485
292
259
340
336
538
107
496
224
749
387
121
41
651
554
269
354
515
181
633
135
220
351
377
390
62
472
469
565
250
290
438
571
434
552
225
553
735
116
102
256
422
251
284
669
680
188
181
344
506
457
235
52
414
328
130
355
446
329
531
501
387
552
470
205
296
479
251
96
300
518
522
385
572
118
442
144
438
120
247
239
456
299
443
103
575
273
293
511
790
562
501
164
233
846
461
84
450
363
371
423
417
248
280
173
208
214
253
261
508
33
429
79
166
236
134
477
793
388
499
599
449
543
708
683
454
816
234
426
107
427
228
348
352
989
252
298
312
220
531
380
583
203
123
649
251
274
293
64
663
246
269
307
161
366
266
389
642
247
793
359
283
566
362
477
436
279
206
169
431
68
613
621
477
371
511
526
195
333
574
347
459
317
383
315
172
138
153
370
371
1000
382
45
153
750
358
614
106
471
559
439
525
500
143
363
324
233
533
578
324
110
281
426
404
241
476
85
397
45
112
103
353
211
457
565
585
522
142
320
245
569
520
361
307
813
233
262
413
492
350
582
422
71
446
391
180
407
236
348
741
659
168
801
60
528
354
456
247
72
491
466
334
213
387
311
250
205
447
246
277
381
454
201
34
478
138
844
804
99
339
407
454
252
647
603
197
542
288
149
420
264
310
573
203
255
80
511
466
257
107
128
586
341
293
613
393
253
673
436
166
688
265
153
348
210
302
104
225
280
265
587
84
333
129
211
383
479
511
155
279
258
250
248
620
107
166
347
378
247
261
261
363
710
20
612
444
195
249
186
356
789
673
388
393
778
233
211
325
163
223
436
228
528
189
132
383
325
30
584
240
261
831
191
439
271
290
129
599
301
372
700
361
821
878
253
291
445
123
297
291
219
585
100
120
437
458
578
261
278
270
408
581
598
497
65
174
99
864
736
886
298
331
54
659
504
253
109
287
546
400
415
502
31
461
524
670
529
396
285
193
451
67
509
415
489
483
40
151
166
585
197
196
347
302
727
219
204
215
295
228
504
442
339
201
381
109
110
279
448
369
213
777
576
614
279
728
480
572
165
479
222
18
402
46
288
427
408
584
183
422
174
329
679
96
292
79
67
82
108
435
387
157
495
560
653
460
238
570
270
528
345
178
712
240
188
301
317
219
116
519
598
401
893
481
504
287
102
744
246
266
515
513
286
295
236
341
738
68
322
257
549
283
372
467
543
501
588
261
783
381
356
110
495
466
598
484
73
484
170
616
315
512
599
362
598
142
568
511
468
525
544
342
270
544
465
858
109
75
594
27
326
59
333
78
363
197
397
486
292
250
103
396
138
268
853
380
344
358
629
547
210
235
597
272
140
161
331
508
130
696
309
383
369
208
124
206
143
51
581
252
515
556
157
318
127
489
765
124
196
405
915
582
335
176
481
809
432
391
642
334
501
448
286
322
195
363
172
475
361
468
479
316
159
342
608
164
72
262
155
477
495
594
406
14
207
838
333
310
180
622
240
334
288
476
347
203
684
328
413
161
451
301
468
345
473
324
210
259
363
32
199
537
263
31
440
407
158
407
179
255
836
274
406
221
68
326
351
192
322
145
909
193
174
495
487
65
138
311
106
462
584
502
173
484
144
109
289
562
492
398
285
83
97
127
371
127
128
489
443
327
122
328
593
87
617
438
741
675
514
734
532
238
518
188
398
362
219
718
107
426
430
140
461
204
102
517
562
283
206
356
207
568
808
263
410
413
458
103
186
438
106
325
418
469
292
115
478
102
170
96
381
371
516
192
266
424
57
200
152
506
558
259
184
361
406
77
631
204
371
168
152
460
341
828
245
302
233
320
202
476
781
221
276
353
422
526
204
326
357
299
645
126
234
348
253
179
92
215
707
837
241
220
513
142
223
653
160
886
134
341
62
352
421
414
246
222
613
225
37
541
138
473
105
261
519
406
127
194
428
190
777
236
121
334
972
914
329
53
514
233
128
22
724
398
359
215
260
577
300
277
460
115
153
197
328
242
757
513
70
244
493
342
372
504
491
107
386
491
445
853
623
388
206
451
454
294
193
46
162
173
523
536
324
384
225
303
143
192
340
218
45
376
117
585
419
259
164
379
122
338
477
289
677
487
547
167
65
136
384
355
286
325
314
481
375
76
436
330
226
326
409
412
334
257
485
164
183
316
74
134
665
363
467
277
368
206
562
327
582
184
174
130
128
506
455
551
623
359
239
597
579
497
258
222
252
390
568
429
57
696
443
211
495
578
111
366
144
248
357
488
295
502
377
157
186
427
104
82
93
190
690
348
80
183
461
143
497
239
482
89
516
193
249
681
135
298
566
581
163
308
165
214
75
170
367
134
409
291
491
381
570
347
365
818
522
344
276
342
223
184
352
313
234
200
230
162
495
438
205
232
243
885
336
311
426
290
403
340
66
588
170
333
414
282
392
85
207
316
822
716
774
297
204
380
284
148
284
361
263
333
441
175
610
505
142
588
122
267
100
444
577
343
184
375
138
317
394
143
425
230
567
461
189
238
352
100
505
335
378
369
84
290
353
29
425
266
117
181
201
126
112
322
481
94
71
180
486
364
561
575
397
382
608
221
264
459
547
204
290
51
139
508
160
644
545
516
390
376
27
700
405
222
368
441
472
249
64
668
276
53
349
495
44
77
611
164
119
111
187
239
439
213
304
440
407
324
314
148
461
135
275
329
493
221
261
443
553
366
201
721
613
549
324
205
589
538
466
603
58
308
42
295
161
427
490
423
222
500
181
147
496
344
530
161
396
556
112
344
237
576
128
924
169
309
470
267
365
582
487
230
359
59
48
390
281
227
598
122
397
794
505
515
180
553
316
589
526
291
315
524
122
74
349
243
364
335
70
474
367
399
431
520
357
47
353
345
342
382
330
731
404
264
394
147
264
191
202
681
246
446
729
478
302
394
230
109
240
122
346
167
566
171
552
166
265
433
275
532
222
473
149
268
492
246
92
346
370
168
547
275
173
320
320
335
537
302
379
439
180
198
490
344
449
286
537
702
389
312
461
207
339
770
274
549
83
684
312
596
356
332
760
483
451
131
317
625
452
365
177
209
307
586
379
122
471
460
117
742
354
480
560
526
237
230
226
795
734
706
106
537
239
150
561
236
92
63
482
336
432
352
190
577
370
148
530
518
528
274
353
243
83
169
585
213
277
213
709
395
534
99
549
250
136
327
931
167
453
347
593
392
331
211
312
549
344
429
195
539
161
105
405
164
183
719
405
93
512
467
442
481
548
357
235
458
402
66
167
302
627
126
363
529
547
320
215
751
512
231
398
620
236
431
611
116
216
403
362
582
163
128
372
203
567
618
420
211
280
492
284
298
75
360
405
154
353
272
467
433
264
234
187
533
125
865
391
339
661
339
227
261
628
304
288
329
612
262
216
236
124
311
164
879
660
192
241
338
871
94
329
179
457
295
482
177
333
731
494
268
270
175
298
432
440
158
504
294
381
684
484
412
220
143
517
328
503
446
167
324
38
255
204
436
148
568
238
91
158
151
787
613
378
311
332
411
572
364
255
136
591
546
486
198
129
703
244
125
533
669
290
471
794
394
174
142
77
235
333
552
236
607
413
297
528
252
352
77
567
315
789
448
369
293
256
584
303
509
206
399
183
280
464
535
204
298
644
107
311
309
480
457
325
114
416
486
564
242
155
646
312
827
596
806
471
296
646
264
68
276
175
206
655
1123
372
436
335
674
809
59
147
198
358
447
57
122
263
556
360
616
108
335
751
255
154
680
102
97
362
405
615
395
369
366
196
499
338
608
63
561
128
451
57
457
325
372
326
219
51
237
497
246
368
478
512
189
111
436
295
252
730
430
402
203
98
807
194
19
268
68
310
705
475
236
587
443
188
568
304
531
321
546
70
425
212
205
685
492
289
324
315
557
339
380
566
489
71
569
416
353
236
421
197
435
68
122
91
203
320
523
68
158
121
64
112
267
394
327
212
477
356
694
272
570
235
190
837
379
437
171
497
155
172
85
139
317
170
681
358
453
162
277
222
91
126
326
309
290
385
574
139
61
395
418
472
276
686
60
252
505
344
467
692
90
797
665
915
310
284
43
264
112
427
841
431
547
258
205
112
145
204
181
22
115
418
251
593
375
109
55
417
267
111
654
358
267
497
556
539
383
267
940
300
351
393
226
308
474
651
255
808
142
104
268
107
766
349
151
42
645
197
707
391
339
525
215
256
482
407
475
234
111
716
234
373
493
326
500
316
668
664
510
353
106
307
644
422
411
562
317
202
387
280
291
223
334
627
282
594
113
109
258
538
212
626
67
656
451
401
365
376
480
896
217
1030
274
697
487
449
350
523
449
135
518
203
267
424
412
255
181
167
198
202
415
411
421
503
403
256
447
336
479
381
303
646
393
261
592
444
593
269
331
392
416
509
319
610
142
228
604
835
475
480
52
570
213
188
106
221
394
267
252
348
302
359
568
267
241
572
146
214
54
442
154
314
296
191
268
65
369
170
453
75
209
205
417
415
532
291
459
511
225
214
229
154
450
104
614
68
431
229
75
164
554
614
138
221
240
291
256
299
225
149
769
49
560
304
726
274
331
542
231
200
390
495
390
528
839
123
424
132
165
239
361
401
549
560
377
496
579
404
67
73
151
252
245
707
384
596
147
37
626
169
81
380
53
427
575
526
1118
383
150
495
593
419
435
503
523
332
390
395
469
135
430
126
335
304
136
166
163
527
512
674
533
255
362
379
326
369
226
491
52
188
793
119
575
543
450
466
331
333
382
231
776
90
282
814
242
273
619
224
634
114
296
368
223
197
366
398
476
586
489
348
150
261
137
235
279
169
189
202
162
353
303
737
288
242
405
187
200
104
286
580
429
192
613
49
761
195
194
285
444
682
150
271
653
175
705
262
634
368
66
254
419
119
289
547
503
307
190
376
408
173
168
535
103
439
382
57
282
793
208
619
414
342
365
163
231
218
485
424
474
245
102
316
144
548
222
294
33
140
445
508
837
64
314
285
65
66
782
86
254
241
105
346
856
108
498
390
78
314
33
568
117
387
561
579
656
150
230
773
125
807
490
379
195
424
191
150
498
417
452
758
367
455
492
461
58
12
202
941
196
110
154
87
389
640
604
374
74
366
465
104
452
570
314
280
202
382
133
513
235
47
433
438
697
332
556
556
616
499
111
305
590
473
376
305
228
251
509
743
104
343
147
626
389
462
429
460
173
188
96
283
372
218
435
433
283
531
282
516
259
107
479
310
341
341
342
370
883
150
519
81
194
520
550
574
423
285
187
531
74
397
123
233
392
586
793
251
426
341
189
145
105
671
334
232
377
567
631
279
131
49
389
377
198
538
615
153
391
288
432
467
551
213
528
761
148
291
240
436
65
175
91
320
232
466
162
199
189
248
116
232
669
628
407
114
355
451
925
975
472
16
349
395
186
72
76
24
579
157
397
360
355
216
388
369
559
318
276
891
131
429
370
686
400
518
348
429
128
97
186
373
454
508
853
283
572
529
231
213
733
183
477
169
195
226
670
85
689
65
593
502
572
393
715
136
669
370
285
405
256
262
382
268
172
241
546
335
585
57
535
355
328
384
639
417
399
749
155
356
472
506
511
210
192
212
548
755
516
272
830
166
121
354
102
161
455
308
179
330
193
429
485
194
331
385
186
483
423
558
788
297
468
796
453
159
94
245
442
221
622
742
359
226
463
148
725
46
425
133
141
318
269
90
848
112
493
299
200
640
367
202
370
167
341
53
240
505
140
497
168
499
99
617
286
45
475
324
49
161
238
358
563
260
474
251
644
408
176
517
326
212
338
407
403
140
171
313
23
262
212
836
555
232
795
202
338
420
420
303
500
168
318
762
492
341
640
354
417
245
162
317
149
231
381
50
313
209
440
302
66
192
249
318
196
449
410
710
224
209
293
310
331
385
349
468
61
57
458
320
326
360
445
253
652
762
141
284
487
536
831
589
167
667
88
514
511
302
83
529
313
468
111
436
483
559
153
514
658
379
480
478
340
208
314
381
102
262
242
444
225
63
270
670
470
395
283
627
119
147
322
514
439
229
351
165
260
680
530
424
371
577
627
407
395
515
519
181
106
296
371
506
552
219
700
337
202
599
291
201
241
130
133
602
520
567
309
287
947
299
295
324
204
253
199
25
568
481
68
503
393
169
633
291
295
484
384
147
242
344
276
571
123
223
91
422
351
279
238
169
107
285
140
243
611
560
509
211
246
102
646
422
163
616
546
291
462
467
197
201
396
68
357
329
297
300
253
93
416
514
232
128
158
171
394
107
264
252
155
415
465
772
290
90
471
465
237
638
591
266
302
400
87
203
742
249
672
148
621
526
305
430
672
593
345
118
713
582
204
396
142
396
279
587
473
545
232
342
341
611
173
288
566
417
174
284
324
765
48
402
53
457
555
178
512
346
385
161
459
278
601
378
180
85
298
328
52
375
260
329
618
250
258
681
236
351
434
137
194
274
374
566
546
157
387
216
189
67
245
111
610
481
154
367
159
231
107
326
44
267
176
199
162
660
410
306
318
210
643
396
358
435
342
600
438
558
225
316
156
267
382
185
216
1121
207
122
549
383
345
242
478
229
293
301
276
527
696
434
403
176
360
550
493
84
427
298
575
583
685
555
115
161
417
60
330
334
390
352
640
54
295
356
222
418
129
183
222
474
459
107
361
431
652
650
246
363
662
451
316
39
384
417
520
454
433
57
536
254
107
151
629
90
579
906
62
249
246
217
336
397
331
352
346
378
393
229
509
374
777
355
360
144
343
535
377
411
114
253
121
824
70
518
207
406
222
405
46
259
142
324
773
560
480
85
137
305
418
191
410
493
523
230
392
284
477
325
30
74
409
268
62
533
469
197
45
221
350
646
408
235
433
332
154
370
33
884
424
304
826
550
268
374
315
532
281
283
63
238
380
509
93
400
206
257
185
388
280
259
361
569
304
454
477
285
417
445
437
345
263
372
195
145
428
483
561
177
502
74
363
340
159
303
205
83
282
219
101
433
627
97
413
189
499
40
277
220
363
168
693
221
469
288
412
544
660
476
166
305
448
655
677
534
467
316
70
751
189
333
433
203
378
212
185
97
274
86
526
204
234
301
225
374
23
707
414
505
282
661
516
26
82
532
441
331
154
350
287
247
347
426
656
167
327
243
281
64
542
128
182
820
549
215
479
393
146
216
263
196
600
821
136
403
252
152
339
53
656
669
295
600
268
249
456
122
495
73
180
353
65
328
185
448
275
449
366
212
335
377
371
115
397
505
269
210
389
333
322
221
265
403
317
86
362
422
180
229
494
393
671
383
258
328
173
355
409
306
189
473
673
538
125
363
75
90
576
195
119
77
656
433
134
107
109
225
191
210
416
389
446
243
421
539
348
164
335
214
354
563
119
231
308
83
556
326
457
409
310
245
328
162
505
47
116
275
456
744
241
220
380
282
235
658
572
265
652
252
133
218
260
280
103
459
368
421
90
580
732
565
568
468
447
354
209
409
324
300
392
223
120
232
401
479
246
515
513
652
516
289
374
62
541
464
95
281
478
532
239
441
770
261
53
529
571
530
230
442
238
434
271
206
397
396
143
392
925
577
392
387
669
442
341
1030
257
32
558
361
678
241
235
115
283
283
272
251
329
191
252
564
169
487
770
291
107
190
68
267
423
642
413
485
258
552
721
558
209
188
35
487
134
286
346
140
213
240
587
533
61
249
299
411
650
164
210
247
79
238
257
82
353
248
49
238
518
529
285
401
460
300
294
95
268
586
68
462
407
596
556
722
371
413
304
359
241
115
284
282
586
620
418
130
461
407
429
527
796
136
266
307
542
361
630
341
542
690
865
341
538
472
138
581
715
119
449
816
397
906
515
601
348
693
397
99
132
160
325
88
197
403
531
135
671
115
219
166
394
462
289
202
165
341
493
528
257
249
504
150
444
113
136
337
433
163
148
224
244
785
114
630
184
618
313
505
493
158
615
83
491
216
579
94
262
152
190
314
93
718
728
720
340
68
162
612
408
133
285
386
741
393
276
182
362
287
579
329
572
253
395
310
179
228
820
455
335
166
625
320
80
220
763
362
398
457
135
265
619
222
714
285
332
201
132
538
277
270
31
333
437
513
290
116
749
662
587
599
222
1000
443
438
590
52
226
599
305
505
484
99
435
264
433
348
268
432
447
473
281
387
486
421
353
220
368
574
226
385
252
842
545
488
304
238
249
453
303
286
76
191
287
381
533
494
414
344
640
370
436
97
115
298
302
282
253
176
614
168
259
550
31
539
428
201
384
418
431
267
319
373
417
303
737
276
395
598
153
320
153
138
671
202
290
610
202
443
714
429
199
370
921
156
241
839
354
283
371
442
390
492
469
620
292
458
53
61
677
48
68
270
207
499
551
256
520
65
232
479
262
446
64
70
204
137
183
496
448
192
863
411
374
428
458
559
358
620
157
157
293
427
287
447
114
43
79
397
386
217
250
531
472
189
250
70
388
399
66
89
343
56
342
354
151
100
231
330
817
209
460
405
144
703
786
53
385
407
178
477
102
255
559
245
588
427
318
491
766
189
603
559
204
370
304
454
270
354
152
955
648
191
2
160
451
624
227
180
148
50
345
888
442
255
369
146
518
456
161
416
188
776
333
216
213
220
310
407
348
192
895
87
130
506
346
141
294
232
298
148
120
345
1048
460
115
324
60
89
83
459
138
484
323
315
342
230
497
344
465
55
361
341
174
752
416
232
106
514
294
345
37
493
55
88
596
573
560
90
44
414
237
358
421
310
463
295
222
329
126
515
141
61
599
395
640
113
514
429
233
455
203
355
130
572
649
351
386
468
558
325
624
89
383
252
126
175
900
235
174
760
549
379
368
221
766
529
341
363
654
516
546
642
385
763
253
310
56
303
271
204
204
530
151
436
171
290
325
595
123
160
307
283
588
208
295
707
640
268
814
346
283
184
101
326
513
236
511
219
235
573
438
201
300
326
190
448
328
595
89
777
325
684
51
525
435
134
114
651
244
829
465
283
458
741
567
498
332
251
288
335
163
339
300
346
142
291
419
967
603
152
359
85
566
494
104
639
143
257
337
316
498
237
509
490
327
308
854
632
298
306
334
323
415
505
36
323
160
96
70
334
191
219
90
167
526
30
579
277
293
63
84
58
314
212
654
539
332
460
212
252
674
1118
478
294
625
234
483
546
169
191
58
515
504
381
534
131
230
378
119
505
450
175
257
329
123
220
177
218
294
227
737
602
74
191
561
162
477
441
165
796
801
384
184
615
382
236
604
656
488
235
491
412
473
127
346
139
439
190
698
296
78
726
459
334
185
647
316
222
304
397
190
46
190
301
298
308
364
202
243
361
780
340
51
222
684
663
290
264
419
142
854
365
368
580
527
511
45
325
460
511
405
247
38
481
144
382
654
523
442
526
436
232
476
72
196
348
92
564
218
1124
307
188
554
203
215
279
554
584
283
689
254
793
198
279
390
665
754
383
90
225
473
286
63
294
624
219
53
491
534
499
367
179
371
535
59
326
131
397
97
722
669
444
152
347
233
315
375
363
293
103
356
308
272
409
368
112
612
520
552
651
125
270
621
440
181
449
182
164
382
143
83
281
643
317
194
226
301
276
427
416
539
361
153
112
657
290
199
496
463
304
380
500
636
273
63
57
459
638
220
705
435
494
318
393
549
313
475
506
433
479
226
443
399
120
255
539
218
492
362
271
424
206
441
610
418
130
195
518
61
281
56
184
350
548
212
765
148
374
284
61
253
167
617
251
304
594
378
343
53
745
721
67
142
464
277
471
529
397
306
287
511
324
280
468
254
507
278
524
290
145
514
102
521
600
46
575
453
524
120
210
634
352
226
220
350
551
221
466
204
364
78
84
391
388
485
150
694
300
463
387
105
32
252
281
241
498
307
90
7
533
285
335
341
492
677
524
37
116
665
484
187
341
616
217
776
461
424
320
448
606
319
359
154
274
291
78
571
155
282
316
393
594
528
662
533
360
71
562
346
551
769
390
311
401
45
579
339
451
233
64
401
391
118
642
162
355
310
583
388
288
207
262
236
441
195
86
232
199
393
165
380
265
498
240
581
737
667
238
349
429
654
437
647
501
265
510
619
75
214
506
772
545
487
473
172
350
536
65
166
251
591
110
582
649
528
561
64
627
243
194
104
471
584
204
473
535
299
385
519
386
212
414
337
153
395
21
453
252
377
368
440
60
450
272
686
317
780
391
402
468
386
769
153
614
545
156
67
183
135
112
242
406
429
219
195
270
132
451
255
568
361
687
531
374
122
364
574
515
363
233
345
824
399
573
349
267
422
332
222
521
88
346
431
670
166
242
413
395
665
311
365
369
81
150
548
525
912
90
518
45
439
716
327
416
159
512
311
272
746
205
278
122
372
384
625
211
360
147
27
461
434
277
422
472
465
266
536
75
420
432
116
603
515
352
285
80
473
146
34
161
449
629
302
494
425
549
333
284
343
405
264
487
472
335
502
73
316
626
342
572
272
585
281
138
400
296
241
400
399
348
657
225
681
295
321
251
325
426
411
254
214
213
463
250
42
196
431
32
616
624
328
451
64
196
419
72
294
495
240
455
514
307
148
546
168
305
301
470
437
189
617
381
254
156
336
364
110
299
119
348
560
477
886
681
205
249
419
31
656
299
391
207
134
215
75
366
323
589
287
194
481
131
615
188
293
299
373
282
473
444
220
79
360
613
176
364
646
220
178
292
178
346
229
440
318
188
386
185
287
392
686
402
436
308
590
219
197
181
46
355
299
480
79
428
293
290
382
410
345
296
361
692
333
458
446
1077
193
515
171
530
112
276
190
291
529
314
142
409
147
222
387
303
329
388
770
423
273
368
288
277
287
749
49
681
459
48
519
527
234
378
387
39
638
72
515
397
536
217
389
188
246
332
629
312
73
338
75
256
252
199
331
228
220
119
82
49
237
783
299
498
205
240
396
246
377
388
586
369
159
314
677
44
589
429
484
377
134
602
515
448
261
284
337
1073
436
104
122
163
589
590
180
572
98
429
617
371
368
359
345
319
505
741
206
179
226
432
293
390
491
274
227
654
285
158
360
23
41
516
382
630
84
374
492
604
136
415
190
224
248
581
387
492
85
354
459
241
511
300
280
174
666
417
447
283
770
356
330
761
645
305
356
481
492
347
164
511
67
422
654
218
488
177
181
473
226
393
459
187
352
206
489
537
162
513
352
166
309
580
293
793
412
893
62
422
688
278
153
257
50
329
236
256
129
758
487
466
583
365
29
381
368
212
403
143
264
359
497
383
604
219
125
641
916
329
353
329
352
436
357
266
531
525
254
13
536
78
488
409
313
372
381
92
405
252
492
260
681
50
311
723
58
64
218
157
390
599
237
457
227
345
85
454
371
504
528
450
419
788
211
286
172
70
391
102
437
61
571
455
366
146
737
475
369
769
583
363
177
454
857
130
388
502
201
291
323
148
16
240
550
517
368
493
374
108
258
174
96
49
380
676
372
715
232
343
494
202
643
547
316
531
214
375
252
293
460
331
76
511
540
241
73
57
511
326
398
346
417
392
537
463
516
378
143
65
347
451
236
287
356
488
450
477
368
375
267
61
162
325
538
471
405
415
172
466
251
566
415
249
312
132
418
287
168
779
199
336
373
677
126
68
515
150
237
401
422
338
320
246
221
428
241
452
478
123
151
345
324
493
413
429
323
119
657
230
775
133
229
561
326
191
288
471
177
216
676
506
563
331
377
341
372
450
89
258
361
237
255
295
269
182
296
123
351
79
184
109
259
535
104
558
89
120
52
368
642
157
412
562
474
504
85
171
217
557
456
378
419
596
196
291
702
597
486
684
320
248
210
197
152
289
219
352
250
176
137
307
134
322
251
565
482
436
504
262
582
543
319
189
442
155
170
398
261
226
570
704
397
424
426
177
387
346
365
239
281
623
282
357
332
428
514
439
512
447
16
124
308
543
301
209
479
360
173
244
365
208
357
261
84
305
326
327
233
218
182
486
660
194
270
364
535
673
106
246
258
572
107
52
80
653
589
383
223
447
504
57
544
325
338
132
416
429
600
249
533
206
369
328
197
106
102
712
306
109
868
424
371
268
366
712
30
202
419
90
266
402
551
174
144
346
659
440
409
323
288
483
619
234
106
571
557
339
481
135
74
194
552
526
358
406
70
210
582
534
259
465
400
144
273
285
361
111
622
442
481
355
302
628
200
325
261
616
325
383
323
666
347
317
14
311
160
260
206
103
470
544
386
325
527
73
639
476
441
658
530
527
299
615
259
377
269
450
710
191
97
114
105
168
276
75
455
294
609
56
339
439
139
52
565
434
575
236
610
171
52
394
336
256
547
60
411
320
357
432
369
572
175
468
484
173
516
133
852
116
173
341
919
462
561
346
270
600
770
109
370
303
528
453
771
704
357
153
230
577
191
551
98
120
167
491
442
266
479
544
77
411
702
633
453
509
427
74
555
123
513
391
92
544
66
283
358
286
387
426
265
643
255
298
302
468
368
459
498
643
376
219
413
494
155
314
207
150
275
408
293
595
558
159
71
758
458
536
312
1008
294
418
309
146
370
231
250
326
337
285
497
528
240
280
459
150
265
336
241
405
85
383
260
277
846
381
642
152
483
227
370
709
494
363
288
330
382
278
356
106
145
94
442
139
295
293
455
528
218
106
388
257
103
535
271
142
653
300
172
104
445
458
302
410
471
728
464
437
185
555
269
668
324
371
530
352
235
434
146
392
599
159
172
320
423
289
92
444
460
439
384
272
467
201
523
175
107
370
140
259
422
354
407
112
758
78
425
669
380
479
232
305
447
350
442
472
321
667
407
248
143
271
454
185
267
306
426
1085
264
540
387
144
435
646
436
409
201
102
245
618
327
387
290
269
513
447
549
399
353
504
585
205
443
210
400
10
248
573
202
369
443
546
596
567
410
477
386
495
319
256
225
104
452
635
819
37
372
517
111
582
414
242
37
502
198
786
252
545
573
610
196
217
624
556
373
255
520
288
209
383
294
144
548
366
410
95
277
532
340
151
396
358
51
759
205
281
281
447
279
692
555
529
351
269
176
342
400
484
337
606
325
224
464
528
283
449
654
183
336
23
612
632
392
212
302
453
122
332
211
197
499
352
519
779
133
283
402
618
606
387
433
102
442
403
177
293
283
496
516
384
125
505
326
796
513
407
180
295
544
54
203
146
340
603
163
524
373
351
397
102
332
214
64
469
111
387
95
408
374
692
238
199
27
302
603
315
328
412
656
417
502
142
445
221
185
420
173
1051
244
153
210
157
325
326
205
398
413
448
203
816
120
430
128
346
326
13
841
570
115
556
89
254
301
683
561
156
197
366
433
397
547
589
264
343
519
484
421
110
298
164
139
347
522
514
223
274
459
370
112
205
436
433
379
97
172
219
58
417
631
429
307
569
234
214
301
417
542
419
433
167
385
497
285
314
833
642
407
455
143
549
117
170
169
222
243
380
357
334
416
273
340
252
306
285
303
557
369
511
189
112
616
444
288
341
264
348
384
778
221
666
335
460
415
474
188
167
283
158
721
107
600
539
470
460
225
519
389
336
175
287
234
359
405
99
412
551
119
345
450
157
221
160
406
443
642
277
277
465
626
262
385
596
313
237
306
159
112
119
412
412
862
152
259
435
455
196
450
208
536
237
390
186
410
580
370
163
186
356
787
186
102
550
365
139
585
747
324
148
279
334
586
493
281
289
590
281
415
269
221
386
370
173
543
475
238
626
367
413
303
143
505
570
676
98
119
617
69
444
162
206
359
283
351
544
141
232
562
403
88
289
362
108
356
288
555
277
75
116
103
486
367
314
532
170
429
314
425
759
525
120
482
58
492
306
125
581
509
245
684
221
494
193
393
397
318
250
269
56
380
419
314
317
363
184
284
459
905
244
661
105
303
272
226
492
580
178
484
623
437
255
170
293
233
361
117
723
382
306
248
176
554
83
259
672
427
368
536
164
419
108
231
448
236
463
552
305
592
291
197
392
556
752
449
511
216
334
278
323
412
443
132
190
792
139
429
356
348
608
504
536
784
371
483
613
415
165
541
298
87
510
306
134
543
387
130
446
379
545
179
85
392
331
520
521
377
203
231
329
78
349
455
253
221
401
48
333
50
343
344
149
142
495
455
512
206
784
519
542
92
327
702
665
182
88
639
415
516
540
548
248
644
289
136
544
119
814
165
399
381
326
616
416
574
381
127
349
577
181
53
117
699
318
368
224
57
364
121
398
307
427
336
564
72
358
315
142
288
488
233
288
249
59
427
469
261
150
299
365
634
397
832
483
645
633
337
411
320
441
557
638
588
340
172
420
588
76
557
265
53
193
231
197
667
112
343
331
223
687
289
132
160
739
240
281
248
248
364
608
276
414
372
283
231
735
243
180
163
280
402
607
152
222
130
544
283
312
849
110
354
509
56
496
276
92
568
171
305
226
318
41
186
28
304
555
439
214
188
206
390
152
202
236
600
234
497
627
90
147
488
97
691
170
478
317
60
785
366
526
515
95
113
193
391
219
396
650
336
160
609
330
138
1119
287
190
210
252
34
567
150
724
314
466
464
356
505
233
91
216
605
337
299
238
557
307
354
688
112
533
427
537
378
612
257
188
572
425
788
624
200
558
239
254
501
225
144
206
283
120
520
123
222
687
440
146
790
612
384
261
269
156
455
343
302
257
282
108
346
100
320
678
436
213
400
477
270
147
272
403
311
298
519
181
219
528
207
504
481
174
480
764
356
338
57
581
461
610
398
436
470
519
542
223
227
413
62
282
166
419
305
635
582
569
83
176
273
183
347
314
364
360
557
356
234
58
204
417
258
138
579
150
176
109
373
228
164
109
624
598
377
512
200
146
225
456
405
212
330
547
204
167
681
341
463
375
167
665
261
194
290
173
334
166
226
413
349
370
570
546
489
197
429
353
143
262
339
345
686
213
565
637
615
306
412
72
83
456
578
602
403
596
551
115
152
161
158
699
431
234
396
225
385
153
120
586
250
268
117
353
44
308
387
286
213
96
323
76
242
255
123
574
268
367
197
620
155
393
556
332
99
410
438
50
239
195
328
181
524
325
547
394
182
609
315
349
496
158
119
288
191
264
430
387
410
260
576
225
301
122
249
233
587
288
209
625
401
350
916
597
304
161
763
554
381
198
386
189
239
453
269
435
609
560
357
255
113
901
514
333
61
796
109
455
482
541
405
480
124
122
145
74
217
842
503
218
221
277
626
393
395
53
518
596
78
180
616
243
133
286
113
324
199
283
142
17
269
503
204
483
246
502
387
512
486
469
517
128
309
142
255
313
712
434
529
552
122
194
378
230
816
62
567
658
402
753
269
375
445
288
470
79
193
425
569
374
514
122
45
277
556
544
473
694
141
251
361
864
60
371
348
164
223
568
397
238
54
241
562
668
238
502
270
54
417
198
328
356
696
551
612
271
68
439
616
230
383
723
173
345
88
365
181
299
184
643
776
243
291
150
247
293
51
66
640
660
590
284
348
355
220
268
193
254
39
341
622
240
379
623
688
639
392
348
642
306
330
59
761
500
97
255
172
432
901
313
263
311
560
197
155
202
635
394
196
207
570
388
73
185
329
298
433
331
479
167
280
333
258
152
195
301
588
47
712
250
445
266
60
172
82
485
433
415
516
209
192
89
364
210
403
464
430
245
474
379
512
434
750
79
862
477
167
323
364
312
226
161
535
349
303
494
391
152
435
196
212
563
421
101
539
397
314
565
305
485
496
127
320
215
160
313
411
552
485
165
705
604
434
412
443
399
183
510
368
538
304
157
152
579
118
432
603
439
129
764
356
288
191
392
355
371
616
338
496
579
395
390
299
233
154
214
546
161
391
656
352
324
350
428
49
776
433
280
709
415
143
257
519
369
860
210
234
500
183
119
343
137
150
276
495
185
128
69
240
402
595
403
612
295
422
565
150
431
192
532
305
560
169
281
548
281
170
307
443
252
115
349
676
176
101
157
454
340
665
343
266
324
225
184
345
155
405
303
458
380
659
705
235
112
194
477
274
407
105
625
822
319
345
312
573
512
574
366
555
309
671
490
634
250
457
338
12
411
377
148
234
93
233
236
801
729
42
590
73
143
227
257
667
441
117
326
70
245
263
484
469
348
425
470
376
642
554
198
417
254
53
385
238
366
252
330
597
321
589
510
393
267
89
143
402
268
162
417
366
576
286
140
213
287
570
70
146
345
404
222
266
443
124
34
419
504
676
385
521
494
644
407
282
76
293
784
428
402
446
276
390
761
255
162
288
584
85
381
679
378
197
584
297
272
349
154
46
385
162
682
177
382
138
123
239
119
610
378
207
168
181
366
146
403
714
360
255
209
436
52
105
339
504
398
718
248
336
807
286
125
135
330
334
300
208
510
186
54
109
139
189
426
108
683
205
215
411
800
176
673
262
235
387
230
101
449
202
135
424
353
531
183
524
207
409
814
229
268
228
222
424
569
311
170
290
391
253
291
349
277
497
62
584
411
421
330
42
199
253
547
531
112
74
564
481
146
83
336
58
438
693
241
595
196
389
62
411
345
301
291
496
313
423
284
772
185
440
75
299
57
619
146
465
435
450
202
220
505
466
677
343
231
264
296
339
100
358
127
465
362
522
285
198
355
399
412
223
788
494
147
443
759
285
23
629
298
695
760
302
643
590
270
57
318
139
775
671
152
448
197
129
195
353
725
279
439
881
707
185
649
348
228
274
90
41
568
592
90
380
191
110
119
370
300
201
316
637
269
214
35
79
346
506
483
145
442
103
290
303
385
134
835
261
49
443
244
206
345
276
102
593
291
238
197
333
191
253
181
343
530
237
200
153
658
382
589
110
265
87
167
520
635
317
439
169
640
699
476
193
219
442
507
361
676
540
379
416
569
375
291
388
669
524
423
196
390
291
154
243
81
434
872
359
159
387
121
685
249
384
440
137
172
448
231
339
300
372
607
275
1043
179
229
405
567
415
383
821
432
210
451
333
207
636
32
453
81
231
326
555
286
92
82
342
39
187
461
358
324
386
748
429
134
145
450
275
357
321
87
434
478
368
493
698
229
134
278
225
308
352
186
211
791
183
71
362
803
518
658
114
191
485
187
77
196
526
638
269
242
511
104
181
490
277
180
267
112
390
242
675
477
196
260
364
390
154
376
337
495
247
398
562
394
287
178
264
400
399
424
341
475
427
250
278
302
333
508
117
545
328
277
728
332
203
254
271
327
321
566
339
134
544
134
497
214
473
401
89
83
355
246
81
431
324
151
306
74
288
613
250
343
422
447
419
172
223
493
450
207
198
547
154
373
201
468
561
76
339
525
371
410
353
212
151
387
308
626
267
270
263
546
582
471
420
256
622
135
257
223
761
323
228
370
713
303
206
490
396
538
411
273
338
219
342
436
443
823
187
213
473
576
267
243
302
579
568
506
576
881
484
563
204
614
613
87
620
147
379
168
416
79
43
39
400
511
278
87
652
134
225
77
176
460
818
134
397
579
624
643
437
396
572
294
159
581
255
178
585
624
146
544
521
459
79
417
155
798
358
574
129
416
550
355
136
57
227
258
447
408
197
235
213
202
68
586
276
260
484
345
324
372
214
255
359
475
385
186
467
229
466
828
352
317
181
94
230
309
336
47
62
540
143
431
388
158
268
423
427
610
251
252
68
41
506
561
357
176
292
373
920
390
479
167
533
473
400
266
337
186
404
266
254
264
381
629
420
552
105
270
91
222
173
507
405
835
187
432
541
719
114
614
165
669
448
494
336
751
405
215
388
75
105
187
396
109
584
358
273
405
151
282
588
430
272
309
570
491
240
235
610
167
103
340
244
684
321
466
151
45
750
532
192
128
173
545
139
490
788
187
379
445
508
289
156
481
200
583
331
318
94
217
342
267
363
773
428
552
237
139
252
174
273
403
633
212
402
625
459
411
426
135
324
131
54
215
495
489
354
134
382
710
346
196
651
81
488
493
282
280
521
463
383
452
342
499
298
106
296
75
117
292
236
763
234
458
632
652
189
206
345
516
187
436
316
378
236
491
515
487
342
405
741
740
226
527
120
549
390
421
598
172
98
369
497
234
294
414
111
373
216
291
499
307
159
562
451
268
558
185
249
892
215
243
94
89
319
576
167
140
252
319
539
398
594
134
288
440
310
693
223
191
220
92
262
412
511
324
437
62
347
475
143
283
453
641
441
473
479
315
482
535
113
471
62
248
172
27
263
816
261
475
272
604
493
465
685
146
324
59
64
137
280
681
622
564
489
253
666
219
313
208
163
117
412
522
280
72
651
282
604
305
562
247
296
356
212
400
347
117
188
247
225
401
382
711
74
315
80
206
334
224
197
182
56
428
821
172
96
215
103
296
430
323
163
179
315
362
264
483
295
368
450
561
239
401
352
537
485
476
107
599
453
115
51
127
334
585
143
695
180
317
397
413
487
241
89
242
184
79
528
506
426
85
188
526
265
169
276
592
487
104
365
489
85
387
292
252
113
476
319
213
172
778
666
96
214
151
360
190
216
565
840
118
124
246
336
309
287
437
797
154
168
392
456
389
104
384
323
420
151
415
155
229
266
330
370
114
139
241
145
95
149
279
358
300
432
290
500
142
331
88
202
476
286
376
411
138
97
356
155
377
366
454
576
613
191
74
218
318
415
401
632
540
341
798
499
676
584
185
549
173
215
635
244
178
123
465
484
301
190
487
884
368
434
240
416
76
113
147
423
340
500
363
543
677
205
341
316
243
404
415
614
213
220
778
519
134
274
392
499
192
348
121
412
156
537
312
294
154
398
509
444
439
540
456
302
365
423
305
566
128
438
182
450
564
230
231
210
278
165
238
591
134
117
429
66
158
349
495
395
233
334
629
269
753
60
347
564
56
290
140
158
302
315
503
232
535
345
366
241
64
393
87
286
129
208
66
399
289
555
183
231
281
337
503
38
137
290
524
528
357
191
248
635
296
358
587
697
598
133
225
257
182
74
123
515
196
282
237
130
297
405
278
168
532
91
537
459
498
532
421
156
490
176
350
410
303
432
232
110
79
153
484
229
359
498
106
536
307
263
1036
68
249
208
570
226
395
276
52
267
263
286
369
144
101
58
299
64
282
445
481
229
724
135
229
312
249
195
247
137
335
379
243
101
542
539
276
583
371
849
226
68
362
277
132
169
633
426
149
362
74
334
427
104
502
64
319
527
663
203
195
164
329
292
300
240
490
314
589
93
259
581
536
232
507
603
378
343
189
164
193
694
368
432
410
434
472
428
329
434
198
107
248
381
335
328
652
378
527
124
315
383
556
381
193
175
415
267
558
288
142
1029
596
354
317
857
405
497
311
107
340
112
166
394
228
395
75
153
273
264
538
445
664
151
580
347
100
223
297
432
109
327
497
304
290
449
398
346
409
347
836
312
403
293
334
18
175
336
245
287
308
163
197
585
426
559
253
229
646
157
732
534
890
12
92
326
434
150
355
382
329
291
141
520
374
817
284
569
216
90
364
312
665
540
79
349
269
368
215
200
157
161
762
608
312
288
348
220
491
199
184
424
206
562
514
60
375
509
311
418
110
282
341
277
291
353
280
780
141
172
424
189
249
578
469
629
331
522
251
571
361
654
361
586
277
309
188
305
500
168
36
176
88
241
139
190
202
311
568
218
149
369
146
511
521
354
485
663
726
186
211
110
397
260
512
409
634
235
462
230
384
286
692
332
188
811
429
699
190
457
215
29
246
552
143
129
542
610
459
296
267
459
424
238
188
64
191
574
280
337
278
468
709
131
241
218
718
820
498
175
601
393
245
589
495
209
397
299
258
269
611
303
264
402
296
171
884
258
153
229
334
485
116
891
465
353
377
656
59
431
374
316
373
599
531
239
578
645
281
225
205
250
668
452
327
94
33
385
246
164
429
345
112
307
572
506
431
387
981
437
247
228
59
354
360
987
377
327
446
412
223
578
157
158
450
177
98
115
368
156
723
616
196
497
627
537
196
464
216
190
302
56
657
77
342
600
356
519
98
183
148
132
222
451
364
227
82
825
397
299
340
591
268
482
549
357
295
460
281
102
329
710
190
273
549
910
141
138
128
270
466
434
424
257
509
511
632
151
45
239
536
258
202
197
347
268
274
522
85
145
348
208
67
35
148
479
392
168
589
617
359
89
175
152
421
663
672
441
447
283
437
180
302
381
134
588
422
375
231
386
564
183
315
326
38
313
226
288
595
267
97
602
354
192
457
514
321
252
92
248
378
355
227
504
196
517
260
774
431
221
132
604
48
576
205
561
651
63
106
406
323
228
160
361
742
182
326
257
681
452
503
79
426
207
230
443
275
559
165
306
169
665
150
156
199
208
433
170
128
556
200
306
92
318
129
518
297
73
576
440
414
92
266
303
612
725
385
439
602
363
507
232
112
144
36
395
537
303
254
275
281
125
277
295
272
192
691
268
282
189
73
168
77
627
108
109
424
358
101
249
370
372
377
296
239
155
193
276
218
264
313
148
251
500
65
595
417
242
342
329
203
400
262
322
565
484
315
364
534
73
290
574
481
395
202
370
454
369
585
240
303
397
409
720
492
193
510
317
66
44
603
387
257
224
1120
371
646
660
381
771
215
117
105
351
415
418
657
123
207
456
457
184
114
209
54
175
109
23
24
263
208
456
251
434
495
424
242
89
453
281
91
312
417
846
214
245
212
397
596
280
316
151
180
192
396
74
372
293
377
332
454
374
327
427
301
474
461
352
158
269
284
397
167
217
225
103
458
406
440
574
68
331
392
170
269
429
88
194
370
128
393
1047
151
252
589
702
297
98
150
166
292
179
302
81
477
305
799
537
128
369
237
655
725
541
327
184
172
93
271
528
536
64
212
403
505
601
213
264
96
457
701
202
221
138
189
76
625
466
228
341
479
40
467
576
381
46
174
373
697
423
553
171
211
564
86
227
174
593
559
469
750
394
384
214
251
568
508
643
204
465
272
582
685
189
152
513
115
216
267
190
295
497
396
294
327
87
497
374
596
405
323
445
160
481
673
101
624
417
571
156
407
233
421
374
609
1111
393
518
687
517
349
462
211
623
317
58
76
99
563
338
288
571
445
257
148
304
555
101
104
75
292
120
725
86
317
570
350
331
513
353
279
265
625
221
387
275
436
258
184
365
319
338
612
209
283
358
567
102
15
406
381
298
505
49
290
216
817
515
259
356
263
46
293
480
337
345
372
205
201
481
246
84
313
134
413
98
223
310
490
445
249
295
722
391
132
301
344
362
132
190
299
339
564
349
614
271
320
77
250
318
372
337
64
519
403
287
321
228
244
68
525
556
161
563
474
518
382
356
364
551
349
345
478
253
542
166
302
504
227
303
247
423
309
357
160
575
777
122
750
212
528
361
375
288
424
126
505
175
430
62
315
255
887
461
220
201
221
386
191
381
852
93
161
194
535
378
373
446
271
256
86
90
271
559
543
295
410
293
153
98
430
599
264
518
571
208
278
380
305
333
385
499
444
425
212
458
482
696
113
111
302
118
640
215
141
335
352
668
495
136
204
182
360
308
355
152
669
371
542
191
545
478
439
639
487
394
300
418
274
412
126
144
280
540
84
208
371
352
654
229
441
815
227
630
508
698
1000
346
294
735
202
336
344
24
171
338
528
408
111
607
400
255
433
640
555
306
571
269
487
136
573
640
185
112
511
712
702
54
203
398
88
459
93
1112
53
615
67
185
32
280
222
210
378
116
92
393
221
251
385
325
677
378
236
69
271
638
129
268
565
295
476
716
391
251
121
129
352
359
411
324
631
493
182
709
302
238
471
278
342
77
479
349
349
328
148
416
501
468
373
297
334
381
110
281
225
440
308
208
224
337
69
98
569
697
186
176
193
399
161
546
273
479
130
378
314
143
113
209
235
346
159
203
308
48
203
742
309
749
525
64
144
296
149
124
534
426
126
501
576
352
534
259
365
149
681
149
374
124
697
45
259
395
454
755
268
467
374
293
292
291
621
149
627
486
395
503
541
572
125
147
400
340
58
599
599
510
529
312
626
313
516
173
214
447
516
589
233
155
19
581
284
528
215
120
399
159
587
472
77
353
259
365
623
848
333
209
186
126
407
294
394
782
840
555
383
589
416
73
799
870
444
358
271
434
181
621
311
384
477
310
667
327
732
276
644
250
426
246
106
283
296
130
359
319
304
481
251
389
327
341
434
690
69
687
53
124
432
818
164
179
794
184
798
342
57
228
293
224
212
34
427
555
567
541
374
142
375
343
591
348
557
531
309
217
189
317
309
278
289
534
193
515
478
93
174
235
167
82
277
464
210
765
349
534
481
453
71
338
487
369
473
134
479
342
185
377
252
146
428
540
441
438
526
227
386
367
377
25
373
530
483
195
301
304
331
346
364
436
74
406
78
126
315
288
162
392
685
380
352
494
82
125
252
723
415
225
465
772
379
333
493
300
347
285
226
594
397
71
365
117
221
344
301
97
151
479
447
117
105
161
208
540
359
178
619
492
90
798
112
172
45
288
507
505
304
27
431
268
324
284
407
269
176
301
214
519
225
247
295
369
230
271
646
233
307
31
266
641
213
149
169
253
187
332
292
593
181
228
394
726
447
402
210
1084
103
624
705
312
668
432
615
210
369
129
339
80
547
372
81
196
432
53
147
228
132
394
215
467
419
201
149
389
137
271
451
824
616
205
662
247
604
272
473
127
390
474
281
520
539
96
844
195
303
544
106
216
514
547
549
67
256
295
491
373
128
201
386
350
364
109
531
108
662
391
330
111
596
552
395
195
589
516
78
886
304
264
325
47
313
274
724
363
333
585
524
256
191
561
314
418
312
130
285
328
57
241
87
457
666
318
251
153
215
349
372
410
192
395
420
556
145
448
96
89
323
524
349
36
296
401
487
310
205
166
142
743
540
199
544
332
572
301
203
546
570
152
356
156
900
373
210
246
342
796
280
286
210
484
222
334
275
734
364
525
216
456
336
278
373
247
607
481
552
309
113
260
230
553
116
379
341
605
129
314
186
251
529
486
573
250
142
87
196
506
337
273
482
318
230
917
155
439
225
350
386
314
513
438
546
399
648
508
122
254
294
341
72
132
284
247
106
178
354
809
199
626
301
240
168
642
260
224
537
297
538
217
706
102
182
848
158
367
504
449
123
212
398
278
276
220
213
212
525
589
125
87
232
435
107
764
183
251
510
554
616
611
119
658
275
480
66
585
428
741
743
466
396
169
346
93
370
237
564
345
539
186
735
427
108
368
495
116
203
601
52
326
646
490
107
324
608
614
492
436
392
471
449
258
145
368
482
181
710
186
256
220
245
703
794
740
127
183
401
253
307
377
905
360
491
512
252
291
555
422
523
736
459
560
420
346
246
512
85
548
281
270
560
193
250
276
893
484
116
274
609
718
474
227
535
129
152
280
260
323
88
602
226
116
378
515
145
547
381
90
249
421
538
213
160
484
62
554
425
580
633
512
430
486
364
309
246
64
219
248
406
108
538
366
111
61
67
125
122
171
96
112
220
244
214
295
259
519
897
122
622
429
531
145
273
420
82
112
221
197
265
243
129
666
302
314
342
205
220
201
589
554
318
465
58
230
198
458
673
272
51
301
181
432
261
228
267
212
442
681
331
190
483
289
259
764
180
133
547
414
462
221
749
317
346
289
665
311
523
60
311
344
222
336
501
390
232
594
123
211
515
74
177
438
263
310
303
559
407
108
475
155
274
437
145
590
334
373
423
187
183
483
374
133
336
436
226
257
329
154
243
263
348
395
122
281
476
683
405
274
146
316
750
115
314
418
481
304
324
438
192
369
256
400
669
305
315
31
301
598
375
480
262
259
505
317
73
204
392
161
174
816
397
191
127
292
372
515
275
323
201
432
162
36
393
163
22
959
131
382
334
617
412
169
348
382
717
553
253
588
623
167
476
169
432
462
337
201
276
161
215
482
217
618
330
162
372
467
114
500
664
369
548
268
96
465
96
458
62
596
557
488
499
211
296
371
377
82
550
588
453
96
180
449
704
536
203
105
166
238
267
442
393
690
221
338
329
87
275
216
151
405
375
146
307
418
505
1060
325
278
655
549
348
236
218
597
537
555
85
258
621
380
339
395
147
580
716
235
452
319
332
494
1094
657
656
282
84
78
596
133
221
221
122
113
309
387
175
146
577
254
637
744
106
331
129
507
128
617
383
234
686
562
133
403
460
306
267
276
414
597
639
377
450
245
474
587
476
442
507
245
440
211
319
456
505
490
472
205
550
429
207
117
387
469
497
595
752
331
140
671
520
57
567
545
255
318
167
346
287
242
354
501
573
298
408
423
316
540
316
723
219
125
663
390
834
85
332
113
460
75
322
401
249
97
701
337
31
212
525
221
470
586
153
352
316
337
654
278
630
417
560
549
252
168
133
466
448
548
521
195
334
121
54
379
206
339
72
722
237
130
175
462
187
427
382
345
295
372
343
396
277
454
434
382
479
702
152
130
229
93
454
345
206
108
283
515
206
527
192
145
546
387
360
208
129
271
232
475
536
253
204
373
276
62
321
600
287
447
432
366
559
262
153
333
387
311
430
498
197
281
324
450
348
337
614
428
380
446
345
299
46
120
560
102
105
706
617
49
256
372
304
308
206
275
126
315
155
361
532
421
250
421
338
143
276
449
318
36
511
407
137
312
603
335
380
34
387
244
409
139
372
233
209
152
758
144
261
497
317
449
498
479
87
394
487
168
384
471
405
496
239
119
369
542
383
322
154
467
764
544
397
301
225
249
256
624
205
267
329
511
786
381
223
514
12
205
110
386
541
402
493
209
468
642
617
376
460
126
319
39
527
570
145
241
513
229
117
319
62
422
512
39
595
115
549
741
536
345
569
176
208
278
243
259
127
162
200
438
323
424
533
689
491
207
623
147
243
578
492
27
133
433
517
660
135
181
428
257
369
372
145
274
166
366
77
212
423
613
432
526
796
513
155
174
283
367
451
346
404
269
288
384
281
252
263
227
499
365
415
289
275
369
608
609
137
120
170
418
316
514
318
430
196
489
379
293
169
496
106
372
334
372
660
528
302
557
391
128
303
502
331
432
345
174
533
813
277
655
277
229
101
217
637
468
225
230
107
346
248
353
110
165
372
677
243
696
226
206
118
472
349
211
394
358
466
435
577
319
242
627
381
414
77
774
59
179
184
251
118
646
620
318
296
502
520
165
186
450
304
246
372
13
464
240
312
181
537
398
201
559
902
370
524
336
411
417
540
214
257
393
440
263
355
804
268
310
852
609
812
330
37
234
281
240
131
425
299
539
157
141
282
234
410
643
61
262
529
710
231
183
187
237
328
174
199
321
185
394
515
663
688
12
220
327
260
105
137
532
25
236
399
260
133
313
696
333
281
472
206
504
882
376
187
541
1108
280
221
406
413
435
773
473
108
289
188
424
211
568
230
380
195
248
382
46
572
259
437
487
420
334
491
81
546
708
188
288
394
396
207
488
161
399
506
147
555
715
763
120
278
339
50
288
637
247
365
963
222
169
816
121
108
70
402
300
157
678
477
535
402
668
253
515
304
125
201
270
231
236
177
548
281
186
47
354
356
149
216
140
18
450
408
213
815
534
219
264
274
552
390
705
408
497
640
185
490
143
297
571
168
123
516
557
533
700
372
129
324
422
511
555
653
378
483
360
463
473
388
719
326
572
890
144
630
193
535
565
298
292
282
428
277
500
184
502
664
109
322
133
331
160
175
235
556
374
137
776
497
276
623
557
819
247
190
555
356
308
181
447
412
123
863
65
245
288
442
506
378
480
544
259
82
274
19
389
224
225
235
486
523
515
271
258
308
303
454
791
703
135
578
219
82
159
367
270
40
360
461
336
74
617
446
101
882
329
239
663
495
427
310
333
231
91
261
218
484
478
146
241
370
145
408
284
337
95
371
529
473
597
130
279
419
569
477
241
244
210
517
301
236
585
211
211
524
428
468
202
701
327
371
39
193
810
208
274
178
170
968
177
693
231
692
115
635
123
308
286
561
119
286
195
770
557
681
179
539
79
88
60
370
300
226
555
362
547
195
290
440
202
379
690
343
214
166
313
603
771
565
296
473
226
204
658
344
431
40
592
684
397
110
437
785
534
533
212
116
401
425
417
315
358
555
226
213
191
112
210
340
42
388
463
329
325
144
913
174
103
149
303
325
93
234
545
419
441
351
301
190
496
113
24
102
511
102
263
475
238
160
82
176
239
459
648
450
329
516
223
82
408
216
646
179
253
92
203
275
172
39
509
105
349
93
148
38
164
197
697
63
870
55
32
646
507
233
425
197
466
112
239
221
188
418
405
471
887
287
139
521
107
155
429
608
51
109
140
193
158
191
209
590
595
215
649
253
641
257
351
77
287
470
488
394
390
678
265
281
486
222
111
112
68
622
369
390
522
82
496
515
468
309
331
394
597
188
447
383
127
370
686
403
131
242
191
364
573
132
67
623
390
246
266
566
434
418
451
219
343
243
418
659
270
581
466
282
255
192
304
133
452
892
327
636
477
97
149
148
515
278
180
200
368
507
506
183
482
96
507
458
354
359
502
451
151
545
396
346
96
98
399
497
135
402
371
241
475
233
249
191
94
679
133
407
305
318
346
555
451
467
456
291
543
360
323
168
290
243
335
504
538
552
215
730
427
693
421
226
187
252
188
577
146
177
368
264
468
137
625
322
286
184
279
136
409
111
84
510
332
441
392
484
419
514
57
183
394
541
736
451
106
708
368
277
678
604
392
285
137
304
220
337
311
614
411
202
708
306
180
382
397
555
351
351
810
222
95
254
839
121
368
547
252
33
739
423
223
472
129
293
515
173
405
269
136
499
412
118
780
412
41
163
594
404
473
207
381
162
738
542
75
88
451
765
245
367
448
306
470
301
416
525
527
457
82
410
652
503
357
128
505
166
103
117
416
174
483
230
214
125
66
410
470
536
116
462
512
324
422
282
254
26
396
575
195
435
172
296
365
285
377
91
27
444
545
331
684
457
413
234
144
260
377
177
365
751
551
404
83
289
210
432
133
546
429
241
265
330
39
261
361
360
245
221
426
440
237
307
355
156
450
72
256
166
305
332
592
228
290
500
185
488
860
152
464
414
333
292
337
221
290
194
329
741
265
141
98
353
339
429
464
533
598
158
93
62
571
383
98
81
916
151
258
599
474
50
488
141
249
405
92
428
68
429
512
325
318
777
212
353
547
213
198
368
477
99
111
109
251
643
395
350
264
941
230
595
488
418
341
430
156
206
151
377
470
192
99
737
449
51
234
98
241
125
476
660
165
404
408
361
528
374
324
501
82
53
159
312
506
561
521
182
234
547
229
685
364
449
467
235
141
556
388
380
408
459
452
458
443
575
420
556
282
209
194
520
401
240
454
521
741
344
230
331
215
337
294
598
441
211
205
152
153
597
453
390
391
322
145
324
380
554
537
625
220
224
96
843
138
538
83
189
172
765
190
258
586
270
574
355
340
273
480
406
460
344
742
86
974
848
272
273
515
385
664
365
282
92
411
198
752
310
247
154
360
824
159
629
380
217
510
534
294
260
413
788
89
262
1112
265
117
377
435
253
182
132
230
440
335
416
300
397
711
104
419
391
238
206
208
208
516
407
285
647
60
139
249
395
47
386
361
335
344
252
252
598
474
308
331
113
207
434
277
493
213
357
86
284
616
250
383
730
295
196
526
784
480
449
269
453
548
557
617
182
62
274
287
170
424
78
469
846
192
563
412
464
585
592
529
91
389
456
620
549
496
194
402
249
147
334
266
416
431
167
480
390
140
188
632
381
294
440
410
291
341
227
711
364
105
275
356
354
209
164
106
668
236
200
555
196
483
508
373
400
550
103
754
702
580
50
659
535
226
331
289
157
455
795
553
461
531
31
456
98
365
293
175
192
618
339
39
137
133
587
353
317
185
84
802
714
708
551
214
299
502
386
127
146
69
239
342
223
157
199
116
74
361
314
314
433
91
110
563
243
416
335
444
199
633
418
395
219
188
106
641
355
104
451
532
224
311
457
411
242
226
650
524
164
260
327
236
390
559
152
334
476
65
384
126
635
555
560
150
306
519
686
40
339
520
365
422
323
232
543
747
94
359
229
280
299
161
507
476
398
208
238
170
368
294
138
283
584
332
147
626
493
622
266
523
307
350
478
175
256
323
553
367
647
495
123
450
582
580
685
435
196
448
845
93
140
332
318
258
171
207
233
135
824
249
517
451
406
373
789
344
253
548
296
498
218
283
317
609
601
250
192
629
651
102
34
315
197
572
335
484
252
266
636
651
361
78
412
567
346
133
440
417
554
344
256
453
298
56
570
496
332
267
517
580
407
418
94
440
197
540
308
276
439
181
379
316
403
599
257
360
364
117
352
145
437
59
373
306
158
620
427
165
111
617
332
296
564
244
233
266
431
260
198
443
225
345
507
598
290
301
495
180
173
520
247
384
62
309
395
230
407
611
392
393
271
317
397
105
618
524
596
137
304
288
35
116
283
320
722
192
266
321
581
618
430
458
547
126
177
214
475
261
347
520
315
610
619
508
520
207
744
283
379
156
710
102
152
43
367
261
211
323
281
331
603
87
871
127
353
442
398
306
54
489
281
170
277
414
314
245
323
368
492
476
131
248
430
69
113
82
135
274
153
448
545
260
82
572
178
135
568
617
11
575
280
165
480
228
415
169
695
301
207
156
278
57
459
800
904
140
590
295
207
723
416
484
374
234
241
559
407
61
332
782
92
363
380
180
469
334
404
286
347
443
625
406
112
727
201
152
595
401
252
209
546
186
335
102
137
99
149
106
111
221
238
530
548
454
332
263
220
661
918
357
439
398
259
218
223
341
456
657
433
459
198
406
334
514
366
48
222
428
158
403
671
363
68
245
281
259
601
136
448
1060
464
660
243
185
374
493
460
773
376
124
317
22
267
366
249
486
460
391
142
635
262
353
352
290
131
291
412
468
332
677
163
514
650
267
544
50
302
266
128
312
67
203
284
338
548
433
257
658
762
155
288
672
547
118
420
269
214
402
45
214
235
294
172
821
548
429
37
518
340
240
156
515
803
546
747
91
89
415
377
848
714
212
158
315
437
330
424
349
273
395
798
147
154
377
541
145
559
198
123
738
835
82
280
391
114
56
314
239
373
459
403
178
422
849
779
504
229
228
697
92
435
126
565
626
557
124
275
210
381
148
531
461
127
160
234
296
839
329
560
383
321
676
419
146
403
122
308
547
253
350
141
625
364
399
570
129
366
606
525
449
267
54
76
108
244
452
815
368
88
419
208
350
447
533
200
93
127
56
233
391
543
445
310
515
425
289
543
262
91
244
111
318
293
550
370
208
480
553
102
267
234
252
217
309
560
520
282
67
299
676
120
294
493
211
217
129
336
288
374
390
40
295
583
498
251
542
330
593
371
191
527
555
515
534
240
773
214
364
202
375
98
227
154
420
128
297
73
402
344
431
793
85
464
364
263
127
422
514
212
446
668
134
238
136
685
676
232
72
467
1085
349
301
164
210
347
138
376
556
96
515
270
202
485
564
312
171
319
198
301
238
384
342
587
440
444
263
728
635
206
153
216
555
101
379
54
349
273
726
246
478
294
682
385
462
474
394
135
451
424
78
211
450
578
322
230
391
532
352
357
264
567
57
92
70
163
788
98
226
487
150
538
414
449
472
56
516
479
100
271
649
428
319
536
300
507
370
61
419
267
704
437
512
897
335
68
549
682
195
222
177
308
265
159
504
256
72
501
534
528
319
694
296
586
493
398
413
240
376
680
165
124
219
411
375
299
304
448
657
365
248
513
268
253
177
86
275
386
281
389
289
485
497
731
823
112
312
269
200
371
217
337
266
77
42
641
166
373
230
277
331
197
122
426
352
594
577
620
232
261
418
457
78
38
79
291
270
418
327
114
316
492
732
415
408
334
574
538
241
120
435
86
556
310
263
440
323
185
326
380
369
416
685
678
375
386
146
251
45
354
249
762
467
782
463
599
171
229
558
134
507
175
244
102
211
206
358
182
191
231
54
151
622
268
676
276
256
47
359
373
97
525
295
426
231
112
715
554
432
198
688
193
332
269
358
86
230
344
469
486
272
98
305
161
487
179
213
400
260
390
241
621
361
348
427
541
109
140
554
548
507
348
699
134
101
894
192
272
405
116
145
184
43
483
620
296
372
167
348
104
468
727
340
453
395
376
153
566
160
177
122
197
144
550
289
232
164
276
322
273
335
455
146
557
484
610
284
283
469
192
192
342
160
319
410
82
490
454
509
579
156
574
218
579
693
368
221
311
72
184
517
392
526
189
375
185
392
275
212
150
429
203
46
145
707
93
688
444
654
362
310
308
526
459
372
702
78
657
443
371
289
379
236
474
166
322
687
274
725
328
280
209
674
298
358
115
358
248
253
478
216
278
467
324
182
176
224
455
571
363
465
406
309
115
451
299
492
160
430
303
433
331
93
632
310
134
264
354
28
213
440
321
402
199
512
220
123
125
735
245
499
442
256
250
182
398
488
332
445
274
229
270
425
90
281
364
138
369
496
426
326
582
786
553
563
331
163
149
660
394
395
523
355
145
492
118
365
293
432
63
250
413
113
299
807
551
795
578
413
144
98
564
464
395
366
438
191
333
588
290
294
119
292
69
451
289
187
217
874
302
544
861
239
59
434
557
325
32
428
342
296
454
747
311
281
348
96
689
276
115
247
227
287
553
895
157
763
832
58
599
347
345
493
299
223
342
265
391
338
585
496
308
233
333
445
197
843
681
267
418
278
264
132
253
235
287
445
531
523
417
352
219
113
167
268
345
399
197
733
325
195
740
433
156
170
336
306
233
314
773
349
289
535
568
384
409
363
505
314
674
540
713
484
187
335
483
274
205
670
183
315
875
381
285
718
397
276
165
546
321
313
255
229
618
273
282
155
509
197
583
178
266
225
253
434
515
306
379
346
183
336
475
39
392
583
265
110
425
77
416
565
632
410
718
268
511
403
137
412
274
541
130
901
356
543
385
226
174
549
409
250
737
390
333
311
507
447
509
201
382
527
701
666
354
519
341
578
222
341
342
553
655
636
205
408
780
264
224
384
494
596
66
128
186
346
252
221
825
118
462
293
437
375
94
246
1029
407
118
337
529
190
389
254
792
55
9
157
429
493
272
163
829
163
199
447
307
572
262
555
666
312
175
186
505
504
636
109
351
158
246
446
332
387
195
795
564
178
292
465
414
122
614
45
398
501
445
372
240
271
304
588
253
340
687
566
687
451
361
341
242
268
352
271
547
480
662
825
273
591
322
318
117
429
469
455
186
400
497
144
328
313
406
456
423
143
709
538
366
300
359
119
153
244
631
708
381
539
508
517
31
572
378
428
183
358
467
178
812
519
155
358
400
599
546
597
484
269
283
127
113
130
255
425
242
181
439
465
138
37
593
321
341
642
191
525
79
403
59
124
474
362
413
578
228
451
229
96
302
136
384
345
279
577
240
444
237
398
570
513
100
276
371
482
517
301
317
1110
239
562
92
188
712
322
647
524
45
240
239
287
607
471
331
477
73
348
197
588
511
515
132
588
200
725
373
300
205
255
77
3
277
651
227
228
169
126
278
127
141
258
19
183
337
127
129
333
222
876
142
470
525
462
198
307
228
158
225
447
539
281
215
105
420
244
184
345
523
426
234
227
178
423
768
557
222
556
311
739
292
496
211
210
553
397
176
288
475
328
441
234
643
1095
516
78
657
119
323
376
121
462
702
295
549
280
429
541
392
276
256
171
503
144
696
431
118
548
293
123
284
416
534
425
329
619
492
335
567
185
612
571
337
169
100
433
368
232
222
376
129
91
544
530
276
774
89
103
419
357
465
138
135
575
132
378
193
246
414
437
174
68
241
446
291
54
497
316
475
110
316
461
146
354
586
252
290
362
128
737
189
229
278
463
872
606
213
208
291
85
397
437
454
27
195
385
692
198
105
445
256
335
143
272
628
283
609
160
213
385
291
86
249
254
357
779
155
370
599
246
398
294
333
474
385
243
548
351
349
128
168
120
163
90
297
254
131
381
299
605
229
606
286
379
237
233
439
329
202
270
202
113
308
99
73
463
376
107
349
169
102
487
542
348
466
455
231
338
471
353
307
242
581
305
168
550
377
97
137
356
296
184
275
170
653
351
256
508
70
620
698
495
360
263
325
268
88
448
158
198
155
243
325
307
256
474
266
291
149
357
377
465
141
321
284
368
347
239
404
422
271
376
691
85
416
659
242
476
212
132
491
163
434
485
227
650
550
466
392
89
252
823
365
335
347
378
362
161
290
252
290
380
172
326
390
188
313
214
206
236
686
631
473
560
491
269
200
363
620
144
199
148
271
794
361
339
850
258
235
587
140
396
358
297
126
534
453
732
301
79
45
41
401
254
485
164
708
207
351
89
340
369
172
228
321
147
444
255
505
204
549
172
89
616
547
155
411
359
368
459
66
196
464
414
190
295
384
650
228
409
366
365
674
295
598
437
459
683
772
371
203
246
486
589
381
258
413
534
233
761
397
446
396
536
199
472
204
346
170
135
209
519
302
500
384
562
469
198
50
574
593
100
193
707
284
247
188
380
65
414
422
419
299
491
670
301
326
187
218
94
447
457
284
824
440
284
490
424
434
553
826
229
420
438
111
120
857
193
654
79
641
354
323
90
417
212
388
483
251
396
639
596
412
191
37
553
340
417
189
231
310
720
113
524
506
270
451
124
219
482
366
513
350
244
220
789
413
116
310
299
542
168
239
172
243
161
539
219
288
361
744
152
381
375
119
284
363
308
357
618
749
174
378
372
677
494
246
179
396
447
488
275
295
618
346
789
58
474
333
490
446
369
272
80
462
685
644
169
143
655
38
61
347
235
847
570
425
236
608
43
215
400
335
552
148
327
379
481
534
356
215
127
202
317
433
125
254
233
159
14
345
110
285
243
345
87
270
390
522
507
131
204
325
344
100
213
482
65
791
555
252
164
281
315
63
449
343
626
396
174
244
562
470
199
543
213
286
933
397
770
133
523
831
367
349
278
276
57
199
353
53
581
823
336
490
306
329
270
315
150
507
672
592
205
192
745
290
177
438
335
752
538
270
379
233
426
84
294
220
251
529
1045
255
319
156
118
418
231
74
342
707
272
520
73
281
449
155
130
373
384
182
281
148
40
430
468
482
807
362
51
139
439
506
436
607
326
225
782
112
187
106
370
728
380
375
327
342
351
246
457
227
26
36
321
259
449
389
77
565
408
270
410
542
415
221
302
185
280
272
144
532
675
488
293
398
794
236
204
349
218
209
454
259
35
324
428
242
800
954
97
143
223
295
516
320
96
306
248
382
388
304
432
24
148
230
172
316
376
709
422
489
288
152
208
265
225
765
199
586
211
88
516
332
110
225
295
443
460
80
444
160
289
388
136
78
383
258
202
387
581
281
423
183
590
196
276
268
296
126
113
195
75
348
43
517
608
635
158
451
591
272
132
463
346
175
367
241
185
336
412
411
414
203
170
81
541
685
330
337
379
30
146
387
91
119
157
177
116
86
415
181
130
294
740
244
88
368
307
440
415
744
551
198
65
539
259
145
405
453
57
139
242
231
222
379
400
372
218
89
290
268
34
539
586
784
474
255
363
315
438
459
415
235
273
146
279
481
142
146
488
345
478
236
275
479
417
244
589
442
208
505
231
213
448
44
318
396
392
45
797
189
470
345
357
367
371
373
326
138
491
398
530
568
242
289
156
555
371
565
47
355
682
266
751
742
172
460
271
674
411
295
375
647
268
360
582
497
637
565
262
591
605
769
118
247
60
348
493
274
296
100
98
477
259
246
167
238
195
380
548
391
341
529
155
199
593
239
27
231
102
149
104
662
298
348
700
281
446
476
290
304
514
728
386
389
254
134
486
177
436
264
78
218
83
196
792
456
443
418
296
157
173
512
516
852
270
469
270
355
647
195
246
239
142
493
686
432
277
839
281
528
549
260
85
250
341
582
567
435
630
166
286
409
330
79
594
299
246
237
425
536
522
747
44
431
56
354
217
117
19
808
232
635
333
664
254
597
394
411
374
218
272
257
149
250
205
732
386
225
113
163
312
271
485
80
384
211
769
141
381
195
447
411
444
32
455
379
123
80
306
252
80
463
214
69
548
541
164
105
638
522
302
431
198
461
255
277
437
621
372
80
114
274
219
385
239
555
528
71
355
857
471
284
700
336
257
298
233
298
212
601
163
532
601
168
358
351
436
353
460
531
414
361
458
334
281
70
213
310
345
289
23
290
778
306
519
142
370
506
150
176
298
622
419
464
211
124
336
251
17
384
247
454
302
242
378
558
421
301
209
247
201
184
356
297
482
425
222
347
92
519
181
272
387
179
453
64
606
392
209
367
771
493
365
306
228
734
175
73
500
107
460
114
29
389
225
682
173
135
381
31
440
115
202
409
326
427
215
699
191
128
421
228
424
442
207
653
322
163
279
334
315
557
296
458
526
375
295
374
608
195
812
487
208
508
305
599
1082
256
208
180
453
392
202
306
200
295
411
211
261
423
225
464
225
775
504
303
144
299
349
614
207
617
402
270
172
273
73
378
425
244
196
330
449
422
650
596
1009
142
92
70
173
634
158
277
743
409
339
62
560
263
646
392
187
282
351
472
295
556
113
520
579
147
465
113
190
145
536
302
154
633
162
157
111
47
62
153
231
383
434
584
431
449
542
271
414
179
246
143
446
558
179
259
97
689
489
716
151
262
399
803
692
310
245
178
204
84
204
303
266
358
247
391
256
232
187
499
281
669
734
390
217
281
159
274
384
245
190
260
400
48
220
274
659
686
192
341
137
319
158
314
236
586
207
218
781
167
249
364
574
139
564
97
489
643
547
261
241
286
81
88
245
400
159
282
12
32
530
428
208
319
379
96
222
305
559
298
642
351
205
534
286
302
202
521
365
175
206
540
412
636
122
302
170
381
366
198
182
359
238
361
347
257
308
767
354
557
15
395
464
521
431
388
464
429
157
610
475
332
568
294
688
551
413
581
388
187
75
329
343
404
697
262
329
565
381
639
312
526
45
293
526
277
246
438
315
225
151
168
497
532
371
488
327
79
239
156
197
415
65
155
488
561
701
111
366
474
456
184
377
544
87
283
667
440
289
33
266
90
423
467
541
38
275
605
96
43
502
204
236
281
345
225
387
168
57
110
473
90
626
451
666
171
286
153
424
484
137
475
57
747
622
559
197
95
302
246
226
258
495
72
259
602
174
680
574
66
311
161
559
179
158
636
447
602
296
551
497
68
188
65
747
161
125
300
750
509
284
405
545
820
537
529
295
529
355
623
182
433
803
481
80
651
62
125
390
322
86
656
509
494
319
179
470
212
181
294
55
659
457
407
606
383
395
451
77
393
227
543
113
250
380
586
572
179
231
374
280
52
638
215
205
493
269
162
391
345
128
439
59
150
298
371
244
436
343
517
498
211
222
553
427
280
177
614
468
85
530
244
449
276
818
98
36
75
248
349
430
334
111
359
509
105
106
496
485
347
294
387
88
663
247
469
103
262
288
129
201
243
545
258
211
98
132
186
123
166
99
182
368
455
430
107
151
207
377
317
382
233
258
102
94
518
326
413
117
466
560
263
86
260
514
493
144
70
285
420
808
274
358
428
179
726
550
303
111
474
369
579
476
373
465
695
479
255
462
65
185
495
293
47
489
441
212
373
622
92
232
547
390
409
191
247
438
156
383
481
90
515
389
460
602
284
522
318
632
779
278
53
579
325
750
105
183
508
202
451
227
538
112
307
561
423
71
376
122
412
151
262
104
487
34
149
274
176
525
484
381
172
237
146
729
432
100
498
441
299
332
537
212
117
390
386
168
376
248
251
699
743
537
71
295
392
218
139
311
453
393
400
99
414
538
783
324
367
229
303
154
345
564
360
195
354
826
105
373
406
276
498
372
86
440
160
372
88
393
340
378
159
315
350
317
721
515
505
415
27
322
607
135
461
200
447
740
198
182
52
390
267
163
340
406
191
163
527
97
679
319
511
440
151
264
467
169
458
403
538
312
294
532
841
606
305
427
153
515
251
703
149
470
170
201
383
379
170
685
325
179
429
407
136
305
386
189
155
60
97
287
264
545
229
134
1061
325
111
497
729
166
762
455
222
465
202
139
547
346
668
233
652
681
413
342
387
232
181
380
435
494
303
476
409
183
612
85
448
89
162
133
494
387
366
360
255
418
418
566
573
481
252
473
513
595
681
394
93
99
231
412
381
160
533
214
158
495
224
550
533
795
449
530
235
560
241
571
50
277
285
484
265
406
457
267
751
466
229
540
143
157
312
276
509
309
214
389
95
188
196
91
86
118
81
535
704
385
366
231
731
275
702
446
351
258
510
84
604
273
402
113
282
409
10
546
434
81
587
320
208
512
297
493
143
380
484
567
110
215
145
635
183
677
548
604
394
532
317
351
162
180
303
169
187
183
362
556
92
94
434
826
131
508
612
429
231
75
155
48
471
417
275
588
579
300
205
570
444
112
581
321
466
460
545
90
471
524
330
150
389
187
83
441
287
730
561
392
347
157
227
206
390
274
272
320
384
442
406
597
392
231
194
603
349
514
222
190
451
263
523
276
354
97
174
662
284
449
417
395
371
656
72
172
449
602
190
372
106
236
214
325
286
365
300
495
445
612
579
258
342
414
509
221
111
447
753
393
501
324
484
401
239
144
176
289
109
519
125
342
96
199
530
465
26
539
113
256
222
310
247
289
221
435
855
455
309
146
70
660
133
603
333
462
601
306
237
242
467
689
275
68
565
315
400
697
466
1108
236
294
481
364
143
178
93
295
164
476
149
147
467
305
409
392
260
398
134
428
399
317
172
510
244
306
522
561
38
228
555
84
645
362
84
559
401
569
423
146
458
568
376
685
215
54
81
315
795
540
363
291
367
275
44
214
239
599
707
659
329
393
614
110
540
235
183
107
621
361
245
199
71
97
601
377
450
427
513
245
173
466
246
306
353
179
368
697
247
149
506
49
272
194
368
628
563
369
556
82
450
392
159
356
313
289
119
287
275
420
287
213
766
57
213
138
645
761
170
474
235
524
88
187
326
460
663
490
268
121
836
619
232
495
138
612
88
383
363
106
98
106
574
59
732
436
321
724
238
276
339
428
186
579
311
100
205
295
380
163
598
482
167
238
73
336
502
35
341
109
780
525
165
405
257
426
349
422
525
434
23
631
495
287
314
161
230
101
596
445
235
447
307
461
286
152
236
403
305
591
367
91
331
320
331
223
446
430
318
486
139
548
369
517
458
181
51
372
353
54
334
285
88
371
720
471
209
137
398
210
68
867
333
172
262
318
156
153
307
396
470
429
549
648
511
113
567
213
216
329
656
117
584
249
887
306
237
785
299
181
391
107
232
486
320
86
529
337
550
356
538
71
201
663
181
214
332
447
120
458
491
123
251
502
208
16
468
592
584
824
291
227
743
306
177
181
361
379
843
139
447
226
146
597
228
59
188
411
305
198
522
222
864
502
452
116
133
158
400
123
376
333
282
396
143
494
253
190
241
117
216
541
560
263
578
658
374
472
459
100
188
461
273
35
673
169
485
83
155
247
261
327
511
389
248
166
410
139
335
915
384
128
507
296
502
246
664
206
481
398
88
249
297
576
253
206
258
230
251
450
738
351
442
669
173
262
344
470
386
470
109
81
620
347
650
321
180
284
289
59
607
573
508
164
71
725
628
222
648
257
487
482
289
315
216
169
560
122
271
317
500
235
356
189
224
433
335
318
363
335
245
435
505
343
347
561
317
380
118
805
252
305
384
186
251
316
204
210
349
233
697
228
394
278
577
360
264
806
257
145
51
380
348
489
348
474
352
507
206
182
706
467
111
140
155
292
446
228
106
688
464
285
226
390
271
124
97
515
568
454
459
431
157
425
653
212
24
390
320
355
162
292
441
231
354
134
243
178
192
385
283
80
539
524
135
178
158
203
86
704
264
405
511
438
352
483
826
383
133
74
547
527
167
257
1112
553
594
208
434
486
369
306
509
438
273
210
22
188
639
98
69
415
617
58
102
135
78
351
359
509
590
316
287
542
298
47
444
311
251
219
550
311
273
421
244
341
331
513
316
524
358
343
466
233
464
76
494
375
320
553
576
246
221
650
444
230
124
322
311
470
413
282
647
192
547
176
243
774
414
564
491
178
260
185
443
553
178
554
271
288
365
581
509
86
214
326
182
821
626
474
316
178
154
281
272
548
567
322
153
68
682
425
310
244
432
667
233
430
340
141
401
137
309
212
376
451
295
259
190
455
440
190
101
310
703
677
224
346
174
447
428
243
196
338
500
112
67
44
487
360
114
283
302
150
316
174
323
647
116
343
289
237
350
231
500
358
89
473
711
287
255
234
606
412
208
726
723
143
65
280
647
451
617
441
153
244
697
261
406
235
727
179
237
301
361
221
128
413
276
255
470
44
383
404
330
430
158
259
444
408
326
211
270
211
657
247
167
193
79
619
434
628
187
307
247
505
216
372
237
515
436
86
331
345
329
662
569
361
545
190
369
671
172
206
157
299
173
462
139
588
281
297
380
455
263
320
418
422
224
213
698
223
388
183
639
156
290
504
478
349
347
208
775
454
229
379
420
269
472
316
580
531
28
348
235
707
511
326
552
134
457
467
366
669
361
771
443
357
874
121
325
367
123
423
415
454
236
318
70
373
664
163
123
559
480
695
523
109
312
534
446
647
490
290
630
489
398
255
615
581
212
112
88
435
390
188
366
555
351
388
264
171
86
567
203
354
396
294
346
577
556
456
485
199
526
173
579
429
146
308
504
711
571
512
410
212
230
410
201
344
143
383
107
214
324
233
403
126
639
16
564
293
120
393
138
193
373
196
370
415
356
620
141
114
132
354
544
799
184
596
487
407
499
237
410
263
360
528
599
366
249
221
169
143
606
365
241
332
710
430
587
238
222
403
391
630
478
553
225
189
211
394
382
653
269
595
136
493
236
244
108
822
298
528
119
628
162
398
830
282
314
452
455
129
550
352
334
284
61
573
394
384
525
230
401
527
217
100
148
404
370
209
524
376
397
137
533
772
542
211
204
552
435
122
526
226
583
223
575
463
148
324
274
193
213
167
69
120
277
237
794
356
282
373
87
142
293
801
373
291
572
493
203
315
439
457
323
400
118
599
443
395
702
137
299
343
246
425
295
218
201
225
66
433
265
496
391
462
397
225
382
424
60
470
317
335
130
285
317
536
594
565
130
280
95
397
317
376
370
187
184
361
361
354
404
447
243
166
242
515
338
185
191
68
271
236
378
184
364
595
205
345
221
121
221
482
367
210
265
317
243
444
130
287
300
148
431
452
305
203
386
492
279
103
783
363
148
434
338
258
294
90
239
486
162
580
703
400
578
255
598
565
434
463
97
253
201
99
272
401
218
517
812
273
576
160
655
198
598
208
269
206
337
278
389
467
222
324
519
364
144
795
570
448
139
401
368
346
557
415
596
567
360
410
545
353
562
590
277
184
455
274
597
366
263
317
681
344
621
544
588
351
275
213
164
223
564
281
209
333
736
105
122
186
350
496
584
283
370
678
460
95
345
196
312
255
847
93
192
434
216
379
70
707
461
141
378
371
322
165
57
402
257
916
382
292
58
224
363
240
464
589
431
442
465
194
354
210
310
63
535
397
399
347
410
105
681
287
609
98
577
152
257
217
414
386
156
764
164
670
182
541
458
250
312
280
170
562
877
643
387
497
179
568
449
778
359
634
634
314
488
450
136
37
115
214
308
38
498
216
116
199
486
812
213
397
273
217
718
247
243
187
248
406
481
224
326
391
224
360
262
85
121
112
115
410
310
798
100
442
530
275
104
176
421
315
425
341
192
803
474
258
296
366
97
271
36
282
339
150
548
231
152
175
464
480
449
291
125
806
439
588
93
198
703
595
165
890
325
240
496
275
510
361
434
69
164
644
464
201
327
303
173
724
315
399
446
199
320
206
527
217
533
577
304
728
482
145
450
364
466
315
438
469
480
458
358
306
227
412
415
80
316
183
343
248
366
375
274
451
385
465
426
530
55
92
430
535
422
168
421
416
186
338
108
346
270
517
172
448
225
198
295
424
532
450
438
632
374
72
194
455
207
459
498
68
80
634
380
574
110
31
187
610
368
280
320
292
64
401
422
535
149
447
540
1097
358
598
596
364
574
114
312
126
279
287
256
363
390
277
125
260
142
270
358
222
196
254
517
177
238
191
223
265
307
848
142
160
175
573
549
458
520
636
78
245
256
316
432
374
474
481
111
719
401
514
335
431
346
268
403
548
554
63
375
559
256
446
67
308
192
315
1118
291
382
34
187
393
623
476
498
161
19
525
54
65
209
293
200
224
168
1047
136
70
780
466
381
448
552
707
319
504
269
491
73
258
775
389
77
419
607
612
283
182
238
748
84
575
81
253
377
659
588
554
150
157
101
326
560
311
333
434
210
60
175
253
549
90
62
185
555
531
605
173
169
316
424
683
669
368
339
357
222
353
244
350
546
173
270
182
437
260
376
143
542
521
383
139
384
309
391
583
204
54
145
372
72
493
557
304
83
427
206
126
280
169
274
242
234
460
243
384
762
764
137
378
129
337
472
319
243
652
528
123
65
534
142
240
106
319
352
131
409
524
584
681
466
196
357
340
260
376
571
544
282
229
568
317
491
328
53
149
463
218
677
514
359
285
193
73
64
468
353
508
228
345
183
198
530
403
513
454
143
335
71
206
328
465
446
187
306
369
732
231
764
181
206
578
137
825
437
174
289
570
597
268
567
174
109
498
537
557
194
809
339
174
516
297
196
383
211
491
269
45
438
165
302
724
190
68
435
420
413
388
337
294
506
783
730
217
405
360
456
396
258
122
790
639
515
533
113
532
408
124
438
706
510
89
270
420
100
173
320
236
395
31
487
484
259
268
398
180
507
319
334
252
329
187
558
64
111
265
675
539
351
442
385
478
383
638
412
375
347
175
145
329
286
266
153
201
57
279
388
382
219
315
585
340
426
115
755
189
548
451
397
170
172
776
548
252
309
198
616
600
412
614
557
40
67
390
339
701
117
306
521
682
436
351
257
104
754
140
498
104
47
463
617
633
396
501
85
225
478
203
158
589
562
193
344
71
415
248
240
135
191
285
631
485
143
320
545
190
282
214
728
128
297
553
535
518
91
325
378
498
327
243
288
480
233
304
163
45
94
112
78
281
234
600
128
143
584
246
169
567
180
630
258
231
428
764
178
443
134
215
99
354
677
544
468
620
388
268
455
173
665
242
31
378
154
109
232
154
254
208
516
135
384
178
452
90
625
715
282
208
360
105
230
427
130
620
528
145
231
644
607
175
454
248
398
283
157
232
83
395
430
308
543
784
352
300
165
145
416
205
364
509
92
60
610
360
528
587
202
172
173
655
226
320
147
151
451
613
110
54
238
424
572
36
477
434
268
275
550
393
186
478
117
771
494
194
533
524
633
450
416
172
201
98
254
590
415
442
327
59
345
119
880
72
510
391
294
341
211
590
314
329
98
401
280
740
477
439
397
543
728
313
259
294
395
637
844
477
360
209
111
470
254
127
494
315
348
561
22
431
395
407
434
231
468
209
640
300
143
330
213
188
169
377
223
185
443
393
220
55
395
257
215
255
577
548
218
403
310
319
266
647
280
182
474
269
373
345
503
234
242
252
488
286
288
136
210
244
355
258
130
224
206
285
620
168
434
552
321
901
303
504
34
453
412
753
208
389
542
544
273
130
143
730
258
164
96
357
142
129
380
387
225
326
91
277
174
155
796
296
425
520
70
366
321
155
191
198
501
610
357
189
100
500
136
90
558
240
342
454
514
530
332
627
577
384
348
234
575
339
554
468
197
257
126
354
228
402
205
147
103
269
74
383
311
557
75
432
777
585
56
223
216
503
793
471
358
307
163
380
226
113
52
225
191
414
576
101
377
578
269
561
477
119
316
264
365
289
55
439
237
411
525
343
524
140
538
247
316
152
535
110
169
234
195
222
402
369
92
222
156
334
544
417
220
520
252
224
146
533
152
195
275
538
74
229
635
314
205
445
639
209
155
144
437
503
439
138
441
478
247
466
363
419
220
464
501
220
141
329
549
409
388
426
384
268
194
585
548
354
375
480
604
365
110
626
287
309
205
395
140
416
196
230
524
285
294
477
561
313
202
592
89
240
383
249
351
196
484
439
93
88
208
265
75
319
350
343
226
254
269
315
318
414
364
88
902
276
152
337
503
409
59
343
608
234
689
313
150
655
305
400
363
580
84
377
71
400
289
71
65
614
479
53
95
370
323
246
514
258
111
494
215
707
220
140
294
391
428
73
225
149
440
88
313
32
645
314
111
130
504
513
160
401
501
340
633
237
417
74
526
406
560
418
331
490
260
457
508
290
56
419
147
239
372
98
497
208
180
115
135
422
567
754
164
476
370
144
295
202
458
366
780
305
202
80
409
349
184
174
263
125
164
475
462
374
95
435
33
502
230
203
449
116
225
108
244
101
438
590
560
398
497
227
320
246
132
433
633
212
245
219
558
496
329
293
479
163
82
891
323
284
257
143
556
418
532
274
206
415
300
288
479
139
175
304
196
331
246
377
217
229
468
7
645
334
93
452
57
373
373
396
317
357
419
109
110
584
93
168
65
198
110
524
188
236
284
659
221
159
153
268
318
372
418
103
197
65
738
37
230
374
89
379
274
225
239
285
238
238
430
480
659
246
175
545
40
500
498
228
362
802
380
641
251
153
327
601
394
492
658
156
274
177
507
636
745
458
531
351
379
745
337
586
448
405
289
282
305
65
510
917
746
328
236
341
233
354
865
447
375
573
286
581
415
374
362
390
57
411
293
363
213
338
96
453
473
319
139
143
73
347
144
63
104
481
394
313
904
112
348
287
59
211
176
420
382
527
457
128
364
217
492
252
487
378
568
463
517
558
750
518
589
109
233
98
300
536
356
139
705
207
105
288
237
73
401
212
397
757
595
410
579
135
164
133
434
336
770
274
375
438
344
141
244
350
60
140
725
537
629
116
183
493
436
253
873
514
270
348
378
225
308
249
333
61
685
693
467
831
167
459
421
496
267
307
552
205
180
652
63
367
375
192
274
640
203
377
324
385
193
370
355
366
128
182
62
88
763
596
108
169
472
638
326
685
185
75
531
108
615
190
369
86
272
131
115
168
125
498
133
130
74
201
97
273
537
313
130
348
444
188
449
86
419
525
317
39
389
181
446
82
221
532
342
550
124
292
572
267
372
400
57
512
450
132
717
475
550
347
272
107
280
173
95
158
295
705
801
508
588
198
218
552
672
111
356
175
84
263
210
90
401
353
228
857
532
116
390
386
267
149
39
316
196
225
221
440
117
106
264
92
484
289
121
204
173
378
273
290
36
550
217
148
343
376
665
561
336
367
567
431
606
311
331
500
288
213
42
314
546
225
310
217
520
605
190
451
238
460
517
287
263
518
536
94
810
567
403
720
588
303
140
362
254
452
483
660
439
239
167
349
397
515
750
44
161
278
200
106
380
237
280
135
157
596
538
435
512
89
456
342
551
432
314
229
146
252
639
220
196
85
55
223
461
791
350
363
345
352
157
860
457
286
464
333
161
458
154
461
110
42
360
283
317
92
114
393
210
96
359
281
531
591
137
598
271
597
468
453
349
342
194
51
1001
364
206
316
466
442
448
837
406
511
151
445
198
252
556
104
611
447
206
459
300
518
613
347
151
377
380
150
280
210
523
391
173
348
95
570
649
407
490
163
172
238
330
63
255
303
488
490
351
263
143
145
158
121
370
138
182
551
340
523
295
278
433
89
316
509
119
124
716
100
287
251
495
774
31
450
431
517
456
465
202
182
143
235
416
74
628
93
414
256
386
186
249
192
196
508
453
694
411
468
389
918
202
365
170
532
145
428
174
280
109
87
473
206
112
628
235
350
806
276
499
288
898
467
60
299
411
501
643
254
211
212
213
351
107
469
291
113
539
751
219
53
520
661
129
620
339
504
281
217
268
331
394
304
217
140
614
408
294
566
704
457
318
371
445
491
133
652
319
572
524
248
321
266
359
457
603
85
204
463
409
163
457
374
183
165
454
368
141
302
288
69
109
135
161
503
357
296
435
655
306
204
722
435
88
544
393
369
214
614
105
693
581
318
276
374
244
52
43
229
515
196
534
24
274
384
379
304
510
714
664
305
61
529
492
255
225
307
365
822
217
868
469
140
407
178
361
353
151
191
229
183
458
590
369
198
84
408
268
430
335
235
154
348
172
556
203
456
659
841
208
599
370
177
552
64
321
268
325
161
591
79
263
306
720
785
48
120
774
659
296
612
494
211
561
206
518
253
195
539
414
379
617
211
323
518
551
294
357
509
920
434
359
291
345
643
689
113
369
425
639
387
363
210
270
183
206
514
364
346
344
393
200
862
138
410
104
249
730
117
349
372
232
163
416
319
168
207
480
324
700
362
382
204
642
451
551
224
396
179
586
253
644
492
197
763
255
314
388
386
214
208
266
633
196
435
385
246
483
342
293
308
492
732
334
511
102
548
191
161
505
89
661
288
575
623
571
244
555
428
111
122
334
158
380
158
216
346
706
436
125
587
535
150
357
372
586
221
836
373
176
198
237
213
350
219
116
483
507
167
253
222
620
793
544
281
133
798
225
399
377
204
595
90
334
285
168
254
192
456
165
257
826
399
821
232
99
379
164
596
344
391
178
153
238
535
300
396
626
357
103
211
78
125
76
255
645
302
587
682
170
300
276
480
132
225
323
367
98
450
157
371
260
588
74
250
214
354
502
430
117
361
503
130
361
417
625
401
282
857
99
230
224
383
839
65
329
297
790
106
274
494
381
450
94
227
317
331
240
546
501
396
487
81
616
295
57
238
680
371
354
463
451
345
295
288
321
667
738
327
62
305
176
168
348
407
262
111
345
614
521
474
113
285
269
203
443
90
71
373
356
334
402
555
295
223
400
520
670
70
329
286
443
297
430
621
427
533
454
133
244
314
186
477
234
663
684
225
807
216
747
282
328
127
369
141
276
163
325
248
215
442
238
157
171
308
182
263
746
377
367
376
520
445
451
440
617
204
172
354
283
194
205
227
474
363
558
292
376
330
612
612
233
561
674
397
335
484
814
415
233
544
215
419
300
49
390
285
63
479
446
429
211
805
63
336
300
266
510
340
103
891
625
270
339
298
497
315
589
19
442
157
526
459
181
260
332
614
325
323
249
202
178
67
166
239
298
689
512
282
331
93
207
394
855
234
146
203
263
513
321
592
211
523
366
707
573
420
53
117
450
576
479
262
513
540
255
8
391
799
576
241
582
183
142
699
300
646
450
155
391
58
451
242
704
427
335
278
86
141
383
202
84
223
145
625
459
664
743
330
400
628
408
489
145
474
605
744
385
417
85
388
128
187
474
287
825
89