Files
Tutoring-APCompSci/Files For Sorting/100kRand1to1k
2021-12-13 12:00:47 -06:00

100001 lines
380 KiB
Plaintext

113
337
138
345
821
363
803
962
991
331
463
627
787
409
791
312
619
747
347
421
907
489
293
696
129
463
412
469
538
279
350
389
554
914
396
913
229
189
648
511
151
700
126
530
798
879
245
81
716
878
63
184
775
848
914
594
467
42
324
420
428
851
628
675
324
562
316
369
829
109
944
600
678
585
386
401
654
575
325
742
973
681
124
196
690
725
655
251
684
217
222
157
245
621
467
494
526
856
16
342
924
238
665
84
974
770
136
344
480
283
743
534
427
437
870
792
681
999
785
834
593
140
175
399
427
700
757
510
939
529
446
730
550
9
868
966
276
851
465
127
14
54
8
150
812
729
153
446
477
99
540
854
268
584
38
555
407
351
974
201
870
72
561
756
226
938
272
103
314
159
645
553
181
285
820
764
31
675
141
455
892
381
332
511
327
481
62
728
802
683
205
512
248
598
752
277
965
635
93
181
229
929
374
85
901
38
719
315
878
407
365
879
449
773
204
276
470
720
761
958
854
608
417
754
977
944
521
346
523
68
128
922
726
716
260
713
162
621
978
29
16
805
28
717
262
662
539
742
265
193
25
718
127
36
974
764
532
27
405
22
905
74
86
556
493
68
565
83
338
409
750
202
196
478
550
350
170
29
19
707
181
82
483
668
446
326
416
302
810
454
158
426
125
125
175
537
857
441
191
863
752
923
460
223
732
992
373
218
110
836
832
517
881
410
121
641
88
989
469
708
224
375
175
53
204
337
928
504
696
370
922
369
499
151
458
859
227
357
12
762
751
669
132
660
751
829
142
901
230
636
324
807
59
591
166
334
429
734
294
501
601
889
909
434
508
125
905
778
545
756
357
601
374
620
743
602
689
671
83
633
634
178
153
56
64
910
87
438
856
761
964
441
289
198
415
531
863
749
925
331
32
525
225
975
1000
427
121
883
143
235
179
693
596
277
881
953
302
754
318
341
66
48
960
821
259
582
801
150
369
868
1000
575
994
386
161
421
772
865
560
451
393
333
974
605
136
46
207
689
252
16
83
129
170
420
463
693
707
581
763
409
368
599
613
559
420
927
490
712
581
375
650
261
93
88
192
806
437
999
872
50
154
164
133
560
64
161
899
872
688
408
828
939
811
904
144
846
951
336
621
44
952
961
987
107
50
972
845
145
544
251
182
571
609
601
671
873
930
527
272
408
523
620
84
997
570
415
18
294
110
380
594
465
168
324
127
722
266
104
598
632
299
969
778
939
429
266
526
847
998
509
744
298
465
34
179
840
8
509
98
83
771
639
886
563
654
246
798
112
220
791
387
429
540
73
658
649
732
497
585
113
546
844
473
454
605
896
554
350
798
634
330
996
886
984
461
400
604
235
357
147
407
327
281
104
541
182
442
902
295
133
464
710
155
280
692
919
38
304
932
904
985
883
643
943
454
311
71
697
863
407
496
409
125
29
596
122
700
819
899
764
148
873
440
898
215
85
42
331
272
874
61
494
310
820
87
744
750
523
809
266
56
626
202
272
505
538
258
598
490
860
714
564
428
880
625
215
680
816
157
640
887
656
701
103
772
556
237
155
795
758
913
698
968
890
966
253
806
361
419
288
644
232
510
553
472
639
391
789
74
325
499
75
450
310
865
326
450
74
831
144
82
873
813
297
172
973
237
595
943
662
324
842
600
865
116
803
170
63
52
893
742
25
433
356
673
518
305
239
566
802
672
425
548
177
433
262
913
306
134
115
279
311
419
295
194
892
92
360
563
850
786
762
358
403
570
164
828
659
252
525
805
439
766
231
797
409
750
123
234
122
402
286
658
173
720
820
603
100
495
652
687
89
813
645
681
782
342
856
403
721
411
845
883
34
727
344
575
971
587
428
360
837
622
588
690
654
424
721
535
628
902
138
679
115
823
119
556
332
840
428
16
479
190
459
360
306
413
376
495
410
668
674
321
692
664
89
293
498
779
681
672
919
678
211
121
620
651
648
172
337
896
733
577
903
200
97
714
221
828
293
8
148
921
493
839
639
403
293
472
824
190
260
364
920
502
356
638
2
207
390
566
703
413
947
699
837
986
85
652
819
264
197
626
466
30
86
456
481
670
229
359
428
589
641
570
531
130
548
750
980
647
261
377
723
952
286
355
913
20
713
684
286
701
350
400
732
233
910
911
255
461
788
500
320
50
629
51
307
422
909
967
445
805
242
853
90
563
968
795
719
940
861
933
283
446
458
639
884
379
607
771
875
401
320
387
522
648
895
812
408
610
609
141
565
869
936
104
160
868
432
702
222
39
868
208
517
32
195
886
165
225
198
316
15
443
469
250
110
578
476
794
795
816
19
63
148
306
383
605
462
393
801
609
432
6
653
318
570
366
982
142
96
991
505
659
250
834
270
87
511
516
519
818
688
826
119
311
242
37
117
958
462
156
604
553
325
909
92
643
972
120
18
337
717
161
849
136
444
317
482
954
42
238
281
775
259
111
144
350
996
870
472
888
580
493
734
993
11
444
636
948
526
378
553
56
61
532
973
929
385
595
188
500
709
478
375
71
587
95
495
878
762
171
150
504
444
146
667
965
151
414
183
451
884
533
423
514
890
520
233
949
672
30
626
754
247
46
268
317
854
674
885
430
456
793
21
802
411
593
931
498
627
477
203
142
374
431
822
775
675
711
33
966
859
613
289
159
415
193
24
272
798
992
749
221
162
253
190
420
326
634
816
272
464
130
107
349
70
768
337
230
827
658
505
985
834
162
258
861
543
223
307
38
415
458
891
247
987
157
302
640
534
221
346
533
992
950
872
555
124
731
218
318
177
941
448
883
465
783
801
244
322
358
624
497
905
15
392
633
172
879
106
650
143
543
488
247
274
83
910
468
334
902
914
500
712
460
510
282
481
580
204
713
848
853
824
11
873
665
763
235
443
487
258
42
540
359
623
520
767
983
193
335
976
394
847
486
553
994
623
683
614
613
872
735
920
358
843
354
781
236
345
482
623
918
386
569
148
579
262
253
244
402
622
512
875
254
443
703
185
997
689
843
984
102
661
124
579
536
703
916
650
401
966
480
483
410
401
151
443
99
8
53
965
628
651
278
732
103
406
22
944
655
513
409
738
889
475
574
906
924
760
137
3
955
842
361
853
170
48
129
217
884
774
399
91
976
160
907
695
36
252
732
741
183
988
792
940
145
104
448
64
49
197
202
73
330
730
876
974
309
726
770
88
300
249
49
359
526
575
982
192
765
84
763
51
380
531
303
703
326
315
815
590
791
775
984
249
365
335
249
110
15
539
22
263
696
614
701
995
112
240
965
1
14
618
157
140
430
763
529
582
385
193
732
943
999
829
236
778
331
959
276
399
981
613
519
552
242
507
908
889
563
42
10
573
166
467
797
545
952
450
964
208
226
734
785
296
353
514
33
713
198
406
668
963
79
648
835
631
5
240
234
8
190
279
35
614
159
667
376
811
306
683
889
179
415
681
871
580
480
303
465
116
157
136
655
263
290
734
991
553
286
261
669
69
526
786
38
904
628
452
622
467
138
314
501
195
134
620
238
777
318
735
578
506
389
667
833
705
881
408
205
513
205
878
289
456
318
304
663
376
307
288
773
262
189
641
296
447
395
317
768
465
730
408
569
559
88
229
262
499
828
961
905
858
528
214
167
389
761
103
18
438
667
145
298
640
343
341
692
255
494
310
513
612
367
233
225
62
728
668
816
760
496
3
976
352
756
432
532
346
992
855
744
554
817
32
875
480
928
658
919
955
717
752
485
620
786
925
619
107
587
599
778
873
566
269
268
687
453
197
185
726
825
756
330
60
646
771
609
71
269
832
139
36
305
499
688
619
808
751
49
548
517
807
696
90
209
677
354
246
835
391
156
775
746
896
683
248
220
25
508
346
492
789
832
529
654
451
405
10
140
530
233
694
961
904
472
393
515
644
527
117
597
81
616
748
147
883
941
686
431
580
210
361
570
73
423
644
779
143
736
258
233
878
749
267
228
231
718
599
170
638
65
356
999
732
40
334
817
715
547
796
884
868
953
31
631
30
163
659
18
590
383
942
399
706
731
594
10
9
354
714
380
991
727
495
198
676
615
321
681
901
559
677
51
752
796
107
506
246
261
55
995
370
685
40
174
965
807
65
157
745
452
542
51
961
512
312
832
827
905
515
792
836
224
181
663
548
100
410
533
225
260
906
820
972
906
479
935
646
294
827
691
886
339
543
214
38
665
838
853
644
758
912
564
418
791
240
354
306
246
312
605
331
667
516
557
381
770
928
760
24
640
738
82
719
944
932
703
503
928
621
609
351
469
115
270
923
579
439
558
340
609
467
477
969
836
308
921
925
248
840
546
158
117
566
767
527
395
46
80
241
50
240
178
400
194
2
772
129
297
839
657
4
786
791
313
18
98
957
248
361
593
749
373
636
760
438
919
991
873
942
813
799
535
69
950
188
606
647
518
686
608
59
371
719
63
697
491
518
137
786
692
216
626
811
113
574
566
543
468
844
704
257
702
695
656
284
461
23
809
487
775
735
949
595
410
255
144
574
654
605
622
394
690
380
275
598
302
860
929
79
375
776
712
314
557
977
700
131
475
336
498
741
124
786
597
398
363
259
124
518
9
694
88
551
667
948
357
146
250
654
337
455
147
582
816
479
123
34
480
438
318
156
372
83
195
836
987
698
848
29
707
316
884
913
65
332
996
306
616
243
405
134
313
742
611
572
880
765
259
657
87
377
461
814
795
555
658
744
277
80
906
547
690
673
526
790
456
508
204
475
11
978
968
494
608
370
934
220
808
694
362
344
898
473
351
918
702
739
462
849
171
809
648
754
676
699
152
185
171
179
429
704
250
533
757
188
643
83
892
67
898
395
46
864
823
875
497
566
769
177
323
846
981
406
147
82
53
638
254
478
2
666
134
304
574
225
325
431
200
135
393
877
436
968
70
63
820
860
802
810
816
37
467
907
945
471
586
228
220
845
148
998
759
646
58
748
799
804
315
945
367
741
245
41
548
88
508
928
642
602
144
373
473
34
614
50
798
761
654
186
53
27
778
713
642
540
427
2
597
992
86
952
728
780
179
224
296
859
184
891
848
180
213
617
88
599
223
766
585
511
191
524
637
714
767
163
878
154
413
124
34
283
568
427
808
740
117
277
29
924
346
395
51
846
588
753
892
297
976
889
731
15
83
910
234
1000
717
643
598
562
840
101
357
982
379
594
762
924
694
384
977
820
589
697
431
532
77
316
407
497
521
716
360
447
407
895
509
518
762
639
965
245
142
938
27
500
193
667
320
896
29
466
108
583
37
931
482
616
296
871
107
289
457
381
856
936
826
937
2
671
371
512
557
481
574
5
10
898
349
857
980
184
743
840
218
608
766
420
23
934
501
985
330
655
580
480
688
895
239
682
855
119
399
433
997
981
667
621
310
685
718
609
446
227
234
113
285
751
485
229
449
43
674
442
442
888
366
936
472
592
671
491
781
507
387
567
828
776
936
899
752
855
817
107
325
579
192
343
65
689
456
982
236
734
854
707
243
258
712
127
291
977
422
219
290
445
115
508
651
357
841
836
27
185
171
17
69
357
373
440
942
525
678
915
701
794
722
643
630
936
927
256
262
757
459
243
166
742
407
964
497
59
991
652
970
779
932
483
164
938
620
818
25
645
311
189
1000
16
432
476
511
158
970
974
353
723
66
741
182
888
177
690
460
702
605
383
98
861
740
380
576
919
130
300
501
822
348
452
387
469
693
12
961
646
939
249
448
322
736
218
84
781
733
676
581
478
217
722
399
820
834
803
440
304
978
269
227
578
552
641
716
4
106
102
638
278
812
493
672
482
318
287
806
713
330
575
970
88
639
108
366
501
426
821
7
966
888
75
584
784
622
50
201
17
744
359
442
5
432
930
948
693
414
698
949
602
973
397
190
131
164
67
283
753
304
469
830
341
249
684
573
521
627
635
415
467
985
121
425
20
750
220
822
325
20
610
502
467
463
433
890
737
27
806
761
220
705
1000
215
378
388
586
165
183
680
573
548
133
597
672
954
181
316
330
528
207
425
130
816
168
706
449
679
464
111
48
526
388
423
377
903
742
95
944
897
838
864
74
912
131
69
700
122
673
13
657
305
452
358
80
829
381
259
115
258
426
906
129
452
873
178
22
22
261
384
1
726
830
413
439
694
671
194
21
407
933
49
400
966
531
378
35
538
833
134
690
803
685
717
335
850
974
227
817
273
632
522
729
121
637
131
371
964
78
904
540
586
815
197
182
711
599
526
593
724
779
852
960
590
890
124
494
3
457
231
344
376
362
296
738
417
978
77
533
925
47
350
467
895
12
283
920
200
69
214
910
925
741
740
417
879
163
684
815
953
606
367
387
758
978
533
423
410
170
488
357
424
160
240
786
439
723
926
951
869
442
378
475
658
482
486
701
39
236
898
983
534
516
692
678
503
470
871
372
208
732
953
108
702
647
416
966
855
571
526
401
492
373
864
138
896
243
940
276
935
839
410
496
661
632
759
893
535
993
782
19
330
244
845
187
401
399
691
931
222
776
506
809
7
7
84
389
789
218
167
371
550
341
471
258
869
551
481
901
69
821
838
544
50
451
997
695
818
230
929
275
222
570
797
997
577
545
903
889
639
293
747
163
872
632
643
417
91
59
245
258
297
542
234
29
3
623
622
244
411
394
382
725
551
866
581
194
910
74
790
243
122
23
325
211
18
264
763
460
701
427
276
959
333
512
561
862
27
157
501
9
555
340
270
861
583
181
279
407
825
642
209
33
764
863
419
138
618
841
142
550
798
956
249
428
406
550
820
387
265
439
399
48
541
731
615
78
277
800
790
43
71
583
269
93
663
652
465
571
443
651
33
119
742
772
160
774
302
896
700
812
514
942
749
853
838
705
323
805
339
197
981
782
392
88
617
41
462
342
123
322
285
558
330
709
941
866
431
278
56
406
92
357
820
594
576
163
595
386
518
968
636
705
425
698
850
39
582
52
576
982
826
823
87
139
532
60
884
392
283
150
893
1000
864
663
332
372
672
25
394
649
126
709
854
435
391
632
383
76
576
893
661
948
584
811
323
69
950
454
432
208
344
518
422
370
879
439
396
168
27
99
259
132
706
347
410
441
83
813
632
924
731
196
341
422
34
263
628
763
162
305
350
671
516
680
80
922
268
371
907
893
504
225
906
498
533
601
616
145
131
732
2
973
805
986
180
130
745
579
678
260
724
1000
96
683
91
599
822
981
947
273
905
828
761
223
252
947
934
48
84
1
326
261
981
96
317
466
906
315
765
18
320
364
128
988
854
982
109
651
61
241
391
490
425
240
438
961
170
982
867
843
394
416
616
28
710
730
951
37
886
976
425
383
951
29
7
123
825
686
980
621
867
462
651
550
595
229
572
660
488
417
756
688
999
919
336
38
796
198
196
582
848
346
393
953
147
996
598
253
758
88
344
951
405
424
629
71
985
841
284
456
251
643
576
38
390
579
708
545
383
287
243
992
854
621
971
672
547
684
444
62
738
703
184
238
626
125
594
913
207
422
699
206
224
143
180
578
507
677
571
172
468
68
133
943
525
948
653
577
979
327
358
162
224
555
195
976
213
231
954
577
761
225
125
552
642
246
890
933
398
619
376
289
468
978
149
929
516
650
918
491
840
358
626
431
333
726
392
562
773
778
279
866
136
264
481
227
222
150
322
631
133
111
422
627
37
139
463
535
236
711
292
950
729
52
468
605
375
149
981
534
275
122
569
782
155
425
972
618
414
178
477
326
961
575
346
158
136
938
32
969
825
506
642
390
322
408
746
120
643
653
467
74
748
135
773
682
579
818
15
572
906
293
67
260
726
817
866
210
348
850
742
838
375
783
730
586
508
293
919
203
447
253
24
753
221
661
564
681
951
388
419
458
380
859
102
977
525
950
763
845
444
511
807
177
405
896
18
327
763
825
255
208
398
699
105
528
915
214
356
304
698
766
810
474
515
657
722
292
620
558
128
477
204
48
408
730
586
281
713
363
784
12
288
214
948
265
307
988
685
926
575
394
477
380
304
211
244
145
278
507
598
117
845
746
483
651
597
474
712
196
77
577
367
639
522
861
175
798
488
855
714
751
179
258
774
809
443
459
258
971
671
873
784
667
333
640
529
400
434
399
924
695
971
428
536
409
395
442
815
8
126
725
455
913
434
75
756
390
361
266
762
738
927
310
902
726
538
867
545
336
388
537
186
861
661
634
926
326
483
245
556
13
940
71
820
605
924
552
364
77
218
251
477
12
36
370
984
460
165
474
516
793
983
241
6
293
871
103
410
336
959
140
568
134
749
488
630
941
832
818
665
541
876
161
898
590
32
456
534
106
174
726
269
967
689
711
412
828
80
123
980
214
303
427
289
939
588
187
298
158
455
587
453
534
821
680
797
9
328
283
936
634
518
220
792
746
70
773
172
530
78
792
877
699
257
919
465
534
72
747
780
62
974
558
92
491
347
491
978
310
297
598
118
675
128
265
803
779
182
909
271
921
766
704
971
888
33
288
434
111
11
109
760
730
477
65
618
386
975
586
283
50
108
146
463
680
159
495
566
811
213
535
635
455
209
885
388
866
774
652
663
740
275
823
98
463
230
985
87
842
136
819
847
567
803
881
967
347
473
751
958
246
384
526
100
260
934
975
397
599
260
421
531
411
904
546
520
980
193
889
176
484
96
726
599
490
638
437
653
286
381
196
790
982
91
999
643
113
488
666
530
70
865
381
371
333
478
792
560
875
797
445
27
547
131
575
25
503
661
842
232
937
633
688
368
484
301
339
849
670
233
384
973
667
768
43
748
473
727
921
753
313
959
74
349
733
953
681
163
357
544
483
13
742
658
405
316
104
200
475
636
953
404
222
184
821
409
225
5
352
398
395
78
979
354
848
764
315
393
966
866
133
670
323
64
563
48
716
641
663
84
415
232
78
406
129
784
891
197
900
40
88
367
270
648
285
938
651
410
496
320
763
302
755
465
366
624
350
304
301
49
272
510
15
395
237
367
342
678
307
466
283
349
694
5
943
657
812
716
574
785
15
823
883
711
753
977
373
766
61
820
525
516
409
685
18
888
929
943
71
442
951
690
173
306
615
791
152
566
15
762
575
849
4
634
918
409
274
714
829
303
829
127
59
104
244
120
322
204
443
364
432
948
802
932
543
705
527
176
222
552
172
492
379
369
89
809
806
45
348
725
157
954
383
377
754
25
213
515
515
538
587
741
634
244
818
558
383
543
379
701
559
196
584
183
631
522
757
651
636
101
397
933
184
753
718
87
761
965
844
915
652
8
672
615
413
688
75
195
788
56
690
356
400
427
25
742
302
741
951
889
711
653
998
717
858
709
9
125
903
643
833
98
283
135
743
758
715
325
156
934
300
6
88
197
813
712
444
731
339
813
935
104
855
372
900
749
215
721
786
951
300
637
369
224
728
562
56
228
633
514
790
795
499
217
107
210
935
503
913
632
571
229
396
404
974
779
281
70
589
735
350
105
236
446
707
729
612
29
819
669
589
815
735
427
845
360
229
424
480
926
827
372
861
785
801
355
866
752
265
430
87
157
439
949
288
807
995
472
637
595
162
860
772
113
919
74
767
992
183
280
478
725
358
90
508
423
7
154
280
278
683
868
295
515
154
652
690
267
351
129
616
115
378
523
817
999
829
778
3
838
481
237
275
450
148
160
905
339
111
56
224
462
85
543
252
368
122
433
961
996
185
840
744
960
398
368
745
403
144
839
193
332
220
643
781
908
268
462
438
326
561
55
528
776
3
822
660
469
916
47
776
855
774
103
135
994
527
399
147
469
629
522
720
399
119
849
965
847
412
899
638
373
514
803
650
570
465
608
355
174
728
528
86
717
90
920
594
795
422
466
615
689
265
14
799
493
818
568
604
903
347
170
591
515
436
795
738
823
757
925
16
106
280
176
491
29
875
193
645
129
326
63
429
280
645
635
819
882
419
494
277
789
619
793
584
931
964
791
938
149
436
754
138
63
3
795
865
632
963
370
817
676
546
384
491
818
605
295
932
186
281
166
619
744
496
369
13
293
13
493
955
52
590
110
244
184
447
186
223
832
859
338
161
1
190
623
512
112
115
200
898
162
66
81
807
215
174
108
534
365
126
473
862
430
355
379
350
353
956
881
846
708
560
573
39
776
143
523
441
337
418
811
171
740
28
56
319
810
223
598
469
851
88
350
159
333
674
901
685
866
582
139
653
691
635
529
145
261
301
185
156
417
411
55
243
309
560
847
922
483
290
824
454
492
778
215
83
963
314
802
651
340
259
180
823
371
546
290
785
19
52
111
395
648
292
778
233
253
991
12
923
981
47
442
350
417
276
309
168
932
124
76
45
874
218
674
667
572
226
463
410
894
9
512
938
584
442
456
729
740
623
20
667
532
394
294
390
744
220
950
54
767
548
920
519
461
658
484
749
666
904
321
387
235
988
858
50
164
561
153
879
753
31
624
281
792
906
185
582
420
414
710
545
664
394
318
300
648
665
654
259
138
177
202
32
369
242
678
155
92
63
728
730
380
603
468
674
33
536
898
369
331
681
839
925
492
837
868
154
447
379
647
637
408
340
154
887
322
942
614
781
466
706
293
820
349
337
956
782
590
563
468
526
640
973
947
507
52
691
874
603
499
415
833
439
899
957
829
250
798
910
722
734
662
483
923
21
815
881
361
66
549
793
702
316
393
725
924
452
574
915
670
389
481
531
232
467
347
689
629
948
396
595
25
542
460
762
611
625
393
833
196
260
692
11
946
891
366
461
123
825
481
379
211
192
770
547
502
135
376
367
103
373
91
311
311
134
423
668
479
690
448
279
823
365
688
676
110
950
160
654
784
903
387
875
899
592
352
515
175
95
313
320
589
755
951
715
189
777
530
726
232
625
631
590
319
899
537
879
938
636
554
829
709
738
356
383
671
292
986
135
152
106
253
948
114
691
114
540
388
257
56
746
871
39
660
465
591
394
262
536
526
695
102
919
193
962
405
578
331
574
612
430
438
158
381
547
538
926
12
574
312
321
699
963
648
821
362
225
739
141
849
843
93
877
982
876
196
853
258
598
130
24
15
656
131
843
535
386
946
377
844
893
836
352
962
420
273
493
958
358
671
189
443
971
5
588
94
524
775
637
354
55
602
494
734
479
664
978
25
30
297
415
297
344
364
312
782
611
375
789
595
311
967
591
787
24
39
795
407
662
755
54
99
295
648
314
224
389
292
477
701
917
322
392
524
274
127
920
410
366
208
505
139
537
993
902
916
231
912
180
563
430
660
165
372
916
866
767
267
374
835
472
270
182
662
421
365
511
737
92
543
989
611
586
203
783
265
924
102
401
42
541
719
905
890
410
280
526
134
794
633
831
661
685
865
734
272
398
822
598
985
621
698
646
211
466
442
644
67
706
41
624
577
447
652
966
143
920
162
757
447
969
992
744
929
54
857
578
58
291
780
275
899
117
849
1
889
659
81
345
307
789
298
216
661
141
100
394
98
77
846
529
996
710
73
96
81
598
928
395
780
657
985
206
38
184
304
109
480
603
706
794
641
705
2
925
954
693
370
232
337
319
150
563
502
746
78
541
575
546
388
360
193
429
263
963
50
861
833
545
737
747
300
872
830
721
784
377
406
404
179
391
523
206
641
140
799
831
340
324
879
704
739
226
446
940
998
259
473
305
50
801
534
894
526
978
358
838
971
779
273
459
755
506
828
725
639
117
669
714
238
446
708
81
494
643
723
201
850
429
783
724
43
916
330
792
267
822
293
39
30
868
392
829
187
42
611
852
469
191
921
351
355
87
515
757
245
733
141
433
735
156
699
563
252
369
870
971
408
471
407
785
259
110
699
427
22
651
338
358
969
407
729
372
889
273
228
9
980
919
897
842
46
463
734
937
601
215
150
839
877
639
533
760
727
153
999
509
116
778
769
875
244
924
211
797
316
795
242
681
652
998
660
646
123
932
996
319
876
471
618
22
927
237
186
873
472
525
988
328
728
518
374
199
671
27
262
4
301
380
655
806
992
468
221
360
983
198
241
469
359
754
640
951
673
161
421
500
938
584
523
39
874
724
20
853
152
391
641
939
859
104
760
479
581
98
384
315
290
669
174
624
701
174
199
706
881
338
953
985
671
721
142
847
921
359
889
895
622
591
300
588
762
70
784
977
164
761
113
446
578
515
1
931
58
463
861
106
999
22
518
384
259
806
836
419
440
106
659
980
802
866
968
689
208
319
875
136
221
501
930
311
727
898
230
129
467
371
979
50
450
335
487
463
525
892
67
529
301
224
933
668
204
132
986
700
726
2
344
965
781
866
557
376
685
450
725
486
478
296
150
109
160
64
731
948
972
163
42
967
22
655
910
981
387
245
386
13
339
801
152
528
490
477
813
543
443
10
4
985
35
178
926
364
351
701
738
16
470
134
229
687
372
377
317
218
460
513
229
422
976
594
651
56
930
856
759
923
255
600
795
754
602
634
771
498
573
741
972
48
205
104
131
217
213
15
582
10
837
459
184
835
130
377
573
328
186
503
97
870
118
660
834
754
546
346
268
139
993
222
490
624
863
852
307
306
604
694
262
632
246
832
362
246
774
431
268
285
661
216
808
256
490
527
920
714
766
698
578
447
929
522
808
769
82
592
639
832
145
149
723
562
977
874
400
944
518
742
194
909
147
670
56
2
266
171
214
314
572
666
147
958
636
404
13
449
138
168
856
952
583
76
60
291
393
827
795
983
22
670
658
342
140
244
326
852
1000
170
792
619
817
951
666
675
345
304
126
324
887
507
300
507
650
744
280
379
682
701
482
897
659
867
800
256
407
90
827
408
382
945
448
765
275
372
276
404
545
882
719
737
963
321
954
675
172
849
726
771
861
283
674
667
419
447
840
479
806
465
129
400
959
243
743
893
271
502
30
352
522
811
780
966
215
54
705
875
411
619
754
352
34
402
939
933
80
404
560
866
350
299
67
222
109
866
309
334
563
553
597
961
146
824
823
723
399
83
868
918
666
174
659
756
894
440
537
464
612
282
49
418
527
30
881
706
263
651
400
43
469
518
221
4
903
5
255
895
127
168
957
413
121
130
854
430
478
95
1000
870
840
93
687
659
868
667
611
151
384
705
693
284
247
554
932
922
184
337
992
545
51
155
704
421
945
455
295
940
176
396
968
573
355
488
389
253
760
127
749
603
684
886
342
563
729
625
1000
420
823
492
319
158
312
923
329
353
639
577
157
529
979
961
271
18
679
172
91
881
517
801
126
380
601
532
277
817
196
385
647
300
880
876
8
139
228
583
64
129
635
740
764
933
990
515
258
140
669
575
491
359
699
385
64
854
25
443
757
842
509
318
999
560
675
925
680
561
239
933
918
580
146
609
761
433
177
649
388
82
183
774
36
13
674
954
768
476
766
115
173
984
492
126
300
727
82
646
420
157
98
155
704
100
263
131
546
170
374
835
55
157
990
657
166
299
440
283
973
58
281
218
97
69
558
366
370
456
56
413
642
574
315
765
303
547
303
633
943
702
543
685
677
68
932
345
798
676
690
429
838
297
650
331
586
588
591
336
306
365
428
11
202
864
845
814
189
404
410
188
130
815
273
470
25
371
334
858
67
728
132
552
94
559
793
920
734
137
74
216
449
126
931
928
763
235
38
339
198
174
403
216
815
582
538
876
808
192
664
38
318
536
52
989
439
900
949
572
471
92
473
454
585
809
498
901
409
47
825
62
550
39
872
340
664
670
701
20
506
192
447
717
340
300
136
583
179
351
400
475
618
554
861
403
407
472
786
709
509
60
160
339
115
759
531
495
978
905
767
715
452
784
424
131
860
212
533
257
131
442
440
149
187
524
804
211
223
999
971
217
832
926
719
365
940
829
812
284
618
77
892
977
166
598
964
597
282
577
178
837
763
982
603
430
932
346
485
954
910
194
782
669
911
945
835
617
13
880
719
583
183
1
134
792
937
196
726
425
670
183
353
128
590
89
134
700
154
385
88
32
127
119
784
235
657
53
696
561
289
335
920
398
437
827
460
128
657
39
566
90
998
929
508
243
823
465
714
365
749
965
428
796
770
689
917
801
223
75
782
598
958
308
102
972
984
599
1000
195
903
703
704
652
627
690
331
173
261
925
435
594
511
553
826
444
681
507
282
16
119
221
563
265
964
761
566
141
197
66
554
964
272
346
132
422
56
447
58
615
437
179
19
293
685
193
247
157
607
962
178
584
575
831
438
688
778
905
76
942
394
738
342
921
962
419
275
884
903
649
46
45
15
854
297
342
769
192
671
484
404
563
383
811
158
374
926
278
419
856
959
466
263
201
15
86
604
637
902
862
146
845
591
47
435
778
928
72
562
51
729
981
502
533
697
394
633
694
113
683
721
537
451
968
542
671
904
276
349
193
288
938
616
550
991
884
807
507
377
998
470
655
582
101
604
651
724
467
78
508
340
989
858
828
300
221
942
807
529
612
197
223
626
124
732
369
867
328
59
99
135
804
57
703
49
327
653
339
910
900
251
152
150
169
110
975
611
124
329
771
354
289
583
522
686
779
492
369
727
729
331
150
195
569
843
394
987
565
35
8
827
834
200
578
474
783
887
241
943
557
144
533
789
581
208
512
726
778
711
700
790
345
619
65
774
251
363
362
923
778
35
643
712
481
131
605
80
932
997
807
665
489
86
436
446
112
122
455
657
932
514
470
44
915
675
590
287
418
459
862
931
875
552
649
250
167
520
409
259
450
170
929
547
335
34
4
645
360
58
919
450
654
69
864
571
487
148
591
572
232
843
201
766
848
51
939
612
626
477
276
775
365
825
339
611
557
227
1000
168
429
16
498
797
882
583
516
111
489
981
79
362
674
888
424
239
160
772
276
742
540
364
595
49
588
90
898
232
530
690
737
265
52
92
770
26
246
537
134
881
56
57
493
11
33
688
250
851
385
190
861
891
341
653
110
609
872
77
502
484
639
909
635
906
862
567
523
259
487
175
369
640
607
96
224
462
634
355
258
668
91
723
179
405
247
46
412
776
8
398
233
740
641
760
36
288
899
234
209
823
124
246
940
9
669
796
394
479
817
572
314
458
982
687
86
758
559
837
688
611
277
939
763
519
270
684
258
593
377
984
672
914
377
992
3
36
949
233
888
112
173
395
266
64
283
507
149
842
206
524
719
106
146
876
6
586
93
116
906
985
693
642
103
504
334
387
775
15
666
504
628
428
22
307
869
39
379
174
241
503
539
678
126
623
225
951
25
302
618
159
436
871
691
41
264
506
368
625
405
554
119
624
103
481
148
514
977
521
703
952
378
323
373
55
867
594
463
989
180
218
647
514
958
407
177
366
949
182
809
862
97
891
517
671
147
533
775
502
973
367
872
339
810
660
282
956
986
455
596
668
536
929
887
651
298
246
677
729
702
807
861
203
483
460
53
180
970
535
806
837
456
533
77
270
367
933
142
850
607
844
854
543
515
171
804
245
311
550
454
5
783
579
771
944
241
713
228
790
430
843
295
218
173
698
718
582
42
157
927
232
183
42
904
312
798
165
727
843
434
242
769
915
379
777
252
56
973
182
427
141
568
197
187
774
208
153
295
713
837
732
751
736
992
663
56
341
479
223
210
797
503
507
394
360
79
178
143
932
322
800
745
17
383
942
297
624
409
923
541
670
852
476
164
507
885
600
708
431
468
592
635
438
805
557
374
1
582
714
338
368
346
467
60
740
862
500
536
669
83
150
817
229
627
911
694
805
285
215
50
839
146
554
68
505
395
624
39
93
666
385
948
809
141
869
363
822
254
101
402
652
921
725
740
396
733
804
640
880
427
782
14
552
267
774
366
820
650
223
270
572
402
417
724
832
711
541
325
853
605
745
703
457
188
162
80
117
609
948
120
76
865
180
472
803
111
899
536
215
80
656
8
383
623
679
722
893
92
191
131
651
531
438
543
658
155
737
892
233
658
199
361
203
212
835
688
843
887
408
337
708
389
761
20
64
636
337
227
310
724
261
549
658
248
656
552
325
786
856
906
688
586
764
246
147
137
912
16
963
389
708
140
932
784
925
907
580
192
773
916
502
70
748
258
580
852
74
369
73
671
697
163
989
990
736
103
735
618
757
854
763
896
483
33
810
532
334
373
408
698
737
284
484
493
272
424
290
844
537
369
364
209
81
904
913
203
879
756
853
432
590
840
673
327
296
177
483
776
478
731
865
684
767
304
600
374
390
521
969
913
286
651
60
46
607
708
467
384
668
814
803
907
449
306
722
644
434
415
483
586
906
672
695
521
845
356
518
486
166
412
501
957
428
265
225
757
27
879
89
855
570
216
925
917
380
975
563
505
7
123
167
275
236
273
902
384
308
389
463
615
989
670
121
370
665
693
173
783
882
83
117
697
583
25
454
128
878
913
737
170
299
324
387
956
400
261
830
467
13
340
711
434
637
152
310
564
263
584
777
613
377
239
488
587
24
472
640
500
585
729
199
648
364
37
419
353
159
528
498
454
742
807
327
623
597
831
939
749
275
731
13
218
514
650
698
892
559
251
111
27
226
24
85
108
877
889
141
859
849
891
185
229
871
966
153
241
633
864
664
964
21
308
765
739
470
399
14
7
497
61
485
739
807
93
737
527
229
969
459
845
395
104
258
846
274
739
50
351
601
920
577
351
805
346
879
421
226
979
928
947
320
401
234
947
53
875
966
595
881
933
981
223
558
124
260
741
486
213
383
888
519
756
94
685
891
468
462
793
451
189
864
187
471
616
804
743
101
150
580
868
958
366
951
252
444
622
239
203
119
310
765
783
881
41
104
155
726
867
433
109
626
261
143
755
392
185
972
741
447
995
151
172
99
380
416
599
256
744
335
83
516
707
44
338
229
433
367
389
418
541
327
27
430
259
180
572
807
271
465
83
131
479
35
257
557
477
660
648
304
126
610
767
666
2
539
842
966
899
154
732
451
775
347
548
365
708
954
39
260
514
821
676
186
614
644
697
545
656
880
62
254
156
131
386
366
134
538
447
425
298
148
776
668
867
664
197
639
487
706
885
902
71
506
697
326
559
966
47
837
763
110
588
637
488
305
286
628
54
27
290
187
201
585
141
486
114
968
460
293
963
902
252
525
915
278
335
891
66
336
246
617
104
397
122
602
801
461
741
346
641
687
865
649
965
653
497
379
45
273
468
585
383
443
36
849
375
799
794
37
182
455
266
574
298
234
13
920
816
682
919
200
874
128
642
838
65
134
846
591
897
966
931
616
506
117
483
58
931
501
531
181
199
662
22
256
384
228
627
243
556
890
100
825
246
383
945
483
660
305
51
119
349
111
322
211
497
310
24
587
260
701
763
692
852
455
520
662
178
36
155
603
858
177
142
216
440
643
67
329
426
76
613
931
506
997
313
51
59
968
369
158
528
962
207
833
776
258
262
98
880
533
672
172
140
390
191
392
242
250
648
705
627
392
699
443
126
945
461
49
824
796
846
64
935
713
79
955
197
447
900
270
928
246
446
264
409
962
655
305
712
931
295
344
442
875
422
239
106
355
137
982
991
726
995
709
505
106
344
936
888
615
139
634
108
25
501
590
526
996
415
4
603
294
452
444
539
721
367
48
208
11
716
374
212
617
403
389
138
136
208
878
369
97
890
998
907
974
423
765
717
599
290
45
32
563
525
994
900
846
372
966
45
630
11
620
729
217
802
333
896
3
869
47
355
737
673
365
121
627
419
61
340
463
757
152
394
567
254
336
899
278
553
929
313
668
955
368
766
371
405
987
551
727
513
63
457
911
271
35
714
371
632
412
892
699
914
125
535
982
332
980
623
808
585
440
267
365
535
152
160
478
498
549
378
11
559
347
134
796
635
955
917
127
693
669
275
921
694
8
170
817
280
680
450
880
230
537
458
55
982
267
255
199
280
759
199
355
161
811
890
891
31
313
595
277
538
107
307
577
336
494
553
155
568
742
874
741
115
22
711
710
200
904
37
415
955
930
677
424
949
801
727
790
452
392
843
838
462
174
489
533
96
589
392
145
988
598
579
833
759
933
359
747
452
525
521
436
75
238
860
657
31
286
842
195
265
664
850
888
430
504
10
906
215
522
22
234
275
619
766
441
854
264
722
79
297
495
389
457
125
256
975
136
236
308
583
197
117
143
1
248
639
166
17
149
136
907
823
664
978
186
726
588
789
946
840
414
772
964
879
270
370
742
472
695
616
666
641
788
87
978
237
403
324
170
124
379
965
155
888
207
586
4
666
180
435
62
455
809
826
993
923
215
939
673
316
291
188
863
508
635
92
308
657
683
822
224
176
965
195
132
943
155
895
673
786
400
167
328
240
471
7
936
532
397
175
533
534
611
934
298
172
101
535
356
380
686
876
737
260
359
662
72
514
559
635
501
601
357
144
813
283
811
397
71
435
136
217
848
9
944
48
709
70
513
215
780
646
957
199
73
969
178
770
740
349
719
337
577
518
979
840
912
817
742
791
475
968
680
846
972
521
286
432
862
287
687
474
269
175
917
282
58
917
538
949
840
84
924
460
83
663
159
820
573
203
232
139
161
210
160
574
125
42
714
442
496
6
692
607
396
776
35
452
736
497
639
377
677
165
440
759
863
952
151
768
767
157
109
226
454
372
800
983
676
281
992
889
517
208
877
508
712
196
256
186
368
895
595
942
69
13
747
912
242
420
214
766
214
239
107
607
618
434
375
322
682
478
442
283
437
626
138
578
99
237
681
665
694
356
517
460
509
446
34
384
94
793
510
823
354
576
173
795
742
33
917
341
674
448
52
330
68
937
438
878
363
102
490
587
433
693
848
139
573
348
933
559
154
317
249
653
575
853
17
689
867
598
676
385
689
872
846
680
462
221
580
532
90
8
122
228
41
52
946
296
583
587
511
103
592
829
80
701
682
533
910
264
363
744
325
735
562
845
495
925
111
657
225
378
737
40
698
748
713
923
915
323
521
181
509
594
828
86
745
426
624
348
743
506
564
904
420
197
460
667
181
843
378
471
165
875
987
259
701
750
641
404
689
902
182
724
829
388
595
336
965
825
466
28
324
592
645
217
107
945
663
890
712
899
198
142
842
254
343
56
901
95
516
712
365
472
596
49
277
742
265
149
594
213
612
278
929
328
752
670
81
610
611
609
888
988
19
848
117
921
979
762
531
956
283
948
789
941
679
148
549
190
409
485
9
252
281
15
107
833
384
481
793
624
179
6
112
436
991
165
295
113
839
499
719
130
150
108
382
659
151
343
472
162
617
27
757
227
229
848
729
472
18
739
908
805
220
147
257
244
412
21
389
798
984
294
157
598
838
347
229
627
695
704
494
855
565
749
452
578
721
806
292
43
995
293
14
203
348
22
778
588
416
897
649
829
191
427
32
335
87
489
410
966
366
715
419
357
336
746
917
675
759
325
469
212
646
886
579
191
977
842
80
562
922
270
323
351
804
45
204
364
414
794
585
633
256
200
403
21
981
307
584
848
552
475
912
191
672
544
160
801
603
582
126
179
820
321
686
450
829
13
631
76
113
967
822
384
401
484
186
82
339
241
136
665
241
444
303
684
775
218
860
318
345
774
308
617
418
882
305
56
283
24
43
779
515
422
685
996
947
816
587
532
109
452
404
459
871
268
655
60
540
664
37
124
725
552
557
714
130
636
560
101
798
952
875
514
488
795
565
724
557
39
242
243
158
764
512
109
619
814
866
795
559
587
261
780
713
946
708
716
422
566
418
917
462
464
439
113
195
706
264
25
72
506
590
338
99
997
275
66
261
7
520
153
816
27
522
377
3
425
116
279
5
659
451
895
922
868
352
507
99
773
824
518
426
250
116
811
98
291
838
633
903
320
936
124
315
994
689
119
555
692
518
706
272
853
106
381
732
229
212
288
215
872
618
204
805
405
837
404
952
682
580
491
947
497
474
605
961
361
218
169
384
727
148
455
996
238
226
836
954
718
528
517
619
654
675
930
56
871
47
725
395
926
252
480
322
537
84
835
689
995
108
736
586
82
103
877
270
506
822
236
999
221
892
785
198
304
267
104
352
238
298
620
676
577
379
626
952
930
108
82
841
151
111
418
636
424
954
220
700
652
91
727
736
199
409
519
662
553
741
661
99
949
647
797
369
309
899
419
484
131
333
576
802
105
192
794
915
329
613
871
847
925
688
525
831
787
373
548
789
945
602
281
101
724
140
698
444
493
64
342
256
296
292
694
876
46
231
260
502
328
447
856
918
24
248
73
353
157
193
905
939
347
848
853
970
226
553
620
582
22
583
649
528
264
815
392
416
210
985
126
206
196
639
586
712
552
153
445
619
122
573
892
805
712
549
191
785
981
384
87
747
385
17
394
948
785
833
895
205
268
298
952
854
503
807
855
808
718
555
994
292
990
932
388
416
89
684
998
5
549
85
474
997
993
427
707
283
5
427
626
84
967
555
140
828
402
865
85
12
281
646
260
733
677
88
409
397
893
222
88
632
937
561
876
556
757
266
327
386
195
131
394
835
13
390
778
851
673
140
825
46
756
178
122
595
55
181
914
468
409
454
843
618
276
901
232
128
908
526
373
424
733
485
827
308
213
649
726
20
24
733
499
490
860
233
201
676
566
850
872
204
560
578
938
527
731
371
698
470
75
137
382
349
338
834
58
801
861
591
960
96
625
134
399
977
216
247
515
16
74
661
564
37
920
533
297
450
680
653
267
202
610
606
577
626
545
383
659
694
374
352
162
38
910
89
935
635
299
275
378
244
973
781
146
510
973
77
319
163
123
334
641
881
164
919
404
200
446
496
823
323
182
649
560
791
618
711
135
777
641
516
560
179
542
909
460
785
628
126
335
536
357
646
357
313
511
679
304
725
661
249
803
113
865
741
20
319
83
847
384
845
277
82
682
679
555
449
90
397
984
334
331
200
895
453
151
123
622
510
747
35
578
232
593
958
541
635
386
894
786
689
430
604
447
17
879
735
132
939
674
257
336
925
908
452
633
493
591
575
993
697
503
869
829
599
865
851
503
544
72
631
143
642
624
580
546
570
694
825
851
727
464
907
447
778
501
422
267
864
938
634
220
82
179
844
25
373
153
761
106
597
901
274
551
435
421
757
326
715
237
512
100
898
133
28
50
761
845
477
966
767
277
287
821
213
990
677
734
996
284
768
907
793
198
233
680
487
127
516
341
920
588
289
687
449
837
193
622
309
689
891
291
494
884
108
314
733
791
664
717
127
70
438
51
214
128
869
20
521
893
831
655
168
447
680
693
719
524
870
386
263
764
747
359
666
848
79
543
33
356
395
405
703
236
455
909
481
290
32
674
428
967
707
783
228
41
590
583
62
492
678
582
950
995
105
268
722
947
654
249
142
902
738
631
230
605
503
966
460
556
842
400
382
185
876
901
177
275
901
557
779
202
896
975
516
973
410
761
660
767
76
899
875
873
52
616
344
538
391
958
221
160
734
906
203
725
736
287
168
136
322
159
288
332
211
619
509
665
153
147
26
72
949
761
229
964
670
193
605
613
437
261
250
45
736
397
971
97
548
27
450
349
487
137
557
94
728
871
713
382
785
473
153
432
49
228
25
401
616
297
555
562
95
527
899
445
8
362
894
395
875
964
643
273
305
542
776
787
222
650
230
996
873
936
649
90
398
392
808
470
582
688
17
454
839
574
104
735
630
627
416
793
273
899
253
63
557
91
287
609
646
956
814
403
517
559
138
87
575
871
989
292
150
940
645
132
287
520
332
514
635
640
588
290
238
36
447
68
745
769
760
719
880
625
453
243
6
105
248
632
289
887
245
858
268
665
729
896
587
174
800
951
297
21
676
712
394
691
68
485
193
690
618
542
745
347
202
862
732
248
853
724
192
583
157
300
971
3
247
438
42
674
924
374
668
354
30
952
939
234
913
265
390
198
715
331
248
929
267
528
353
992
556
28
948
608
114
422
354
343
162
25
992
371
31
109
361
231
195
472
334
294
247
262
595
228
265
978
94
803
338
900
198
341
436
991
553
933
452
482
801
316
980
936
945
971
319
575
588
544
280
50
249
208
577
641
682
910
15
71
439
793
170
741
933
214
31
219
897
934
853
213
451
18
546
146
955
920
62
622
448
35
565
776
751
719
672
528
239
427
672
203
891
128
419
885
473
619
583
96
587
713
990
109
928
493
101
260
251
42
66
120
460
81
370
297
751
932
832
912
918
120
584
536
773
699
723
452
137
68
522
659
9
673
421
948
312
467
579
696
121
429
383
805
349
746
172
318
692
505
410
805
32
844
661
606
619
580
35
313
68
248
206
718
650
345
736
571
361
328
163
122
37
573
264
367
87
71
961
346
496
110
582
638
406
577
558
385
934
784
206
811
886
939
914
226
663
462
952
914
989
357
83
142
40
761
369
787
173
617
861
689
752
125
366
918
470
274
96
589
200
278
819
718
604
184
82
908
685
286
159
282
985
211
672
225
363
709
226
936
172
262
994
703
161
586
898
131
617
976
941
238
125
247
273
460
785
707
794
124
905
181
415
878
990
652
661
896
318
448
936
410
502
245
590
287
227
391
945
894
791
162
531
468
155
606
113
575
960
581
519
998
378
436
890
585
718
531
740
164
423
465
134
620
468
455
355
632
202
745
680
360
346
361
255
587
224
760
615
436
282
152
103
789
598
349
265
990
432
15
350
214
778
89
194
138
550
981
84
217
274
863
703
870
135
4
873
387
761
620
617
209
440
199
5
509
311
542
375
665
666
77
745
334
704
129
692
284
937
902
524
58
14
921
307
858
866
532
203
701
942
866
606
78
821
362
791
799
583
542
106
691
201
218
283
106
612
761
107
966
316
333
491
203
66
254
6
1
696
755
36
216
200
455
46
700
920
805
868
51
121
604
536
445
284
454
986
836
143
667
786
775
906
719
233
478
86
806
296
627
84
453
322
530
976
391
967
933
1
138
476
779
835
789
340
618
106
546
338
243
540
424
146
322
744
376
44
489
944
833
685
365
884
237
594
462
725
730
791
790
11
584
928
238
658
285
424
502
525
482
337
386
282
135
138
830
224
290
126
864
156
852
957
49
698
654
642
614
170
850
420
663
734
400
98
303
615
985
830
511
37
206
800
859
964
327
949
975
877
155
708
751
582
838
694
870
475
543
444
177
809
956
568
787
210
543
159
586
137
312
875
966
2
603
909
217
425
79
964
978
417
672
408
569
367
680
50
783
354
642
338
991
667
850
344
952
394
593
577
808
631
294
550
119
118
728
17
663
128
416
973
944
14
91
846
998
134
876
765
158
771
444
455
857
303
940
82
475
62
919
343
424
296
887
167
432
143
290
698
986
793
944
629
452
845
3
510
235
425
486
443
681
801
304
389
96
66
501
430
409
981
96
469
493
191
556
248
106
868
380
51
740
271
738
154
398
866
389
869
483
396
331
64
514
758
796
129
357
596
192
677
16
311
581
723
800
553
91
677
861
344
453
249
683
681
481
301
86
858
908
738
701
757
445
764
689
46
316
234
676
581
817
340
477
273
625
621
229
362
693
95
959
352
563
342
460
783
848
560
568
710
446
892
603
963
773
848
771
256
944
257
790
765
334
995
861
57
444
665
384
162
290
539
489
129
842
308
537
614
150
614
233
953
905
931
903
660
122
63
754
514
546
427
691
195
125
360
339
983
639
829
464
125
117
346
891
342
229
356
385
364
215
50
651
549
251
394
813
378
361
119
217
81
132
573
438
736
502
632
652
915
866
307
380
370
540
294
735
307
456
477
917
506
531
316
662
928
809
122
787
467
873
461
729
201
462
298
219
816
474
61
824
918
750
492
131
530
133
997
751
470
277
247
171
178
630
929
717
269
800
874
525
298
251
286
500
199
905
411
656
439
755
794
130
171
61
224
425
570
999
553
104
123
949
877
246
810
727
932
468
41
143
188
212
696
254
814
285
831
540
601
368
434
34
950
311
129
127
271
551
854
349
437
926
385
966
513
482
9
608
603
612
789
494
501
20
642
1
813
535
881
518
363
778
964
480
956
41
934
504
76
502
461
325
649
93
420
36
795
900
682
770
416
977
165
541
508
855
208
427
364
807
13
665
176
177
277
510
129
640
74
900
742
344
756
78
107
252
912
318
650
886
420
802
240
869
223
549
779
351
752
978
883
410
864
342
932
27
715
799
511
44
298
335
271
842
203
90
295
101
791
898
348
121
129
29
809
655
945
153
621
120
364
566
395
312
397
545
607
525
967
543
951
15
771
570
56
330
435
750
156
917
203
526
807
770
906
398
419
612
34
404
197
248
550
764
50
293
500
269
192
414
573
974
435
614
494
766
617
832
571
180
240
332
738
591
136
917
173
616
895
11
950
57
883
43
182
263
894
347
831
110
870
37
678
119
675
910
954
413
592
438
784
310
98
366
898
359
447
244
53
534
792
463
192
123
889
30
688
564
894
336
919
120
442
651
42
815
937
950
47
490
977
921
116
205
926
702
827
450
897
972
3
791
858
505
838
657
119
200
493
935
203
896
514
920
1000
987
289
973
125
976
230
888
615
613
548
634
466
214
279
569
999
42
691
695
739
445
328
805
287
505
712
607
682
586
182
50
861
56
416
86
117
883
936
81
932
526
316
904
143
746
844
494
166
552
130
369
937
452
503
96
281
609
94
229
675
292
157
577
739
211
544
998
344
947
235
42
932
721
479
928
470
142
425
297
518
438
54
128
21
894
890
989
779
879
212
561
22
885
437
954
169
455
927
910
625
779
744
410
430
937
737
553
685
523
954
836
930
411
548
126
82
932
237
661
109
640
908
430
335
117
135
122
193
5
205
649
250
548
790
915
548
455
495
135
653
814
373
479
336
141
932
240
442
360
301
58
367
663
984
929
516
780
75
873
278
94
907
176
313
446
819
41
446
226
185
367
7
524
853
88
282
694
887
207
612
694
884
185
780
920
141
866
530
109
645
449
495
38
209
351
295
400
58
949
321
241
831
347
547
774
269
252
724
212
834
13
500
516
117
650
319
577
180
464
422
432
890
404
949
541
939
944
894
42
428
643
638
152
866
911
882
576
925
766
82
851
568
529
870
62
999
459
567
240
434
313
590
74
865
707
453
256
827
902
116
923
702
393
622
146
201
203
330
359
527
362
543
962
135
402
47
64
179
59
829
458
469
570
305
513
231
100
454
594
17
855
597
980
916
397
1
67
540
503
57
750
403
695
610
533
962
190
878
842
997
634
499
461
22
406
482
784
104
706
211
785
817
885
197
249
34
708
988
784
950
302
480
601
983
568
906
863
240
749
941
641
769
646
672
166
193
711
698
124
158
882
223
187
703
533
824
835
857
397
526
820
676
623
906
268
519
419
224
507
547
873
998
227
320
630
11
418
890
40
467
888
965
327
904
844
580
68
523
123
182
976
777
220
212
604
434
136
57
49
829
452
736
182
707
724
773
240
859
490
520
815
755
692
602
440
509
297
280
993
805
249
217
63
857
670
613
316
92
405
664
605
12
558
60
256
581
706
585
541
604
829
929
777
755
821
496
925
314
645
320
813
234
810
237
304
829
877
67
843
242
109
901
811
889
238
552
27
191
538
830
551
295
54
601
682
906
881
520
646
38
850
908
47
257
837
503
541
942
184
710
602
219
402
544
449
455
396
657
413
630
968
741
40
502
202
93
255
163
702
348
736
526
301
196
486
286
3
414
231
118
445
695
924
227
80
561
93
882
610
111
210
216
963
491
570
435
224
731
389
519
495
49
953
670
624
786
711
36
96
926
114
694
149
509
877
489
365
334
85
77
563
69
224
453
807
230
790
305
736
554
594
772
249
935
284
587
736
482
854
102
729
207
133
410
785
537
338
636
929
132
773
477
737
487
666
239
436
375
978
939
13
500
698
550
388
663
805
50
161
300
611
798
309
554
605
648
474
884
325
359
176
836
986
106
338
754
782
320
33
139
842
647
236
857
798
578
677
581
786
158
586
719
502
233
252
546
633
920
834
443
564
299
767
913
773
874
485
566
745
5
863
326
553
330
990
950
460
203
369
331
45
269
670
186
387
651
451
466
785
612
103
205
322
197
400
637
376
128
643
60
793
117
372
358
50
853
10
83
168
157
613
689
559
172
106
875
230
10
986
951
3
967
513
836
475
285
837
565
467
457
311
195
616
207
521
569
575
650
180
733
24
585
106
672
316
518
931
684
105
816
96
913
779
328
912
487
840
938
186
261
631
742
952
377
992
7
379
736
472
594
780
994
701
311
996
884
426
492
82
499
465
204
392
692
571
629
634
866
745
561
423
267
89
456
180
344
677
140
964
866
231
112
980
267
640
362
34
113
472
745
207
692
655
276
324
472
473
128
623
552
856
741
178
328
690
219
194
292
541
81
337
235
778
545
589
201
502
734
983
180
123
565
728
880
667
679
894
941
131
402
805
564
255
642
755
869
134
597
463
259
957
358
935
671
24
765
55
891
868
416
263
40
983
310
146
926
164
440
625
202
917
586
707
179
760
645
419
711
458
157
661
750
438
18
170
91
655
39
706
312
188
660
860
129
704
79
601
199
732
51
777
932
344
856
335
1000
502
252
917
53
768
763
849
621
526
329
264
288
179
142
252
21
982
501
480
962
340
643
686
74
400
796
809
798
736
179
290
269
754
224
260
690
215
135
914
206
926
741
345
966
216
723
530
92
291
527
946
983
950
619
501
689
399
342
99
115
147
290
143
440
1000
980
750
488
233
647
248
700
898
92
781
27
46
919
502
310
378
900
858
661
461
899
967
952
178
566
908
755
532
941
59
992
266
244
262
108
18
376
688
784
894
69
779
106
402
218
500
617
673
626
495
844
769
324
382
790
661
640
595
312
161
386
664
501
690
935
764
982
256
409
698
510
441
914
219
360
511
574
728
799
980
77
965
351
100
615
232
661
766
363
84
513
293
120
171
951
353
320
104
532
111
393
802
429
286
381
747
499
392
771
1
433
923
761
610
826
611
544
253
304
163
748
581
876
92
871
751
307
347
402
36
645
451
336
272
970
779
946
119
76
397
38
750
76
646
341
662
833
251
366
735
745
291
849
537
623
798
834
156
331
107
572
493
402
332
656
60
71
511
264
787
25
8
914
265
710
767
907
144
207
866
492
89
553
617
848
866
844
144
168
588
647
981
500
124
41
728
491
984
56
202
877
741
441
876
357
193
432
573
495
20
653
555
420
648
344
149
388
409
900
24
727
825
62
61
281
64
193
514
241
161
772
840
174
604
621
120
118
285
400
476
861
606
590
276
906
735
535
201
154
652
94
418
56
590
130
251
834
970
345
697
377
694
959
69
595
966
348
869
344
393
19
706
496
216
256
705
396
967
351
404
707
690
576
552
625
176
972
598
544
291
570
897
488
604
889
823
92
981
430
56
451
716
391
269
903
70
53
339
701
814
78
970
567
444
504
325
323
314
341
864
159
804
498
78
587
16
241
218
837
204
481
459
235
299
2
141
111
446
146
855
921
415
570
202
546
127
460
972
194
300
941
354
933
389
541
531
659
594
229
686
179
683
961
2
235
781
667
722
450
82
311
715
628
630
1
260
333
956
105
987
425
362
996
986
27
56
366
104
464
224
990
367
852
299
463
291
350
388
719
535
571
830
36
23
284
354
872
171
322
126
94
290
592
286
63
624
149
225
619
683
591
949
203
743
433
360
245
414
700
182
458
173
714
561
868
632
927
76
265
94
699
16
237
647
140
287
103
645
452
255
896
927
756
155
978
527
50
437
20
982
743
560
836
507
231
315
11
500
92
688
349
831
776
663
909
337
131
131
797
772
678
221
972
244
357
6
982
801
343
459
990
423
640
1000
403
128
355
709
176
295
988
543
133
591
570
473
709
73
227
505
113
141
558
943
269
27
272
123
819
402
667
51
132
527
865
56
501
51
223
586
679
253
928
768
473
1000
638
188
378
171
931
642
126
634
450
263
583
133
917
526
658
564
551
127
736
238
73
607
703
665
141
920
791
287
2
820
324
369
162
102
952
965
78
193
80
449
242
575
59
616
540
815
119
800
411
728
190
702
214
355
507
935
112
968
332
336
8
300
249
199
278
528
178
484
572
345
712
926
493
602
408
707
778
603
395
43
502
116
16
557
894
568
277
848
601
678
527
981
622
8
170
952
663
513
175
362
379
200
813
624
828
427
389
47
458
205
639
34
128
114
156
477
993
84
438
115
557
336
97
292
834
254
376
57
363
801
342
12
758
391
52
647
588
768
527
165
649
568
588
958
102
694
508
969
529
550
918
123
683
473
615
943
616
419
774
178
884
54
523
46
762
955
38
215
721
506
87
214
959
458
447
334
452
822
714
414
770
926
836
134
960
18
98
561
854
763
398
722
516
314
416
938
967
458
638
491
929
467
303
951
96
895
17
149
377
546
192
362
599
226
452
733
412
700
858
338
523
486
161
604
921
720
234
950
467
366
549
660
65
448
843
967
660
836
76
250
462
338
429
78
130
522
350
532
130
703
605
886
114
36
864
261
966
474
616
296
110
665
108
248
776
497
540
168
201
109
7
978
127
684
508
332
569
184
890
118
542
569
788
340
312
670
443
911
806
58
791
565
990
736
366
703
401
435
362
511
520
602
681
59
341
925
903
445
332
381
894
252
933
348
198
719
920
262
482
71
214
695
985
384
185
473
403
213
113
646
636
978
216
692
582
738
580
349
510
584
406
829
589
324
215
7
819
531
38
364
965
314
167
72
85
344
747
661
894
791
320
92
524
815
497
932
192
170
31
531
933
304
966
784
803
47
950
81
919
628
488
514
278
285
679
299
548
163
938
591
929
591
305
603
743
9
221
987
619
57
54
923
23
342
238
294
404
411
617
572
408
315
494
800
469
963
883
132
564
110
725
940
76
488
123
398
540
20
205
815
475
533
888
696
663
664
611
692
993
883
136
110
429
704
604
661
749
174
362
430
466
669
514
885
704
903
749
865
917
763
776
106
8
306
608
831
802
754
6
344
847
855
635
351
209
321
872
955
249
353
738
878
393
462
143
481
548
876
472
590
105
842
570
963
483
43
338
458
744
163
487
649
112
348
473
631
162
963
280
266
21
558
498
951
198
416
117
281
524
394
538
637
283
24
584
838
808
6
701
449
682
298
125
282
243
958
510
871
229
806
418
460
301
730
81
128
612
181
102
207
800
964
51
73
558
979
483
716
417
945
536
257
488
471
114
694
698
59
628
730
486
758
409
500
6
210
212
359
653
802
662
675
111
439
113
746
183
258
143
551
399
231
847
9
742
189
135
856
882
253
498
5
985
67
86
501
490
497
481
782
289
636
248
963
328
93
222
320
35
521
461
949
878
246
20
844
25
700
970
261
337
67
607
290
856
181
422
44
554
264
179
687
346
519
438
837
275
947
918
543
337
25
402
102
644
18
273
507
454
785
363
164
184
908
522
875
658
846
199
731
696
619
381
731
675
189
424
420
794
342
677
784
630
350
301
977
29
114
368
186
462
805
142
88
818
260
415
900
971
471
944
997
617
618
277
408
557
952
755
317
66
768
58
808
999
384
417
743
41
770
571
607
844
993
574
562
847
136
831
762
253
731
99
170
977
28
757
761
368
604
326
984
177
936
98
802
545
552
735
462
743
288
855
371
34
997
988
125
287
775
709
761
930
422
451
779
398
342
243
348
486
595
611
352
934
103
958
660
110
298
12
22
882
665
361
549
648
675
631
569
5
599
654
10
753
569
809
117
721
36
774
459
457
453
162
699
934
650
814
502
250
818
88
320
769
486
106
517
264
141
788
438
409
403
456
587
389
784
926
44
510
87
334
584
406
449
339
772
882
904
12
461
459
40
430
698
408
60
941
55
464
55
147
774
390
815
860
935
276
869
684
54
806
732
440
123
692
520
306
158
156
216
454
707
640
856
936
627
878
808
757
678
117
170
407
114
517
990
587
519
716
676
514
579
132
485
974
357
825
433
267
907
626
285
249
724
834
601
989
640
963
899
946
235
915
125
148
740
479
564
608
728
228
209
74
551
752
396
265
662
628
208
956
403
722
732
605
843
189
791
757
522
28
142
107
746
159
488
942
172
775
851
658
26
147
985
178
213
168
563
422
976
641
785
376
491
747
927
979
15
184
96
743
737
155
118
4
493
798
51
721
916
658
294
10
360
467
639
972
175
882
900
916
510
789
946
789
839
453
64
468
846
107
578
591
119
516
573
777
363
711
374
388
464
329
169
499
811
946
779
359
726
398
143
417
722
292
477
954
571
850
483
457
866
771
168
135
802
8
52
395
435
247
579
679
537
375
528
785
496
450
94
678
394
475
117
873
525
822
596
617
132
277
253
514
67
496
402
698
409
133
788
366
824
6
393
286
584
466
407
878
722
556
710
629
752
637
249
844
757
920
613
252
413
719
987
536
674
327
397
651
480
123
841
699
770
883
443
210
531
296
269
911
391
396
795
450
482
923
327
85
898
653
856
45
121
374
924
142
178
508
87
209
166
325
482
106
983
345
799
384
774
772
711
153
652
759
418
346
683
894
517
381
32
525
838
140
405
473
255
323
613
210
704
484
154
829
835
463
225
976
768
535
430
461
408
287
805
438
655
162
430
887
622
627
63
642
672
124
723
343
691
333
81
499
505
787
858
345
763
518
160
254
940
295
831
282
318
926
452
830
944
314
583
521
598
164
185
119
746
766
968
726
298
837
536
564
760
180
851
340
4
849
441
596
479
568
272
444
128
387
903
783
691
962
848
453
314
358
596
743
637
10
837
349
562
306
809
187
977
279
548
410
562
71
50
639
669
145
10
643
960
706
830
695
128
437
86
379
566
437
459
884
283
211
457
738
724
663
886
469
389
303
146
916
340
295
889
775
707
567
507
502
314
916
166
865
421
923
873
291
340
572
126
656
402
622
254
287
346
178
438
805
682
378
802
859
35
834
624
942
746
240
933
266
273
560
263
87
22
376
308
984
322
210
599
327
158
141
74
573
144
611
598
103
977
86
72
14
266
167
770
657
193
796
908
740
953
466
293
503
279
706
74
808
667
659
243
985
83
293
559
930
59
614
989
263
63
272
595
308
971
137
38
301
247
712
498
485
201
769
901
699
292
203
749
672
4
918
760
440
245
472
766
258
582
369
4
895
877
90
26
448
39
420
922
659
698
173
469
259
547
175
110
57
17
213
362
304
703
761
398
395
664
430
41
95
331
489
335
298
235
308
221
806
200
223
540
701
967
185
778
710
403
487
473
347
626
63
204
749
387
72
419
851
988
17
139
934
876
162
748
680
814
858
672
542
162
251
728
624
405
937
321
319
515
377
476
583
111
241
889
131
696
426
815
769
404
169
598
790
813
543
112
635
386
641
191
991
997
907
376
134
831
422
933
588
660
398
193
119
141
821
664
652
298
921
274
983
813
148
359
17
89
406
680
861
294
573
848
288
783
756
22
982
330
294
631
490
601
265
188
994
169
142
963
849
149
265
394
360
245
32
641
377
580
34
616
141
190
895
149
249
488
231
693
752
295
988
114
154
282
368
668
535
788
729
226
100
13
104
153
211
530
452
61
354
912
368
772
559
9
715
476
502
108
589
995
898
722
80
510
813
280
545
889
207
336
478
948
378
217
608
619
952
217
583
5
725
540
399
719
980
208
818
771
866
58
121
451
28
755
903
371
991
509
104
804
705
757
74
998
256
670
306
922
17
742
383
253
375
71
817
21
771
242
714
465
981
803
611
99
439
477
414
921
952
164
90
972
308
701
676
171
160
122
164
463
15
845
83
849
366
841
905
769
774
298
939
673
188
755
43
325
907
955
301
556
384
925
810
709
479
887
837
4
878
674
920
388
145
245
924
224
253
736
684
353
530
275
609
617
658
402
556
958
720
537
356
585
351
407
600
490
707
703
687
832
312
550
669
295
858
553
148
569
652
274
310
498
754
18
221
319
775
700
658
611
966
390
82
233
478
859
845
603
611
68
351
95
481
100
695
208
762
444
238
453
59
923
718
533
56
795
704
533
760
711
678
270
68
300
562
884
396
114
253
56
287
536
638
905
781
68
552
787
790
74
405
699
914
682
518
928
919
34
722
928
557
489
480
135
569
713
570
582
433
791
374
724
909
652
955
848
487
102
399
795
607
751
329
506
921
903
140
67
916
299
223
524
960
218
415
714
172
27
940
773
560
745
368
756
572
558
493
48
506
520
583
817
274
853
148
820
613
366
232
279
190
526
246
376
993
601
533
158
22
141
174
305
581
764
30
230
395
853
649
477
385
319
471
221
155
995
695
954
173
606
302
114
176
501
967
510
540
497
39
859
245
246
310
678
572
522
56
52
870
695
706
510
566
441
535
380
83
454
992
465
499
488
615
873
571
594
5
105
224
806
3
282
732
866
36
535
581
782
567
112
459
160
756
740
887
281
681
129
766
829
985
271
521
31
340
387
563
739
970
931
541
613
316
66
176
158
53
412
563
837
879
687
442
848
879
34
343
457
838
490
455
968
534
26
768
483
943
42
300
666
270
30
232
569
900
356
360
453
693
738
578
222
519
94
18
738
570
842
84
816
783
632
848
132
655
742
190
648
835
60
617
381
157
654
922
532
162
399
689
47
776
75
228
654
503
593
650
298
416
762
675
698
233
90
254
417
4
660
218
460
264
30
8
900
32
444
993
455
709
382
980
251
731
622
355
239
851
543
668
837
21
343
601
452
172
227
7
420
624
372
87
808
464
679
850
230
997
874
717
523
298
526
496
681
959
959
980
918
359
800
114
115
183
149
15
196
434
954
121
162
927
194
402
612
50
907
875
596
654
924
636
539
50
423
234
802
443
44
495
171
621
374
844
198
323
65
754
831
541
694
208
251
935
789
955
146
661
62
897
931
161
26
190
567
905
630
458
723
619
460
107
964
297
335
872
563
160
860
583
301
779
598
634
307
772
36
790
618
857
469
784
598
530
238
600
812
332
508
489
240
484
914
531
948
634
958
975
458
637
995
708
108
537
9
930
628
402
153
527
990
268
209
681
378
180
688
992
763
285
313
737
133
963
981
929
916
239
135
534
504
100
683
525
77
886
181
459
109
616
73
921
55
981
145
483
699
739
251
786
581
412
538
991
704
526
103
106
495
97
23
640
557
724
196
630
363
416
244
320
411
274
59
686
764
196
205
560
119
97
489
316
733
513
502
953
578
45
836
951
101
842
951
437
808
186
431
70
717
315
417
514
380
794
584
559
799
113
906
732
55
705
831
717
883
247
193
24
741
916
347
129
138
277
568
725
145
599
710
849
1000
704
479
352
717
890
447
619
398
80
133
490
764
128
13
53
29
92
356
343
837
419
160
23
449
147
252
804
756
683
850
684
944
219
477
119
896
560
146
853
433
993
169
470
580
848
756
695
889
553
837
67
711
334
156
930
15
156
761
577
987
193
465
9
163
846
702
983
331
330
504
974
732
934
972
178
389
314
708
952
540
617
172
913
204
802
816
496
906
241
136
898
448
598
528
228
419
1
896
156
801
739
537
489
655
73
704
963
363
245
620
952
307
462
427
944
197
443
720
417
479
89
854
165
370
6
181
225
133
867
722
306
111
79
575
15
922
808
508
240
943
180
789
771
897
420
290
600
902
722
295
375
831
911
232
178
210
338
794
114
147
972
480
220
17
387
641
848
683
166
539
963
68
283
737
812
791
177
414
989
409
555
811
234
501
459
81
230
509
760
276
244
739
27
71
712
393
678
66
780
848
443
239
353
656
392
148
437
879
237
3
421
479
181
629
479
412
299
607
459
998
359
632
458
884
6
213
784
648
443
362
165
660
106
869
866
340
319
51
845
349
628
657
195
589
275
697
912
82
332
569
447
954
64
775
595
765
479
909
40
397
381
349
237
519
931
282
419
443
409
257
202
822
858
459
635
224
310
296
594
66
561
675
64
806
830
583
244
541
196
161
346
383
392
522
679
61
405
959
865
214
332
41
22
744
127
321
376
421
170
39
33
659
115
243
576
993
60
211
750
353
921
936
738
637
813
674
439
479
366
279
714
310
144
77
796
20
782
569
898
566
20
120
631
846
520
100
982
71
285
651
471
593
512
381
590
908
913
770
796
101
905
54
109
523
581
625
872
906
28
790
317
433
416
807
377
505
214
734
623
65
87
538
278
411
257
291
18
323
625
69
681
214
506
302
48
764
617
962
587
139
881
915
416
484
667
188
784
850
325
703
24
81
280
212
315
484
455
824
544
310
541
492
240
139
441
280
858
297
261
69
641
333
381
568
936
407
456
176
87
141
686
282
995
158
333
29
1
21
251
466
9
768
150
249
656
558
422
760
919
215
613
566
735
614
47
651
107
914
700
747
682
625
108
370
979
378
50
918
286
33
715
246
731
482
323
710
213
86
490
557
638
176
161
893
444
504
588
189
438
782
662
441
820
742
898
644
653
221
494
191
153
841
182
205
919
797
59
524
613
98
163
308
672
383
337
749
351
63
855
417
752
151
321
113
549
574
635
957
772
170
165
604
378
841
826
108
331
530
469
995
548
807
831
499
402
815
318
775
424
276
58
122
471
62
982
920
905
541
183
1000
271
570
427
665
531
515
503
414
187
149
20
701
510
584
404
747
654
707
74
485
648
690
215
237
153
259
143
579
358
360
968
196
616
731
185
194
232
696
824
487
331
180
17
368
868
536
203
323
678
287
674
458
906
300
867
677
280
224
605
858
499
236
494
861
395
289
811
134
657
78
495
67
640
888
350
993
174
331
108
936
368
749
837
766
104
690
32
433
291
477
842
323
989
318
118
601
175
809
319
608
291
981
899
981
687
184
479
213
740
273
956
756
735
492
733
660
556
419
412
911
869
119
611
336
743
396
66
971
593
644
797
230
932
362
926
113
651
805
675
927
452
627
181
697
633
598
34
508
611
658
857
524
480
624
818
305
382
854
704
375
712
37
78
667
951
78
58
616
477
724
507
173
835
194
713
941
731
564
216
976
536
80
66
534
153
884
631
177
918
867
64
219
615
483
670
441
790
401
703
380
292
827
584
245
374
139
124
719
738
283
114
461
639
994
550
139
523
504
846
187
700
856
606
316
254
331
932
999
723
778
776
749
59
824
543
67
79
60
22
339
874
275
718
783
659
737
837
817
114
344
501
852
603
182
246
540
550
645
502
15
857
842
532
483
495
422
287
816
303
320
696
466
599
172
230
110
387
308
931
917
872
316
737
225
476
101
623
725
741
305
970
950
389
681
653
977
225
747
476
790
812
618
14
644
578
443
363
152
549
259
21
498
959
423
919
385
828
961
618
824
980
366
810
866
108
345
573
728
202
7
267
537
96
816
566
83
914
382
894
586
938
830
438
419
780
57
992
187
776
656
128
308
186
668
551
481
154
610
71
46
360
412
302
220
945
12
61
681
616
336
465
749
791
337
862
684
277
542
102
260
234
322
86
821
138
686
210
483
19
993
96
23
529
349
944
244
258
868
970
304
322
186
632
568
420
811
783
29
458
929
457
253
355
289
728
85
829
640
963
85
806
11
853
750
596
793
774
125
116
184
427
315
279
80
175
745
93
885
206
764
191
37
442
330
226
284
117
50
61
852
76
836
728
698
136
779
914
980
323
615
98
723
368
353
557
416
640
192
161
933
610
864
233
748
983
921
809
875
915
298
296
350
79
683
871
362
913
842
968
325
66
70
845
286
930
359
532
67
148
718
441
454
157
311
521
553
161
718
133
177
396
700
752
728
194
278
189
605
153
818
280
594
656
77
884
39
97
856
603
872
441
959
843
714
148
680
704
345
78
918
735
799
725
314
754
248
12
539
769
580
917
943
574
316
421
323
690
84
595
478
170
358
190
565
252
632
733
988
933
460
968
726
358
46
475
542
331
200
420
458
328
503
685
282
187
460
95
715
4
289
34
746
855
727
542
635
659
917
869
775
895
976
566
100
887
366
396
532
66
507
774
161
971
423
941
441
727
348
814
758
405
361
311
97
975
89
923
402
535
455
526
456
100
253
716
745
543
55
438
832
194
581
334
219
199
225
5
534
990
826
350
172
119
171
246
165
269
936
89
165
470
949
146
900
417
729
242
363
328
203
20
292
950
432
930
207
156
902
119
402
113
684
604
767
95
329
487
305
870
880
431
475
44
807
353
280
858
962
58
152
716
898
552
218
168
20
899
513
142
60
776
71
995
324
345
563
317
10
649
376
525
635
523
571
962
277
906
160
619
926
531
548
594
671
203
776
131
866
254
397
363
684
308
476
948
677
194
162
373
30
711
764
76
241
927
63
434
835
914
835
360
555
101
227
456
202
925
644
668
905
116
301
938
154
712
422
615
377
872
373
274
169
662
666
176
556
239
866
802
825
288
925
747
534
139
347
843
266
719
919
502
594
387
411
154
500
740
803
131
174
683
82
516
747
400
613
270
976
400
387
420
345
452
211
233
347
66
50
40
935
161
263
852
270
679
462
967
921
228
63
528
607
253
372
406
450
868
253
812
428
238
957
790
387
299
733
99
568
714
207
14
27
167
313
278
753
491
802
763
546
680
917
405
921
524
900
621
406
462
375
741
591
278
515
932
219
402
123
736
406
942
413
608
809
18
333
780
205
633
698
359
447
101
315
831
238
988
514
31
505
666
192
208
384
787
548
22
30
470
199
182
499
500
240
984
944
627
115
151
235
907
898
259
898
80
656
510
974
182
129
762
983
952
864
545
698
81
268
269
812
55
810
913
957
143
726
315
692
63
134
568
257
30
440
158
895
123
256
195
506
420
847
517
240
926
282
489
371
73
52
42
501
513
919
870
658
994
128
725
362
318
951
448
95
813
711
697
911
236
65
341
99
788
329
143
916
723
90
660
425
77
126
258
363
209
951
753
791
161
918
486
9
330
866
543
839
585
758
471
914
759
627
25
63
383
418
445
219
651
971
278
548
859
495
1000
634
977
377
555
648
601
29
456
388
252
823
288
955
874
843
278
628
446
304
102
183
797
11
259
501
89
166
145
821
940
134
410
402
827
562
345
670
230
351
775
150
972
560
403
636
330
260
630
45
803
734
616
382
864
181
764
77
629
263
859
702
144
419
807
754
903
850
308
741
293
481
804
297
889
16
736
414
905
389
502
187
666
554
463
640
643
546
52
307
476
215
295
258
405
812
75
153
692
909
31
732
973
719
320
877
923
981
369
11
276
7
343
123
36
359
304
166
659
898
944
918
90
625
327
647
814
795
290
85
481
318
35
293
261
314
957
939
798
3
961
451
525
848
327
226
163
922
720
814
394
69
61
579
82
273
799
845
924
55
600
942
66
411
566
899
66
960
900
729
550
538
347
411
63
411
857
689
877
662
629
753
24
55
136
727
361
892
751
633
301
921
354
159
708
366
630
144
578
548
824
144
309
354
390
833
810
25
323
288
174
351
945
387
411
387
586
643
530
200
892
826
324
44
483
603
344
546
276
284
887
158
90
430
311
186
77
774
619
149
106
393
46
91
488
522
338
756
326
775
527
174
324
753
240
336
130
214
42
92
135
30
845
309
186
131
173
639
868
520
955
940
830
231
564
521
147
787
4
883
839
315
526
582
515
992
462
151
530
886
711
760
206
595
180
453
418
292
410
337
294
935
818
60
873
400
214
287
290
301
756
640
493
24
80
761
524
349
123
722
139
610
59
14
893
984
859
726
856
910
212
334
810
72
926
735
115
631
478
758
426
592
85
426
104
306
516
642
471
87
879
844
14
859
799
368
287
541
705
942
522
627
456
761
886
30
133
62
946
799
665
990
114
769
863
782
762
533
583
32
266
415
958
810
443
228
109
975
707
744
260
843
835
691
983
732
361
57
116
576
524
189
998
942
129
936
830
273
890
625
342
140
579
210
463
595
825
319
339
468
484
243
898
593
304
147
115
496
43
908
294
50
272
6
946
943
867
867
335
599
566
868
319
357
64
8
923
289
802
881
972
51
995
161
192
525
467
291
429
843
551
452
6
563
642
139
804
408
10
918
328
977
88
993
895
283
833
226
96
784
635
196
825
839
955
633
525
142
89
372
771
754
420
530
942
804
114
173
530
802
435
203
593
758
795
501
954
8
180
652
22
709
835
717
516
453
946
603
957
360
597
539
536
306
448
56
816
636
451
651
825
859
380
6
243
297
130
240
776
634
555
170
319
610
45
957
163
854
209
866
339
8
779
41
178
825
292
381
292
900
207
590
468
42
846
455
457
80
960
226
187
62
787
744
743
390
168
626
350
439
676
362
674
571
723
680
991
290
320
891
163
479
480
240
897
266
268
441
468
95
142
720
949
12
556
651
982
991
749
18
331
381
260
723
737
192
11
509
120
985
707
872
778
608
917
98
44
860
420
783
806
451
341
555
411
308
120
960
714
327
599
648
486
218
386
62
932
917
159
785
838
404
787
610
718
430
967
171
418
780
577
650
783
253
100
710
399
402
286
263
904
474
684
144
34
694
783
21
415
190
311
164
63
403
646
751
722
807
391
489
437
83
928
230
234
723
151
133
367
154
636
662
358
96
247
378
987
852
515
63
449
603
184
157
132
603
978
905
863
381
12
866
9
633
237
646
507
572
989
821
788
861
997
991
526
140
191
860
361
374
272
15
26
892
255
825
816
45
178
505
979
883
721
915
370
76
752
130
703
623
686
139
801
533
168
305
550
761
712
371
631
171
902
865
725
184
206
734
597
92
690
911
345
692
735
309
164
48
366
437
160
680
959
401
108
423
892
610
571
512
170
854
441
222
197
804
833
495
618
151
183
582
613
767
601
644
96
295
774
646
31
516
200
657
487
693
119
807
82
842
274
779
231
550
562
669
934
521
702
474
911
498
283
234
541
611
932
91
431
455
909
141
420
431
113
940
479
946
345
8
290
101
697
460
234
386
99
157
156
744
370
405
536
49
623
296
665
725
489
216
956
719
436
948
831
525
398
19
491
264
45
678
435
130
277
908
833
613
949
420
710
38
419
449
422
882
220
454
125
247
72
585
728
631
460
835
356
843
251
354
493
499
125
325
773
50
156
106
868
693
511
130
34
845
94
144
661
77
903
983
603
524
51
961
153
856
661
394
288
801
306
498
189
75
277
90
126
337
728
112
499
436
642
978
193
784
665
154
458
171
77
150
174
721
548
361
740
949
876
756
784
103
623
471
580
64
379
779
350
59
447
733
584
392
864
25
162
185
43
259
316
853
755
867
407
677
859
371
106
360
929
556
774
909
928
379
785
509
141
137
60
350
873
467
310
483
826
284
367
895
641
610
485
917
816
595
710
7
133
698
229
706
718
148
124
258
103
291
107
5
996
379
607
148
976
687
76
894
9
568
468
311
492
223
651
460
535
497
929
466
301
985
955
275
545
74
47
733
921
354
349
516
250
968
296
175
689
70
614
209
682
575
395
682
611
723
878
335
348
844
200
550
249
868
753
795
703
775
763
382
43
174
385
459
476
642
867
166
709
289
379
802
116
232
636
648
610
346
802
851
876
661
44
354
245
287
718
442
303
562
412
886
249
428
973
20
159
695
211
353
546
941
173
469
37
287
772
36
562
183
72
720
192
641
717
678
619
46
830
108
362
828
212
980
932
745
827
737
592
502
348
193
830
736
25
322
335
145
262
905
116
679
44
259
345
287
810
386
687
619
451
908
134
515
873
119
837
822
931
322
22
300
649
356
858
931
324
922
25
963
483
835
859
379
722
843
128
325
93
8
928
215
90
945
695
831
259
398
49
800
106
734
44
213
313
949
397
13
196
669
450
992
12
479
933
922
950
600
100
351
620
599
412
82
399
326
772
213
293
721
233
882
831
510
248
536
84
2
740
632
135
439
742
161
162
349
898
296
857
365
856
738
74
847
476
72
433
418
828
547
127
223
122
211
305
333
113
258
231
198
999
790
883
472
531
926
772
865
848
327
546
878
546
785
364
426
650
445
154
367
399
630
547
931
260
986
772
863
154
842
770
855
666
275
560
508
902
355
242
646
770
431
37
238
650
126
480
605
835
933
184
857
670
887
635
693
985
837
80
811
319
253
934
156
408
340
43
179
599
473
814
59
165
608
464
598
992
380
582
103
730
49
813
124
313
338
680
340
674
447
505
260
629
239
902
633
124
644
596
641
492
848
117
4
909
692
510
117
16
53
358
197
507
644
250
219
567
812
344
106
229
424
812
246
79
855
769
897
243
435
752
466
274
436
944
966
365
845
105
163
304
695
617
76
739
718
132
519
574
415
65
299
818
422
581
581
781
245
771
618
276
980
440
779
430
671
296
307
752
306
367
759
347
299
141
451
577
481
276
492
959
242
723
220
864
515
765
925
360
667
758
759
619
258
365
644
436
804
661
806
756
389
792
287
566
961
780
406
175
659
684
707
666
349
553
328
283
817
515
118
600
776
919
56
605
886
641
702
222
496
557
460
396
727
699
435
581
774
803
512
371
59
801
101
39
962
301
664
973
355
242
748
338
147
753
750
806
308
669
60
879
657
314
520
137
773
922
399
733
989
496
176
608
373
15
486
154
947
638
517
558
193
938
980
612
56
295
569
582
231
264
429
616
539
110
792
253
542
753
334
855
417
12
251
115
241
416
316
405
526
822
342
369
800
741
633
53
508
590
955
887
306
40
509
969
72
258
176
447
613
131
50
288
77
468
895
331
559
799
699
336
240
607
934
691
675
754
500
534
518
415
555
317
64
38
630
259
463
744
462
707
374
89
969
160
108
294
672
585
39
918
658
720
167
404
841
248
218
111
926
64
633
251
941
412
101
603
637
299
30
10
375
428
518
442
318
899
913
830
911
19
20
994
645
900
389
696
36
943
853
296
637
932
716
512
601
212
511
518
30
353
293
992
866
769
793
734
584
5
571
180
314
769
525
466
303
365
702
694
835
850
400
709
806
107
973
13
164
54
575
382
349
345
321
404
659
275
994
426
214
73
484
304
808
386
573
1000
479
586
590
251
68
447
694
484
388
878
229
699
885
626
689
239
813
313
314
280
42
734
218
341
561
62
283
370
659
520
734
740
489
97
435
24
493
113
463
557
688
753
458
611
375
268
554
461
211
124
452
750
914
297
351
356
91
816
981
354
820
839
947
816
627
833
984
881
472
860
444
980
191
604
564
119
584
523
607
873
34
422
980
88
77
838
826
344
825
832
377
885
542
214
572
95
927
707
67
568
885
328
760
494
634
60
404
389
29
942
708
138
865
848
552
988
780
570
610
366
47
285
706
347
230
137
701
192
181
445
560
614
298
21
537
343
333
157
69
108
278
132
73
383
19
487
821
106
514
911
458
114
248
296
549
225
551
405
720
718
199
671
602
497
387
797
781
339
756
230
414
459
684
59
461
82
426
582
279
844
56
596
407
604
333
449
978
705
785
43
118
790
318
238
61
53
601
609
498
187
353
61
833
344
360
603
605
183
774
493
350
387
759
40
524
117
62
571
967
523
439
482
545
783
170
812
250
138
88
491
66
42
625
271
290
857
416
352
898
490
893
900
726
988
103
956
902
391
759
741
39
62
95
985
121
337
694
704
893
537
857
799
855
337
452
968
595
9
438
663
330
291
393
266
965
507
483
217
909
66
257
570
175
704
526
325
1000
610
395
953
339
127
199
701
103
841
672
643
935
699
220
957
669
241
554
541
327
191
257
971
684
373
101
716
961
423
42
710
173
784
860
662
30
289
360
914
37
985
898
316
650
941
746
273
896
488
461
122
863
717
34
2
882
81
995
655
997
639
107
962
535
818
520
575
215
566
454
698
242
421
602
926
264
336
418
70
893
56
394
62
762
476
227
352
676
685
505
706
549
316
186
940
187
458
662
916
918
579
636
88
288
846
432
984
757
795
543
281
375
471
464
527
936
106
838
175
1000
847
8
295
450
305
859
223
2
485
692
470
151
182
520
390
597
67
793
466
104
513
63
609
73
648
500
502
866
282
509
862
45
97
894
480
254
952
172
29
431
225
649
914
384
878
846
916
569
316
671
953
41
193
530
84
171
12
189
753
687
749
809
395
12
765
14
720
642
936
246
398
561
300
966
402
256
478
401
975
953
822
707
37
105
522
348
862
991
886
464
31
534
613
786
969
103
180
378
896
73
378
134
617
431
638
482
399
543
13
190
113
467
624
523
956
903
888
245
279
925
114
138
533
130
870
754
852
772
110
113
580
686
183
926
895
585
723
708
760
375
896
849
601
672
642
295
496
646
361
11
149
622
945
796
608
628
199
340
503
218
455
655
559
456
638
105
292
885
101
336
68
700
328
318
173
96
993
582
136
925
913
477
321
422
164
929
718
699
993
778
931
138
190
203
600
598
267
156
893
568
137
5
214
2
966
761
19
601
556
401
439
739
890
744
475
40
467
324
641
879
650
453
313
717
555
419
477
216
924
420
238
560
19
309
230
262
831
733
19
10
793
546
705
776
740
668
180
499
95
703
934
153
103
692
859
883
500
378
235
212
142
200
998
31
10
67
374
180
469
597
240
976
816
171
858
936
984
592
189
318
712
606
638
800
614
815
922
795
376
767
718
433
734
122
899
206
958
827
459
638
361
197
666
105
700
611
599
117
439
323
997
945
537
532
238
483
800
420
368
599
878
338
330
80
640
734
902
427
46
637
442
414
588
776
193
329
58
458
796
236
694
367
638
442
720
329
867
587
930
933
185
418
237
606
65
358
29
371
630
458
801
51
252
151
737
141
870
527
850
887
132
512
830
411
740
417
975
825
770
817
454
400
349
604
662
798
771
381
641
253
40
49
345
397
874
571
68
87
380
396
458
230
2
991
398
52
824
212
461
722
9
29
790
533
942
232
35
57
673
323
391
849
356
743
903
283
685
940
917
65
791
575
996
802
655
327
641
778
859
337
908
731
418
329
363
999
508
848
847
889
145
825
216
477
242
936
556
369
32
788
368
97
533
19
885
974
592
811
964
204
61
151
999
960
818
410
888
970
678
467
399
863
727
646
174
165
228
187
246
372
69
869
154
950
646
614
664
503
211
645
664
548
946
803
1000
551
467
143
909
912
23
820
238
565
397
564
793
756
391
778
35
331
839
382
823
553
266
57
61
102
701
474
900
364
630
409
640
569
774
419
582
631
177
848
852
794
92
535
667
264
277
521
601
120
606
432
151
663
365
974
310
269
191
163
914
528
385
494
240
138
256
239
714
569
198
453
612
14
481
91
308
480
82
821
2
212
440
751
796
790
739
291
716
360
141
826
511
463
437
672
94
831
743
55
48
344
180
494
962
54
979
998
244
829
74
985
675
689
48
659
218
360
249
859
475
914
991
104
779
623
16
579
98
308
838
361
797
547
122
31
866
59
23
153
364
479
274
779
696
507
856
283
834
138
309
326
741
231
55
694
62
225
665
65
630
197
627
533
435
782
38
829
498
689
592
746
523
692
381
240
278
7
347
22
431
896
625
257
942
193
668
124
183
230
784
619
680
243
633
921
728
967
325
96
184
568
973
655
385
435
949
734
531
680
638
262
827
329
185
505
350
344
579
787
923
576
437
61
230
685
27
189
24
871
373
488
592
988
789
103
524
236
813
267
468
175
318
344
783
228
500
838
894
210
597
214
739
656
400
473
884
901
85
907
787
911
433
352
182
856
262
563
773
288
768
44
255
569
527
776
163
899
90
808
233
879
490
606
737
52
467
386
748
291
896
390
383
195
729
223
889
895
738
907
822
806
492
278
718
871
292
702
345
827
224
870
67
822
125
610
902
516
996
211
559
418
320
790
119
818
824
573
72
96
457
815
66
636
727
252
101
794
108
617
883
600
911
761
711
973
868
347
567
200
717
927
65
394
195
436
524
402
233
807
705
413
573
421
705
110
702
623
65
759
773
334
418
77
138
117
907
48
229
695
135
141
780
12
657
518
798
427
889
896
286
509
817
721
422
225
92
150
812
989
948
164
467
196
839
803
359
346
896
126
754
810
56
989
56
633
245
163
550
469
55
613
247
943
186
10
48
237
331
629
544
692
267
892
92
546
694
684
236
750
730
471
173
911
53
989
693
76
393
915
975
970
442
530
673
794
284
836
969
389
126
974
656
881
475
80
847
442
850
902
625
898
843
609
797
304
586
214
913
430
693
961
908
378
343
826
29
169
462
23
198
183
881
22
599
823
964
123
67
619
408
86
820
250
871
651
162
662
588
45
67
525
400
724
954
773
455
681
557
846
402
615
516
594
47
132
197
458
319
945
303
711
858
727
35
23
711
870
923
552
429
903
935
117
308
754
194
706
667
319
384
766
802
71
990
227
720
533
575
211
828
506
657
713
496
853
154
319
848
524
1000
218
143
231
279
317
883
864
144
294
95
300
891
783
321
718
745
718
493
937
332
54
230
567
362
695
83
943
707
494
914
935
978
601
905
723
643
282
642
517
965
556
371
65
325
661
772
452
983
388
549
394
971
811
725
705
618
774
753
98
123
781
513
812
747
625
748
809
407
144
780
466
917
7
176
730
663
320
563
688
255
144
17
396
575
721
225
570
674
323
180
461
207
163
282
824
397
723
541
384
87
200
56
638
70
496
26
129
726
335
391
558
981
637
564
236
730
246
865
401
161
442
985
882
888
492
211
430
370
612
213
792
888
343
915
277
261
302
313
111
546
680
184
364
221
661
246
615
709
130
750
792
674
670
399
842
205
865
212
948
849
326
224
52
505
747
874
326
302
468
585
81
979
729
290
277
694
808
610
493
893
710
966
697
607
955
170
618
543
243
935
889
408
492
291
346
174
801
152
69
439
397
83
793
566
501
924
284
50
371
35
205
449
477
830
700
233
865
733
705
131
326
832
522
902
858
359
746
976
298
544
17
59
691
534
397
652
154
860
397
389
499
338
808
260
880
402
524
42
57
611
481
770
671
481
706
620
74
828
198
387
862
557
45
647
241
176
732
747
738
370
91
35
598
621
693
95
393
230
793
318
993
83
131
833
68
149
965
673
714
24
752
80
640
787
780
995
570
55
869
142
188
419
17
550
984
365
439
43
817
365
47
977
903
92
811
496
160
608
808
646
564
924
44
976
232
550
240
662
421
552
906
773
574
107
941
13
790
785
921
185
848
608
5
646
5
408
70
232
315
209
312
489
141
127
26
549
876
761
723
680
600
178
11
335
593
360
951
532
114
424
665
523
876
20
74
999
966
37
520
549
749
192
938
663
477
84
950
373
885
64
937
510
68
601
716
645
323
875
906
22
429
4
458
156
56
674
116
340
622
885
751
978
899
256
617
539
146
563
599
929
329
212
400
255
276
940
463
259
214
310
134
219
228
524
196
707
609
660
458
434
941
666
501
315
42
379
64
38
539
379
765
651
972
698
65
113
764
296
394
334
339
728
385
955
936
608
2
999
385
343
156
589
242
64
80
106
169
883
361
533
399
367
985
233
453
632
217
88
994
540
398
743
888
288
29
678
55
105
574
983
673
863
506
995
657
147
31
393
107
749
779
988
594
602
521
177
724
876
606
949
446
349
406
439
918
188
507
219
576
936
793
915
259
894
810
300
848
23
55
694
893
190
855
359
145
876
589
597
733
416
838
432
959
493
930
71
349
858
32
818
624
195
581
778
737
648
386
446
975
756
177
252
390
464
716
235
510
420
844
269
360
1
8
707
318
370
863
844
210
402
539
389
366
495
8
968
67
127
829
754
911
526
167
517
168
944
653
736
105
879
109
937
598
16
592
78
97
791
519
638
136
290
881
45
165
567
647
212
386
632
530
254
703
35
206
888
616
431
948
659
88
535
358
857
993
614
582
946
749
20
927
370
119
299
288
865
981
112
181
749
67
515
431
268
297
178
808
704
324
728
948
873
384
779
945
607
322
99
876
14
950
56
376
610
499
709
59
917
23
893
256
756
30
186
43
246
495
943
987
479
696
452
394
961
965
837
90
132
536
550
915
747
185
170
210
439
215
743
515
527
658
92
596
24
297
365
708
844
176
582
676
396
831
105
990
123
377
743
605
52
934
704
569
80
594
694
872
575
301
259
201
801
557
902
349
887
807
590
109
264
760
16
399
42
636
387
231
314
521
562
880
207
608
89
274
374
55
55
192
723
635
693
333
395
105
377
703
395
474
969
37
830
925
497
185
400
205
769
481
644
678
864
112
466
120
397
427
626
536
59
941
203
932
253
502
533
50
534
734
745
493
190
397
826
571
522
739
88
439
304
294
21
788
448
785
772
441
120
12
925
675
432
616
804
995
359
620
281
408
698
520
955
906
768
479
575
37
990
864
846
915
702
990
48
980
315
406
449
134
426
500
164
627
602
490
902
209
335
122
67
615
102
491
790
405
556
465
776
567
617
126
279
15
640
484
168
350
891
483
750
787
292
975
993
154
736
901
827
291
354
419
448
932
734
40
943
397
499
192
83
24
595
772
844
289
334
355
62
989
504
758
662
700
880
531
31
964
29
802
472
285
629
593
136
99
439
377
457
310
636
169
944
860
504
906
87
86
353
177
288
258
102
685
954
820
171
905
320
303
235
548
162
808
856
351
264
235
266
636
405
153
358
834
675
327
470
898
137
419
693
91
185
323
231
167
483
923
843
366
37
797
458
944
764
552
903
224
909
993
64
233
813
327
912
70
802
945
583
61
444
92
84
628
10
928
260
535
741
49
400
852
451
541
186
540
55
26
760
16
861
965
335
469
842
685
155
967
638
218
552
568
764
69
566
792
341
425
847
776
663
189
552
359
129
438
577
172
333
554
721
506
645
334
331
392
211
838
559
836
119
600
616
617
404
97
305
376
717
52
672
20
673
217
848
577
396
796
995
758
285
525
837
400
789
777
400
896
875
721
467
469
886
710
711
855
709
579
656
545
537
462
405
268
987
77
552
779
43
163
797
340
97
886
599
524
348
616
589
83
951
394
598
654
618
799
875
44
799
695
484
653
204
502
931
376
167
215
775
958
282
419
369
379
823
892
888
284
673
228
489
869
896
108
799
936
615
462
912
981
561
775
732
328
520
238
822
282
921
264
853
214
959
121
411
301
994
103
163
357
428
691
337
839
932
615
54
630
633
612
302
667
889
919
236
788
333
238
65
493
156
980
980
395
9
86
473
287
486
630
903
648
869
693
360
351
725
722
736
87
961
685
365
725
170
871
793
423
431
97
30
812
278
427
85
980
164
240
746
320
633
629
303
487
353
680
380
900
309
105
114
201
763
116
667
71
26
141
480
615
690
215
699
321
744
408
963
221
909
703
89
477
593
57
213
79
120
264
656
715
266
368
103
177
652
47
686
831
302
378
219
818
464
828
135
616
867
155
656
527
698
133
325
474
958
659
332
205
306
875
987
624
150
352
277
538
531
299
721
509
306
988
596
879
239
284
210
280
862
257
80
103
401
315
769
461
623
222
651
173
216
663
59
153
166
694
117
394
668
583
51
409
297
9
928
615
520
574
574
624
154
852
907
841
20
3
19
63
897
67
142
16
843
650
44
889
95
637
518
951
38
967
352
303
226
236
581
639
982
106
884
661
924
54
696
452
644
11
992
676
869
802
705
946
643
139
449
82
469
91
547
274
896
596
353
348
724
588
536
434
864
737
271
341
915
643
269
857
658
552
207
12
22
313
357
49
548
363
214
502
4
940
441
300
620
650
747
258
341
729
206
680
612
51
69
34
482
999
346
826
199
831
322
891
97
15
676
240
245
386
61
549
271
602
868
101
787
568
355
718
37
949
507
825
781
884
789
256
894
284
420
862
868
884
926
283
207
348
492
459
689
263
91
605
624
843
431
396
506
507
538
60
919
276
171
915
171
109
336
656
885
877
888
340
683
671
564
608
200
523
832
125
878
438
637
642
379
830
420
316
8
63
854
176
232
853
315
667
233
655
492
245
459
62
436
898
291
415
33
274
278
521
110
834
874
400
356
78
238
443
819
412
471
234
970
690
598
560
261
793
706
795
631
876
936
958
662
69
423
191
916
474
855
338
569
310
68
584
585
888
966
838
561
924
108
637
827
375
505
884
597
578
516
666
699
980
258
707
957
174
605
774
362
231
676
484
975
605
709
526
935
951
321
252
31
286
495
971
48
824
44
45
503
703
922
54
434
543
542
907
641
455
114
720
131
687
179
729
560
547
665
267
138
667
226
64
823
897
162
739
598
367
902
362
310
321
913
418
840
337
876
296
334
468
186
716
874
652
110
101
212
445
453
4
153
805
201
106
746
127
417
205
698
243
601
882
324
384
847
169
913
407
377
689
594
716
476
162
671
396
386
131
918
36
501
997
505
615
34
220
74
584
437
620
984
14
985
247
888
213
353
202
612
796
489
158
790
538
762
21
818
693
212
352
460
685
674
716
892
180
712
70
55
624
594
680
921
237
958
816
704
328
476
667
83
531
536
474
237
247
909
903
862
116
443
46
350
835
43
252
29
28
597
201
665
115
43
243
460
387
478
43
397
523
68
5
135
853
523
782
575
520
70
407
887
577
197
239
30
711
906
964
747
983
851
347
614
450
553
299
952
15
792
91
334
188
438
222
960
696
190
546
394
32
150
716
52
126
724
952
311
263
56
387
345
274
115
992
596
808
591
182
308
179
930
709
692
888
246
419
110
423
310
724
122
344
511
432
373
994
516
693
63
375
304
381
182
892
434
180
801
669
653
36
412
105
438
354
773
184
648
568
718
804
244
208
148
45
930
670
765
883
671
210
162
307
251
539
535
194
435
574
665
575
850
532
780
109
371
562
574
713
690
543
974
249
741
509
205
134
808
400
324
514
512
482
680
400
303
836
687
763
753
763
875
142
737
835
470
766
532
568
602
509
959
397
846
289
991
688
999
661
627
34
862
421
446
970
328
28
948
535
284
510
707
828
627
327
401
817
248
327
963
183
943
580
473
892
56
307
926
543
92
614
660
270
698
991
81
113
147
790
270
340
930
36
229
143
127
934
789
524
993
392
679
911
581
733
828
273
302
519
771
44
25
58
926
183
690
762
589
76
452
969
727
796
37
233
39
443
350
383
295
893
364
822
663
325
960
651
595
302
733
209
848
16
705
520
401
562
524
966
322
743
23
227
165
950
921
142
74
128
42
719
591
715
706
916
101
687
807
215
963
533
673
205
626
73
30
627
474
505
246
322
674
971
551
559
91
245
154
64
160
824
974
875
710
855
216
826
875
819
197
80
637
839
590
615
23
807
773
998
655
259
53
80
198
82
323
489
193
681
161
910
943
194
450
187
378
714
349
223
297
229
869
502
983
195
326
806
956
217
708
376
535
309
327
315
966
609
173
522
113
212
68
810
66
996
60
154
603
946
484
223
105
479
798
413
422
701
568
636
149
395
991
18
990
719
919
472
188
299
668
847
463
405
803
969
592
391
686
451
498
425
831
548
698
808
5
743
77
864
571
936
176
464
793
335
646
727
690
160
74
354
555
280
100
340
441
778
685
508
754
194
372
459
594
953
625
7
632
998
667
126
131
240
769
759
174
775
580
579
292
192
947
932
448
474
643
764
806
161
533
247
745
452
61
258
384
888
325
538
254
87
655
640
810
769
369
263
219
966
279
624
207
887
612
892
776
361
246
493
317
190
528
345
941
5
509
646
878
421
117
906
451
392
640
301
411
660
925
290
414
99
853
657
33
605
963
791
972
856
617
70
91
940
690
679
438
364
604
33
728
405
441
282
621
98
6
21
699
448
949
423
277
568
488
504
20
547
853
133
915
805
289
662
284
589
347
830
397
30
257
624
727
899
342
377
48
763
817
263
375
798
814
693
237
857
155
867
856
796
207
863
627
189
141
218
698
783
58
893
548
6
740
889
216
834
214
559
222
152
958
812
302
486
310
22
767
680
572
414
701
612
385
119
208
571
167
870
624
238
793
532
950
560
265
279
749
936
787
231
407
301
538
810
974
633
443
897
759
363
404
118
478
977
797
224
36
795
499
586
943
597
357
295
989
239
819
189
1000
890
367
449
452
851
529
29
245
180
487
314
158
490
729
851
404
386
767
934
202
941
674
77
474
536
69
170
637
133
245
177
926
763
325
796
867
619
665
405
300
627
287
956
840
783
741
222
780
894
648
937
211
520
159
945
574
121
687
397
956
382
580
426
179
671
837
501
132
426
586
809
877
9
811
633
742
244
712
670
24
408
186
601
914
929
116
91
982
416
587
524
855
946
631
465
767
699
872
818
273
167
234
82
745
131
948
962
244
541
196
802
959
233
132
967
711
146
430
364
924
336
188
720
89
611
813
129
963
68
431
638
670
142
500
310
423
46
564
304
794
646
488
988
350
862
112
999
985
686
970
469
458
756
628
334
522
257
231
781
468
558
40
372
134
629
116
353
157
790
803
946
793
724
334
197
688
26
734
81
798
795
117
116
73
867
693
704
623
369
10
770
823
170
483
64
216
707
804
624
141
362
636
540
722
269
889
91
227
981
957
761
836
905
534
426
538
784
992
214
231
796
884
157
67
53
798
768
779
336
670
115
993
954
668
785
523
491
920
367
271
57
705
755
594
334
181
585
1000
396
386
610
549
770
23
670
651
667
509
168
817
677
849
679
477
433
183
360
229
958
272
344
707
451
729
185
827
232
591
742
334
483
660
554
407
164
120
929
598
206
123
453
515
671
400
555
479
75
452
112
843
478
569
804
796
268
723
84
236
785
389
171
740
62
456
433
765
8
721
905
914
263
863
434
575
862
456
147
225
545
281
486
467
241
176
88
206
821
688
138
412
664
60
666
594
1
446
424
464
248
811
640
250
751
661
923
779
473
613
55
763
125
813
216
686
204
405
431
299
167
546
685
30
726
975
200
542
870
758
800
237
761
644
212
812
74
394
346
805
731
579
350
680
201
582
254
193
731
975
556
664
909
4
963
292
963
654
823
854
52
656
488
959
618
831
948
523
542
379
624
298
443
71
102
76
991
812
956
671
477
718
514
910
233
669
604
615
703
295
823
21
96
464
882
154
598
665
896
433
43
104
291
186
822
957
164
792
529
972
517
924
531
537
775
696
206
411
384
578
59
536
122
601
326
744
902
750
944
711
533
383
958
225
863
246
556
654
191
881
891
574
658
255
800
617
567
20
320
980
221
110
631
483
931
321
695
721
300
82
384
638
737
911
337
800
469
922
144
771
929
330
684
227
556
97
647
879
470
753
283
866
416
939
455
975
658
424
894
965
224
152
390
296
1000
419
311
781
711
395
460
9
733
37
773
939
31
893
779
690
256
427
68
417
158
277
205
108
54
266
707
310
26
125
690
59
895
579
764
753
799
896
587
301
353
31
260
667
981
223
386
822
977
273
199
202
266
766
638
2
624
169
615
36
320
93
31
400
789
998
250
922
910
277
886
211
959
949
723
122
65
189
528
659
308
501
305
624
187
672
301
828
272
516
660
296
296
74
194
725
813
128
167
356
823
826
325
580
419
758
691
817
640
40
770
652
140
843
905
787
244
324
478
69
213
102
542
790
273
271
254
461
77
425
169
472
780
337
53
419
830
729
376
369
943
58
74
34
416
335
457
608
132
807
389
49
118
728
981
692
513
571
92
383
133
764
841
777
614
424
225
54
292
659
659
56
526
678
935
770
226
353
651
180
665
908
641
700
525
57
325
831
282
308
163
201
691
95
614
857
123
91
76
528
939
349
315
612
943
878
767
773
145
902
951
392
776
302
931
581
486
706
400
110
153
260
501
392
589
360
934
615
684
548
250
236
220
321
502
282
681
804
543
353
825
149
392
785
760
1000
992
152
475
600
623
192
575
910
989
281
6
649
684
764
133
280
371
830
422
797
483
124
347
650
682
934
838
212
622
675
772
41
795
292
537
564
355
419
673
946
867
377
926
617
852
560
883
361
870
361
451
923
618
560
104
789
185
7
762
195
196
510
576
429
1000
70
697
179
508
992
313
19
495
954
858
136
446
798
299
28
61
671
859
239
585
178
349
151
27
337
525
470
120
488
542
331
656
765
606
875
401
398
413
748
370
886
798
217
670
45
316
489
463
44
126
402
872
784
656
856
790
426
997
223
648
421
890
519
150
141
452
284
868
89
496
973
381
727
446
163
334
136
314
999
381
100
184
165
499
703
954
90
551
215
826
229
318
848
191
58
406
958
106
834
613
401
508
261
331
46
675
983
533
907
239
172
725
938
197
598
4
331
967
240
25
46
534
896
256
400
109
254
341
753
533
601
817
739
869
660
691
10
240
54
558
186
977
551
89
533
590
557
675
937
893
268
947
870
857
547
713
415
405
841
557
854
437
408
996
1
791
706
619
218
753
30
68
36
973
425
75
385
326
416
31
716
343
346
712
703
331
958
862
800
178
427
298
652
172
172
102
253
830
675
219
781
889
5
510
239
105
894
867
407
435
35
550
88
523
731
261
335
139
145
839
148
365
188
648
121
890
500
887
658
700
89
56
657
859
924
784
40
806
191
60
78
793
985
657
252
670
900
223
288
198
396
40
101
488
804
979
593
946
545
505
650
332
474
917
233
122
242
169
130
434
245
730
834
150
20
949
987
737
926
297
25
503
562
666
964
648
656
654
770
554
97
367
366
183
359
824
162
354
840
483
894
899
501
763
715
405
805
680
703
324
110
893
405
713
590
511
570
779
270
975
2
684
936
252
316
795
536
298
439
661
178
511
891
529
986
430
259
141
887
491
745
867
860
22
395
996
311
12
391
136
5
388
804
223
431
660
315
606
562
870
739
44
715
665
601
196
626
210
651
397
915
393
941
70
821
426
24
119
475
542
910
50
997
924
629
371
384
419
658
9
514
845
1000
120
564
910
409
687
817
867
116
701
122
996
408
593
255
974
595
787
37
949
226
920
352
910
885
301
134
545
546
659
996
313
253
83
407
931
846
326
237
774
564
344
40
995
601
979
670
297
140
236
694
357
924
462
589
912
207
57
903
341
764
39
391
416
708
919
652
550
80
846
917
489
485
912
479
895
617
848
702
671
129
73
670
204
188
208
331
935
980
710
395
760
605
262
370
853
85
878
849
395
652
512
558
581
100
63
750
997
742
325
242
162
428
367
754
541
166
248
248
879
105
762
644
10
53
135
641
651
199
184
347
824
468
491
96
703
748
553
135
630
260
726
820
9
509
989
585
571
581
232
248
233
24
795
115
409
202
468
960
171
790
2
207
87
37
476
523
919
538
519
618
627
498
494
229
264
902
202
186
448
599
613
923
30
986
381
50
492
939
634
381
377
609
656
363
749
960
557
953
280
243
5
849
63
131
383
412
677
912
506
755
315
942
150
237
42
572
229
66
367
866
377
764
343
750
92
34
359
671
345
936
644
443
738
375
233
735
893
585
838
567
725
696
605
252
648
470
237
463
593
7
324
481
871
529
17
233
597
384
365
424
341
32
758
924
159
112
885
586
952
621
559
835
347
909
577
705
960
414
471
460
922
42
688
601
34
659
237
834
761
431
290
531
559
623
581
320
703
66
697
711
853
679
518
77
120
324
119
876
231
808
446
755
765
9
927
41
81
959
992
176
696
213
145
859
401
980
856
13
321
311
17
196
440
84
140
755
886
688
783
851
397
37
905
454
925
20
9
542
340
556
930
52
500
195
98
558
776
587
938
275
267
207
835
729
538
456
742
392
679
601
85
597
932
73
84
345
860
306
7
944
307
658
130
16
974
934
398
60
471
700
870
662
119
880
21
409
640
92
914
779
59
802
47
569
846
663
414
916
339
316
958
614
958
557
105
210
588
985
539
313
776
170
706
666
61
940
804
793
845
592
161
434
707
705
990
579
927
776
467
632
341
66
966
127
307
884
73
454
695
67
681
269
357
509
88
603
409
459
503
201
37
743
788
307
265
185
580
908
245
297
159
450
216
738
561
185
216
114
462
571
998
471
318
631
374
205
70
764
392
191
511
265
321
647
41
742
427
614
120
672
895
962
201
593
80
527
304
802
457
320
681
975
265
723
198
832
854
294
192
807
179
48
522
735
710
102
492
683
278
150
96
436
994
557
796
567
472
744
645
723
18
179
124
505
299
493
493
282
317
172
810
406
157
824
17
524
59
227
675
132
888
268
968
76
929
359
593
434
260
159
28
108
664
229
439
502
145
760
214
855
644
669
665
143
459
165
993
16
245
351
980
856
150
550
216
897
857
826
884
334
789
602
247
453
746
368
40
150
566
218
883
625
199
358
713
654
746
799
944
616
609
135
783
347
872
719
636
993
445
541
57
250
288
812
57
770
263
615
866
52
752
941
453
861
204
131
197
29
227
2
95
550
634
954
841
29
118
929
878
864
873
406
292
36
521
537
22
12
169
110
396
67
288
293
474
262
360
9
974
449
948
328
881
917
885
529
923
718
798
293
245
282
80
82
517
680
693
880
629
753
933
373
915
392
369
90
512
447
717
214
92
91
312
580
678
995
187
804
703
325
509
680
738
399
259
681
603
829
602
899
642
109
348
808
19
895
268
7
821
697
798
487
608
267
861
32
790
786
68
79
894
819
628
742
342
118
606
711
817
560
41
454
708
920
594
453
386
698
49
245
261
939
972
650
673
821
302
906
670
822
435
386
639
434
649
204
581
705
317
266
521
398
453
308
212
175
543
992
782
10
535
440
463
991
73
430
850
776
790
94
413
219
516
124
146
125
776
401
302
650
834
470
124
586
833
475
386
687
321
7
328
208
522
821
254
48
275
521
691
229
451
131
478
971
38
931
576
277
766
62
726
787
342
168
279
611
884
819
667
24
118
481
11
175
248
625
320
421
211
904
565
495
163
419
677
509
667
825
182
664
14
347
737
653
517
870
337
966
417
899
297
681
245
554
447
880
104
758
131
527
350
414
728
504
584
703
401
502
689
572
696
656
899
133
430
104
524
940
43
177
6
72
186
509
448
531
893
207
603
703
105
130
614
560
654
445
430
789
104
904
947
325
966
676
373
552
902
184
261
45
491
73
892
842
15
392
462
130
512
46
596
684
29
827
252
585
605
665
5
525
33
259
23
498
847
912
803
773
298
229
860
839
319
303
134
455
592
175
826
996
882
621
737
77
728
790
963
792
459
809
974
19
211
254
675
902
332
271
58
41
103
243
429
912
165
110
14
748
464
837
938
448
761
74
198
68
984
753
267
106
786
222
400
113
667
520
522
117
948
586
855
965
686
502
55
979
361
348
692
251
764
920
369
487
100
297
637
569
704
255
128
893
171
588
14
111
920
680
973
129
386
80
346
49
98
425
46
324
887
758
104
533
326
207
417
52
306
16
411
376
339
122
824
27
789
830
748
748
707
656
420
204
394
68
961
482
109
687
432
491
572
481
121
803
38
646
922
522
752
127
45
580
556
217
71
208
234
255
513
416
966
219
666
25
913
918
497
173
509
580
709
229
542
837
951
754
446
530
323
473
542
272
945
229
151
417
395
530
588
946
223
636
69
788
613
64
464
258
462
38
646
631
837
679
919
337
788
666
615
920
967
685
524
679
365
240
225
863
752
296
753
413
82
784
300
486
194
217
786
435
660
534
226
464
488
823
775
959
722
754
234
325
672
390
552
241
624
558
596
443
405
88
20
484
102
63
589
441
560
683
725
220
39
448
349
916
543
172
330
670
886
764
970
627
530
784
997
849
568
569
474
533
40
81
900
452
891
726
495
332
514
93
370
772
776
930
811
400
837
710
401
190
866
824
79
258
974
779
512
978
292
761
376
985
140
615
193
471
672
550
431
200
193
889
441
840
622
782
644
519
159
85
106
17
346
545
256
627
82
6
45
518
99
633
295
371
612
10
319
202
569
563
155
494
8
957
928
224
488
992
909
931
498
55
809
697
20
362
748
798
141
74
99
854
722
858
123
465
649
631
890
707
133
12
491
372
823
504
978
481
293
521
743
465
538
174
326
345
740
140
707
414
453
71
247
207
784
696
315
988
865
210
535
595
117
590
320
256
392
189
30
887
46
341
651
481
408
741
369
413
918
20
797
875
394
322
896
208
519
650
811
595
653
411
977
418
509
911
803
633
45
502
208
639
195
717
48
487
678
989
252
714
187
517
52
766
730
392
294
737
734
382
203
113
820
645
357
315
807
228
871
104
618
398
954
321
213
746
59
4
605
528
836
689
294
869
977
533
167
340
799
5
27
871
155
35
449
143
808
910
551
415
948
691
643
169
920
602
438
143
556
678
631
36
736
930
262
638
913
409
169
228
389
883
254
826
73
252
29
269
285
457
95
181
939
383
781
580
99
203
169
277
456
647
132
205
762
950
789
553
636
591
13
871
424
491
238
347
23
50
820
88
634
232
644
552
457
941
502
250
221
100
1
455
265
152
411
929
628
204
901
615
217
667
101
844
660
27
746
836
897
343
481
186
920
184
523
591
308
951
26
275
385
985
422
463
870
402
949
750
896
355
859
442
129
294
515
737
511
852
695
154
837
166
937
732
3
825
713
369
220
121
505
116
948
970
646
346
584
693
898
547
179
802
306
867
601
122
834
662
562
821
621
42
903
413
506
802
363
382
626
196
824
837
457
721
664
550
711
448
440
765
832
482
592
447
678
791
226
974
187
2
332
868
397
771
986
826
268
942
174
184
131
87
889
965
450
912
69
805
817
699
735
421
742
191
450
712
852
276
816
268
565
423
286
837
197
60
987
234
687
987
629
317
838
488
800
899
38
10
122
866
914
148
824
390
285
224
218
814
49
897
512
701
381
122
97
569
711
235
227
43
484
126
518
511
622
253
289
865
946
717
91
614
549
751
162
440
277
740
716
287
993
341
135
169
280
338
162
229
612
642
119
978
759
225
49
291
403
864
421
474
502
247
691
645
951
406
603
746
445
450
560
746
306
254
798
947
197
104
360
893
273
303
90
64
364
387
927
371
171
905
819
523
326
702
469
474
376
241
937
499
419
807
874
914
170
339
759
114
667
249
69
382
729
835
745
876
521
776
675
299
272
788
152
44
260
705
447
998
694
148
689
775
985
451
229
887
223
708
528
232
385
661
425
342
896
604
291
19
701
679
216
351
927
721
862
609
553
280
6
195
234
572
162
646
576
897
849
660
716
477
225
272
16
782
839
577
38
139
199
872
739
827
691
682
17
941
146
881
300
981
25
91
872
543
731
545
23
482
63
894
916
616
182
790
254
371
753
635
478
794
131
579
211
962
537
714
110
178
189
416
121
270
267
965
371
965
384
883
553
558
1000
936
760
48
807
353
130
503
662
638
569
658
104
281
54
653
814
788
736
384
646
714
101
150
19
804
976
152
520
910
31
928
543
93
755
999
683
219
576
830
368
368
905
717
909
614
437
363
777
55
919
707
369
519
968
46
979
16
249
614
991
828
461
545
526
148
137
593
930
259
228
78
497
597
792
263
781
442
887
769
703
624
955
710
393
376
534
928
393
383
166
92
396
161
733
451
188
134
268
702
806
140
494
810
261
671
958
558
320
849
656
327
968
959
437
851
168
428
376
699
441
273
453
846
626
364
620
970
871
355
294
49
569
744
854
424
472
344
526
742
656
378
346
90
368
518
539
201
35
468
771
819
881
97
180
188
656
689
22
151
969
651
45
549
579
852
427
415
802
860
223
999
870
520
783
776
696
656
538
421
963
245
882
190
928
15
598
272
591
301
467
460
133
926
191
913
659
66
779
871
296
286
848
961
664
451
133
84
569
766
597
985
528
10
190
280
400
898
234
128
957
637
855
723
714
913
646
495
696
989
979
236
139
96
991
376
277
26
281
264
501
678
792
651
144
321
182
507
98
531
231
949
250
27
460
317
469
196
216
392
502
649
913
312
662
3
994
15
657
16
448
931
229
298
387
190
547
97
282
870
452
74
936
625
725
555
170
612
510
483
509
789
917
177
841
511
609
41
170
836
878
595
65
135
289
514
369
355
522
915
39
823
400
771
743
531
441
171
990
666
502
122
83
563
169
734
207
364
652
902
267
392
809
81
897
677
838
329
222
105
889
562
557
412
532
905
185
565
559
59
784
166
114
875
852
126
478
687
700
275
146
514
187
494
34
928
410
677
733
267
954
82
733
843
185
648
475
9
272
430
878
251
279
619
723
937
741
529
912
38
561
523
148
877
947
122
22
962
398
391
856
14
378
331
883
624
449
145
533
322
82
173
638
489
303
798
358
209
585
805
496
96
145
522
678
147
898
585
542
868
853
280
686
313
642
276
647
141
234
991
571
497
606
969
558
339
292
430
904
812
285
573
565
410
729
321
233
964
191
935
336
935
87
324
126
110
1
941
791
547
224
883
154
560
835
160
131
559
29
141
553
866
211
883
375
940
572
360
546
42
491
625
35
44
105
592
580
950
852
427
772
718
582
509
939
117
99
538
168
709
644
646
500
505
854
317
954
487
227
478
603
996
944
421
329
901
225
59
275
625
9
633
219
301
886
172
305
815
663
884
595
19
862
198
898
148
734
335
214
370
94
165
901
427
393
565
388
536
953
674
837
63
231
231
663
15
315
672
248
45
565
753
492
501
500
270
56
23
544
876
302
350
237
65
965
258
844
183
529
34
102
674
120
480
3
889
520
209
82
440
513
904
707
508
391
311
212
507
887
932
566
206
210
810
440
737
111
312
179
947
132
529
167
157
274
773
560
746
323
657
119
912
986
401
196
609
815
369
488
913
613
275
311
15
632
180
517
654
453
148
126
990
815
440
946
895
78
165
170
131
203
613
11
162
329
915
933
150
80
219
901
293
710
323
433
770
68
613
870
461
173
144
474
62
850
966
410
401
509
99
658
545
617
112
181
782
868
907
457
641
332
144
603
950
114
732
876
308
181
914
302
479
27
829
534
943
830
817
828
250
570
389
190
876
336
523
326
10
733
869
36
47
841
533
72
623
666
318
281
687
405
715
73
459
113
466
861
104
592
209
138
644
366
609
295
878
671
348
98
112
243
544
3
73
550
490
110
680
814
77
636
288
798
904
214
588
881
886
219
620
381
103
569
230
427
744
146
892
956
277
43
12
543
372
352
703
865
702
91
564
564
454
183
157
155
296
81
746
397
571
791
328
274
693
512
167
284
81
90
822
282
487
783
168
497
208
576
982
700
554
456
480
680
866
566
609
355
569
169
5
852
986
652
241
846
142
643
443
296
358
423
356
473
196
449
707
819
274
760
55
771
489
460
340
132
471
242
75
978
431
168
389
332
160
481
206
90
580
298
444
723
156
423
441
324
463
370
803
465
367
919
449
139
628
170
958
801
186
127
200
153
55
278
878
824
526
528
819
585
333
89
769
49
549
621
8
76
241
4
303
269
322
591
618
6
629
715
488
423
962
504
192
667
749
763
661
479
997
829
582
916
420
781
301
565
995
338
942
153
677
123
615
832
715
676
717
757
805
777
117
795
304
172
422
324
889
761
644
131
300
673
317
341
288
412
519
185
485
456
310
140
667
249
830
657
823
529
651
255
485
341
11
220
36
855
269
549
90
349
200
53
564
315
828
715
804
665
72
529
936
452
831
15
654
338
108
540
831
301
348
385
632
695
504
212
330
851
222
245
636
846
179
972
146
946
809
650
492
492
589
240
838
671
601
632
683
714
301
207
291
526
307
846
703
672
540
442
969
937
229
898
157
377
161
332
720
907
5
944
21
983
753
569
150
859
67
450
700
255
840
199
832
966
377
199
768
149
368
943
872
520
293
936
554
679
958
807
607
153
628
244
952
490
616
191
443
939
251
517
106
824
862
11
111
699
794
155
871
797
483
555
862
45
321
335
178
165
375
63
357
971
13
964
715
999
164
286
297
38
221
699
556
958
588
484
32
463
471
127
644
74
819
627
688
645
226
473
254
230
208
772
586
945
530
459
860
752
137
863
949
770
820
165
16
800
955
436
191
244
527
15
172
473
190
970
296
43
272
239
560
811
506
871
54
174
749
439
539
120
97
332
183
758
633
114
57
286
496
553
597
116
83
257
110
20
983
53
348
708
672
389
351
199
68
79
3
732
845
641
247
721
743
335
481
417
216
759
414
574
469
527
620
335
287
119
42
22
101
456
993
260
440
151
541
94
205
658
735
391
266
748
814
797
479
816
414
983
565
557
785
736
238
443
204
679
609
241
101
62
156
570
887
117
490
83
125
921
741
426
450
583
637
554
638
834
235
347
291
785
845
695
880
687
900
416
323
37
374
429
827
246
908
545
466
404
978
180
855
382
269
17
324
614
927
389
183
435
526
709
54
781
359
813
728
373
170
481
691
251
547
701
287
701
962
493
462
105
911
227
173
274
654
400
848
134
857
783
710
438
781
706
421
332
773
995
225
201
505
729
718
208
769
580
436
325
708
936
678
465
985
411
380
540
793
635
404
851
562
387
271
296
899
253
283
231
593
992
937
731
488
692
720
178
647
638
733
777
511
507
6
645
691
171
69
584
613
889
103
497
501
142
946
690
74
691
352
981
881
710
150
603
456
987
374
408
284
289
3
731
159
901
699
623
661
310
799
832
331
698
868
43
622
697
334
409
858
368
50
324
238
937
177
725
383
200
429
958
73
834
553
368
551
75
890
349
267
347
19
534
957
481
764
164
767
80
293
466
484
461
663
20
19
326
902
710
4
21
663
800
723
757
536
128
641
697
362
150
469
129
252
832
49
299
583
959
339
614
925
473
425
54
730
875
813
630
590
554
201
637
90
150
556
265
566
702
629
846
573
379
914
680
515
65
718
874
675
912
209
88
820
264
219
460
691
16
164
174
931
577
627
369
420
65
36
82
580
283
406
963
919
322
285
315
1000
329
883
844
37
111
879
176
541
764
532
799
782
425
544
598
347
606
592
553
765
279
554
498
954
60
243
55
261
350
900
991
995
287
776
283
637
712
894
104
369
115
477
823
180
714
577
830
542
405
189
688
599
299
473
657
868
969
738
136
695
322
559
916
71
229
694
458
4
655
502
572
286
43
182
988
402
152
514
321
305
367
675
815
962
742
403
106
918
685
2
936
566
238
644
404
497
383
12
845
58
633
562
919
217
486
606
784
945
946
957
526
558
442
100
160
925
926
746
583
981
872
108
849
747
145
468
983
925
469
426
391
194
301
712
548
522
460
607
307
185
771
828
635
664
326
188
18
291
714
477
68
331
683
779
127
155
287
872
751
314
515
469
26
614
749
775
587
729
187
258
82
522
540
599
555
972
894
466
895
557
601
182
72
2
499
331
341
522
509
75
982
107
915
259
425
912
215
421
814
530
462
418
146
775
445
761
141
623
883
645
891
121
57
343
181
401
936
868
72
414
912
771
982
655
734
507
25
904
47
79
824
14
277
546
366
827
222
550
677
601
830
249
340
740
117
876
852
173
82
722
866
507
756
482
197
899
274
770
280
714
928
99
449
163
696
768
14
523
690
920
609
35
252
495
700
236
223
917
458
319
3
144
432
100
610
149
568
295
880
957
182
106
331
160
423
584
972
198
599
812
523
766
525
750
86
424
685
459
312
854
579
552
485
251
94
891
761
990
137
986
1000
84
19
64
243
933
307
503
922
502
935
146
281
398
387
67
369
277
659
490
160
621
545
921
31
214
489
997
862
588
906
236
493
278
387
632
128
995
653
5
549
717
470
122
688
265
11
859
175
131
269
102
972
225
235
668
110
702
519
220
838
251
941
102
195
34
457
988
141
984
424
520
912
319
861
381
160
929
804
850
799
775
334
467
221
539
117
344
655
575
551
575
41
602
730
362
718
717
481
786
596
16
668
561
251
537
797
750
581
287
736
166
191
838
984
111
742
336
542
177
806
826
867
52
647
430
787
692
521
317
563
732
682
341
426
721
359
924
77
641
336
47
579
140
642
174
46
130
70
574
291
680
910
772
363
643
318
792
513
94
211
458
665
420
429
259
914
904
200
174
933
694
587
449
388
361
716
489
685
640
31
934
364
520
769
499
501
611
98
355
297
568
106
648
871
417
921
278
932
817
785
187
605
672
801
241
227
976
437
220
285
488
585
603
29
631
134
552
507
9
570
3
875
47
44
787
905
590
764
526
537
711
293
389
171
611
527
900
158
243
723
668
594
210
914
314
113
578
456
879
826
450
259
677
940
565
444
919
885
696
804
411
961
368
444
298
614
210
428
109
464
330
71
373
107
240
766
632
547
170
877
22
815
132
283
481
990
688
614
240
341
211
88
536
782
343
118
341
155
478
556
479
139
372
490
749
707
367
44
484
158
328
485
561
699
102
260
25
444
193
310
351
480
413
82
856
340
449
232
922
822
634
881
520
612
767
685
962
548
442
645
955
716
195
803
804
768
782
460
27
990
989
547
764
692
717
140
88
407
499
855
741
281
244
72
870
735
732
496
57
200
337
555
315
227
501
544
733
829
736
205
162
199
299
659
656
317
254
215
379
108
297
589
359
905
626
522
764
10
102
578
344
27
155
186
311
476
182
601
192
907
693
528
158
374
85
606
874
659
711
825
210
87
874
183
14
106
488
626
759
70
384
337
22
834
684
969
699
820
236
298
333
192
816
71
145
662
723
537
190
243
406
274
560
927
977
410
695
903
827
313
711
414
55
115
62
750
108
194
35
235
846
887
307
240
223
242
256
410
932
596
806
335
627
112
318
818
812
186
451
754
75
821
991
386
120
625
335
365
964
102
707
608
737
293
205
427
756
618
473
767
949
984
109
698
213
854
943
479
30
946
964
626
491
728
967
409
906
634
995
120
350
224
221
280
795
114
255
645
6
595
730
547
959
269
675
611
386
944
375
325
967
261
364
323
811
226
723
460
122
899
105
945
382
971
742
843
930
864
257
252
577
296
254
329
766
944
525
125
834
975
197
884
134
714
299
59
141
654
33
811
154
351
520
144
906
481
873
180
188
475
282
276
612
720
170
818
727
234
630
581
46
148
45
469
955
22
248
287
102
275
585
2
620
529
14
534
450
700
698
764
119
41
612
862
561
149
350
448
923
165
664
371
894
993
269
95
758
404
92
770
229
302
456
76
172
265
665
833
436
732
64
195
388
813
932
974
201
798
506
244
587
860
12
949
466
333
847
650
12
208
931
909
610
179
832
63
544
621
477
299
638
424
116
2
642
452
772
343
909
722
543
921
784
112
22
97
149
500
542
313
819
781
149
316
788
108
988
706
861
68
267
615
889
211
90
681
621
522
200
668
180
966
158
246
332
183
510
434
959
802
316
219
651
589
735
642
903
829
503
446
182
926
792
29
39
201
339
989
525
237
766
70
398
970
685
642
986
871
519
183
131
237
989
387
340
594
846
648
90
645
743
653
310
47
129
739
162
522
629
494
630
459
692
785
859
221
198
46
856
813
317
178
946
459
154
879
317
871
628
536
122
704
576
106
837
747
304
534
17
910
668
361
145
946
314
121
36
158
857
13
94
52
658
134
816
996
333
226
102
484
284
519
305
524
353
727
451
993
172
679
752
549
896
402
335
846
778
653
107
326
507
76
811
840
284
151
616
711
392
92
44
603
386
648
628
775
124
559
484
839
552
54
866
165
520
366
878
449
978
678
718
774
525
348
259
701
680
486
270
525
200
199
306
885
448
889
152
305
121
1
714
108
597
543
416
362
799
485
484
178
750
910
9
717
924
383
259
740
80
558
581
377
541
489
110
85
741
444
661
416
473
288
421
325
434
668
470
217
583
269
759
842
318
435
882
431
695
279
872
201
721
215
313
441
275
547
222
936
362
330
557
397
184
222
684
906
37
479
825
120
95
546
316
129
979
909
522
412
411
36
333
280
346
244
530
593
751
271
695
269
547
204
1
302
356
151
935
591
359
693
953
862
972
760
142
355
53
6
168
775
70
164
222
181
965
138
171
128
464
786
853
384
244
437
313
973
661
208
759
127
714
80
221
980
547
513
210
459
69
123
132
911
202
534
893
427
852
103
888
721
968
618
536
673
927
437
616
324
69
784
947
203
403
99
340
344
387
360
347
254
213
327
71
390
208
491
150
421
806
325
131
649
40
112
586
491
665
228
732
867
817
265
801
637
597
790
76
3
79
851
345
919
15
555
507
110
965
206
177
253
652
481
474
251
87
98
585
280
437
275
325
490
633
10
678
806
466
909
209
267
267
826
327
750
296
66
598
706
674
286
709
761
999
501
204
649
810
813
848
939
702
555
301
487
212
584
799
336
558
314
741
59
936
960
358
157
358
140
158
199
955
626
463
840
242
583
150
711
112
67
662
449
215
889
450
834
940
242
298
33
429
606
353
496
948
557
315
907
426
29
927
903
200
519
815
3
819
454
772
265
263
667
769
740
97
510
342
719
864
654
522
68
525
17
111
736
833
591
996
626
343
155
92
575
170
12
724
188
715
883
487
570
309
80
114
819
146
891
475
319
919
893
586
411
309
544
430
66
818
2
487
543
508
563
59
820
842
510
910
821
217
442
254
26
733
356
828
138
411
825
666
831
400
663
173
519
642
339
276
244
120
243
775
488
73
621
470
745
509
635
282
121
919
523
411
147
365
296
470
216
8
742
701
747
687
781
586
267
415
347
625
87
475
66
614
141
383
967
476
860
131
334
612
664
976
597
753
768
548
868
517
516
183
289
228
384
217
909
50
133
425
194
176
318
931
576
636
525
668
714
259
233
928
228
466
190
610
728
868
517
543
883
100
559
636
154
903
662
707
535
263
634
507
322
302
651
880
515
720
755
987
895
800
894
234
229
375
665
866
334
718
530
193
904
995
305
84
144
786
134
632
203
199
11
915
380
262
134
345
814
601
37
419
167
897
486
594
387
267
586
612
203
475
415
836
426
865
766
77
503
984
260
943
999
158
159
949
860
660
738
516
382
738
912
505
761
443
171
111
3
142
546
802
753
601
469
463
285
744
888
72
497
553
940
45
276
70
819
838
985
150
203
539
153
427
756
943
679
939
781
45
980
997
40
971
547
180
144
129
333
781
662
743
230
635
289
18
642
45
6
867
846
395
123
546
376
167
524
528
150
270
222
665
436
6
525
999
52
507
762
617
356
225
506
553
726
860
669
91
185
177
698
758
791
276
288
946
164
268
749
345
322
721
129
342
555
942
731
110
656
914
482
348
241
668
881
570
249
988
964
367
962
590
766
303
62
349
279
962
284
726
789
210
220
252
766
905
693
861
221
130
927
858
514
541
397
533
166
533
883
806
107
797
722
748
163
238
683
554
304
413
204
325
324
367
942
13
184
230
741
21
195
990
128
250
586
624
421
813
778
173
353
274
864
399
894
1
359
377
598
171
289
751
383
13
101
424
110
121
619
99
723
64
560
481
980
42
660
897
22
59
546
776
104
917
858
739
815
388
18
990
55
31
224
351
818
506
936
549
572
674
150
290
660
439
228
261
672
59
899
441
186
621
331
3
622
477
847
648
213
690
944
435
251
971
748
44
838
160
955
915
347
28
597
931
670
84
684
106
127
77
879
283
594
137
900
959
13
802
255
199
939
731
255
36
214
545
991
900
148
80
95
386
833
312
682
97
330
347
792
420
512
165
59
800
296
273
48
504
826
995
948
929
945
928
825
212
940
977
668
273
119
488
851
463
250
202
423
657
278
166
855
986
3
260
493
389
624
709
968
829
129
809
265
317
520
97
963
861
787
378
417
78
338
335
272
477
345
938
797
376
73
495
925
971
795
3
800
371
365
383
875
267
833
291
292
501
768
499
354
985
105
192
389
332
397
166
207
32
339
598
635
261
298
980
361
183
367
826
376
154
179
975
878
362
271
680
395
255
342
148
236
574
130
916
94
939
940
235
803
693
129
619
780
160
919
890
642
574
995
276
863
648
268
653
100
188
17
551
996
213
423
358
841
731
116
49
483
728
955
865
255
932
737
564
490
612
891
285
423
997
513
606
862
919
292
55
55
914
966
211
600
344
953
546
75
58
730
304
298
734
321
72
797
321
13
143
89
943
13
452
847
208
324
606
901
109
545
532
263
623
660
344
77
671
117
287
457
281
681
67
658
740
597
416
957
971
582
487
872
619
38
577
102
124
668
683
648
587
364
639
127
380
857
905
187
248
71
609
298
132
615
101
899
59
70
127
44
229
45
666
259
840
25
672
234
324
130
197
382
370
809
869
55
547
362
270
359
385
930
551
143
477
248
509
667
574
48
463
905
615
429
458
197
390
947
752
203
808
406
44
703
776
572
647
830
352
102
628
721
117
991
963
447
702
757
937
260
19
402
325
916
18
890
373
814
738
549
263
196
1000
313
486
502
342
153
568
232
706
447
626
377
931
222
556
515
332
416
37
214
520
364
123
231
139
658
921
320
384
454
757
184
2
52
240
172
978
274
886
914
271
790
267
935
741
989
205
688
922
482
170
151
379
566
888
279
181
242
134
167
459
517
821
732
100
722
804
82
386
553
251
519
776
367
54
285
106
39
502
771
179
338
368
861
109
338
640
510
791
878
335
442
572
434
252
60
520
84
44
285
715
418
703
54
587
338
386
630
710
731
554
724
347
873
541
650
723
251
998
395
256
229
160
531
910
597
482
351
431
570
27
485
473
278
907
512
521
108
203
761
83
519
41
594
834
128
932
929
267
907
45
669
941
337
826
13
587
204
260
310
199
548
102
258
691
944
645
747
914
905
882
588
571
680
510
700
92
176
830
53
609
991
445
832
984
821
657
822
243
609
573
979
895
833
236
513
334
294
552
590
943
601
381
915
567
299
934
65
748
268
525
413
473
556
804
893
239
327
846
643
889
934
828
786
47
454
594
207
956
195
111
227
186
793
639
473
979
499
509
105
984
210
516
776
727
573
289
367
467
231
485
569
10
922
273
866
648
660
374
317
621
671
885
818
445
123
215
194
955
920
707
561
166
13
969
880
916
724
484
527
776
587
828
4
913
47
681
613
407
190
887
48
55
320
12
369
813
856
188
741
858
457
579
683
724
770
427
266
52
444
515
894
320
327
816
816
321
867
269
493
257
779
896
305
63
988
942
854
985
704
304
288
488
234
305
668
282
800
766
380
647
215
403
990
234
713
843
739
229
631
879
101
109
925
193
406
188
681
425
591
837
904
363
544
555
839
998
338
38
33
402
903
3
113
688
329
831
35
783
30
996
138
407
475
856
901
434
46
621
741
755
857
231
538
877
37
407
809
751
83
394
649
753
351
742
598
288
673
44
563
254
368
699
841
473
649
628
16
224
519
365
260
252
766
90
112
953
636
998
351
947
38
836
966
944
910
598
561
612
518
116
747
144
8
726
203
355
470
299
130
447
176
643
750
9
388
716
382
450
336
114
337
802
523
62
576
764
527
452
616
930
852
546
664
377
190
631
307
161
652
239
414
850
147
563
64
873
124
350
425
363
281
849
524
171
725
367
733
877
254
613
647
982
142
276
724
935
784
227
707
258
86
320
366
879
304
24
562
692
323
998
969
480
45
324
42
602
631
266
993
278
838
362
596
845
589
140
616
131
197
937
541
945
404
173
70
756
477
881
532
802
161
494
963
267
159
665
121
632
216
377
98
2
560
732
513
44
622
550
509
125
530
395
880
388
783
689
713
816
922
357
859
761
756
816
408
23
889
222
79
343
878
555
118
81
326
549
847
923
644
445
501
700
975
289
341
787
9
776
342
92
31
699
942
347
544
658
428
267
269
49
546
163
117
265
834
754
9
711
991
250
30
476
324
275
471
464
941
808
784
365
883
142
305
95
866
789
902
243
597
390
371
621
950
918
476
215
380
922
42
733
74
90
374
455
288
185
609
272
201
263
287
662
400
138
567
830
816
263
18
392
513
546
840
811
248
132
721
236
128
859
252
527
8
913
988
44
485
192
783
165
507
26
980
657
608
194
425
703
753
627
12
843
623
802
671
115
903
579
279
412
827
167
958
441
780
961
646
696
238
263
594
547
713
223
674
872
635
953
991
681
327
410
310
816
302
528
235
122
124
89
919
460
989
987
308
541
995
864
582
853
802
586
504
875
999
648
833
375
37
419
848
816
47
57
268
831
173
48
560
240
340
592
692
359
529
455
871
154
673
500
739
380
313
843
738
2
975
446
137
27
60
38
262
405
704
409
39
775
684
531
858
669
934
428
107
231
650
411
478
648
290
112
263
267
989
728
439
780
44
38
287
991
151
33
649
397
33
451
699
223
936
140
301
626
225
893
576
467
985
358
311
472
74
671
252
563
580
719
69
907
1000
296
72
486
722
985
294
59
639
296
619
999
753
425
57
814
699
43
88
116
980
665
247
438
546
493
753
574
68
102
65
28
888
972
672
793
164
670
313
887
162
426
83
1000
13
970
557
153
489
746
154
502
534
32
445
263
320
98
9
301
618
232
740
77
115
375
218
505
107
138
869
763
696
181
166
256
217
288
34
748
110
982
983
117
886
194
190
350
139
331
956
137
777
66
439
885
798
297
607
40
933
47
642
369
459
499
852
256
321
966
296
114
436
397
920
742
754
878
984
826
174
721
969
806
925
921
940
22
377
186
557
389
541
248
539
850
712
904
406
508
804
62
753
649
936
104
132
828
721
16
881
828
568
96
860
556
975
505
106
895
468
582
915
122
358
615
663
720
927
745
1000
361
1
748
699
360
150
734
540
131
874
197
89
41
229
450
125
601
323
181
793
104
971
784
223
648
604
131
531
28
206
689
580
69
669
209
838
836
427
737
6
586
689
377
797
479
871
54
443
818
48
490
999
31
426
782
520
712
798
216
534
767
953
454
991
113
822
785
65
468
900
937
764
439
175
841
279
528
313
823
419
681
364
921
269
696
620
432
407
158
530
318
658
534
788
804
348
762
797
368
490
928
723
331
109
630
254
406
224
228
20
929
584
460
317
931
351
854
442
886
357
926
467
740
447
445
719
784
661
896
589
49
719
888
548
141
328
417
403
880
336
807
898
664
642
662
738
217
92
339
991
263
268
313
618
722
220
290
560
213
701
72
415
11
383
998
259
117
887
260
542
771
166
473
338
557
964
721
442
235
600
669
932
580
280
475
848
780
538
952
600
420
128
838
549
675
915
106
953
88
863
949
169
247
210
446
507
735
340
943
679
971
640
891
102
928
831
183
636
283
916
61
524
236
860
304
391
98
579
732
172
763
632
987
751
338
246
244
897
541
974
697
831
963
293
682
365
899
966
827
93
290
792
907
578
229
696
961
796
614
747
794
382
785
799
216
358
401
928
223
115
395
727
860
369
567
856
693
724
260
899
670
224
631
743
606
991
201
188
742
646
735
428
580
706
29
389
698
556
823
620
359
928
911
621
503
44
484
996
155
670
884
821
356
437
241
950
504
643
918
763
346
679
292
49
972
908
159
274
845
537
982
497
284
560
257
582
842
346
525
154
719
794
924
960
663
308
742
911
842
984
106
94
800
560
831
478
919
620
424
863
802
514
452
877
576
229
775
438
424
198
635
197
562
641
241
889
506
595
276
413
669
203
687
726
281
208
261
307
161
826
714
36
70
356
466
815
293
949
841
164
570
910
160
323
732
816
79
88
196
498
590
741
996
647
270
940
182
374
749
378
204
592
860
326
394
473
617
945
756
567
981
383
71
378
372
213
748
343
994
754
941
175
366
150
216
488
889
886
425
459
864
563
541
49
188
354
886
960
822
570
592
62
234
110
128
532
236
435
446
268
28
855
604
501
808
576
759
647
992
946
36
599
971
788
127
626
315
518
409
976
528
2
13
86
768
752
543
39
432
98
81
520
141
449
705
83
470
604
6
956
683
359
956
980
882
320
103
525
208
922
205
391
169
154
358
760
743
349
165
253
624
751
674
11
880
233
679
523
342
685
447
585
207
96
113
423
745
283
771
461
480
563
776
667
875
380
874
715
426
81
577
413
983
545
611
1000
314
363
377
928
184
599
98
702
692
977
735
200
196
450
813
635
946
764
13
998
431
565
757
390
555
3
46
97
957
627
492
693
203
503
825
676
107
173
155
399
140
47
921
117
749
259
770
973
422
864
578
699
481
468
434
571
951
54
707
918
288
800
227
102
432
145
226
427
406
245
911
860
660
196
457
833
444
100
761
602
778
144
529
840
993
312
102
191
387
295
12
476
287
420
389
154
681
160
216
385
645
882
913
774
966
32
882
439
741
839
461
584
238
18
206
139
959
624
513
368
699
411
420
560
352
558
810
42
357
612
370
814
986
844
376
12
107
3
808
283
670
598
321
897
935
466
355
94
359
326
9
704
151
455
337
594
741
395
429
836
770
817
953
796
778
301
843
542
463
769
487
43
220
783
43
667
711
718
515
375
366
77
811
823
48
849
312
342
588
879
393
337
554
654
929
247
384
798
94
596
983
823
625
54
989
360
305
648
167
188
639
459
807
862
551
173
602
627
479
855
178
629
403
186
354
119
215
178
268
471
313
94
671
365
455
883
79
387
732
954
967
660
981
521
865
835
64
60
47
934
246
671
465
88
314
216
743
141
184
210
326
513
492
308
330
423
48
154
239
793
122
42
389
723
224
567
45
407
418
953
1000
774
242
268
843
922
985
64
404
638
423
333
471
890
98
785
546
224
886
622
264
399
917
940
129
451
858
825
374
590
204
19
78
4
505
761
168
682
374
22
555
829
734
922
463
307
979
511
932
818
677
500
637
205
931
733
349
345
812
383
868
586
70
921
762
585
928
854
26
699
892
148
629
790
391
999
994
423
531
337
616
951
421
35
427
915
319
290
979
511
333
74
229
627
510
860
510
75
950
41
255
241
995
620
195
267
646
744
21
316
103
640
978
182
730
328
435
712
803
248
273
99
115
617
814
68
895
873
122
381
496
54
716
916
38
342
138
733
483
259
350
203
663
249
641
261
394
417
586
292
143
245
606
985
682
1
835
726
767
371
354
750
176
565
312
326
371
803
88
701
620
583
466
400
707
610
710
748
199
595
579
139
867
396
530
705
13
127
821
473
365
938
784
22
719
133
259
969
689
180
93
278
770
948
617
543
418
204
263
884
992
990
779
53
238
30
70
644
428
691
325
73
422
372
922
123
671
409
609
394
629
698
545
983
140
300
150
49
83
219
87
717
3
388
363
931
479
669
283
464
711
326
881
278
192
982
581
813
335
584
14
600
621
234
363
795
187
56
91
837
748
469
669
471
409
308
718
792
249
259
53
794
495
986
215
163
742
126
482
684
966
88
756
697
984
174
413
475
628
117
978
289
132
559
435
167
150
329
85
58
367
653
147
163
891
587
699
722
484
13
129
408
209
541
8
802
277
519
187
116
688
134
946
469
790
309
242
499
1
663
452
80
780
341
516
182
367
893
62
705
965
739
913
230
797
955
361
195
895
245
732
958
609
19
56
588
519
418
110
954
887
982
704
920
794
432
846
984
876
653
348
713
902
588
485
720
488
179
592
723
921
902
824
446
402
706
884
720
25
387
220
182
448
493
15
374
542
885
360
903
240
990
119
534
464
570
363
766
260
608
685
454
221
479
395
536
856
166
350
766
828
687
148
621
861
260
497
255
712
993
868
411
778
38
923
737
814
220
803
825
753
123
101
578
795
503
211
263
790
668
800
672
429
176
353
370
904
785
90
920
517
110
75
303
184
831
991
512
894
637
905
415
964
300
298
561
376
403
799
541
557
294
343
894
718
769
922
306
274
828
714
45
920
636
123
131
661
438
202
760
457
783
987
868
183
853
505
550
277
107
622
231
802
700
431
115
635
359
555
462
155
485
659
660
108
247
401
889
295
354
291
435
357
23
192
321
191
342
736
25
489
909
507
444
463
126
691
208
82
982
804
645
37
513
234
421
216
377
595
947
692
135
300
134
85
920
354
970
702
113
68
700
34
567
321
103
31
667
14
455
84
241
565
309
778
904
662
140
299
948
985
234
851
287
297
940
553
280
115
559
52
509
156
682
557
663
898
755
49
775
879
10
200
968
815
679
928
709
224
568
557
355
3
677
300
402
323
509
132
447
284
135
145
313
6
870
181
209
218
627
871
30
945
618
185
151
601
120
293
119
655
416
809
693
32
882
472
551
609
414
938
841
457
38
641
451
994
608
602
506
829
936
667
150
877
576
898
96
282
761
751
782
790
637
216
240
457
69
334
913
27
733
366
760
877
154
404
940
139
591
438
244
528
451
674
252
432
956
468
850
16
368
323
386
462
956
252
192
967
256
271
671
803
895
879
419
552
408
192
91
620
17
828
865
286
300
706
365
795
63
702
871
499
464
486
478
640
646
934
637
109
697
214
145
474
763
43
243
614
514
595
958
551
990
281
167
426
32
904
198
154
156
745
940
956
701
747
543
835
554
288
796
88
562
17
180
91
982
812
417
939
969
236
39
996
173
775
158
46
925
745
143
542
413
995
338
377
483
452
327
735
385
80
493
817
876
92
787
686
565
67
673
8
303
205
223
244
694
105
167
701
544
294
549
914
144
261
263
13
839
860
415
108
228
784
900
223
699
284
25
973
739
398
338
21
573
758
994
328
295
480
198
327
553
711
224
482
262
175
493
105
544
457
53
945
330
807
504
795
565
6
146
307
29
144
625
263
114
254
879
795
738
375
536
417
776
4
205
298
992
854
315
885
491
525
224
856
132
965
351
387
162
613
974
894
605
678
181
717
533
351
151
727
460
627
603
450
502
34
768
87
844
809
683
804
312
958
975
712
540
205
519
272
271
36
552
250
868
940
879
928
956
448
775
12
472
786
68
565
49
774
690
330
823
109
647
30
252
332
992
546
459
578
854
437
949
663
21
904
294
229
859
121
528
374
610
864
515
710
200
490
569
806
764
597
899
789
15
183
292
219
420
696
569
462
949
146
960
464
765
362
525
234
828
558
156
337
861
593
464
416
473
720
113
84
561
129
719
515
275
324
516
756
947
199
352
39
378
729
466
374
793
311
708
322
597
159
510
108
777
625
979
181
429
939
935
932
439
674
577
490
763
196
740
462
122
440
372
15
173
645
958
923
381
76
86
77
882
363
267
471
601
776
410
886
777
700
58
306
811
565
627
622
83
713
378
307
933
44
803
597
561
774
438
116
958
335
839
79
342
243
611
910
774
767
950
616
754
353
77
293
656
58
349
927
774
699
567
27
633
23
207
712
942
978
861
562
241
68
176
948
876
871
976
556
379
1
37
511
732
219
222
866
279
913
265
196
231
876
541
693
814
172
564
485
120
894
810
852
628
771
675
625
167
930
47
375
845
576
11
862
68
18
668
895
328
227
906
906
873
105
247
527
729
715
547
962
787
994
440
193
831
912
874
911
474
581
6
611
899
564
13
462
221
545
92
394
53
515
27
377
562
875
224
971
876
197
53
82
252
880
655
287
767
640
110
249
680
574
26
484
762
523
139
201
97
598
486
32
821
47
72
188
271
41
720
5
814
635
982
899
424
838
548
456
694
740
614
767
579
618
25
123
601
274
847
918
665
155
214
884
878
428
891
834
5
815
68
709
243
907
261
60
44
644
82
31
599
845
847
557
427
988
654
767
230
918
607
500
807
798
321
438
361
433
705
639
969
4
303
88
327
406
127
528
163
608
26
971
835
892
94
215
733
394
553
203
59
108
805
225
428
394
96
850
562
89
324
919
986
499
39
135
273
925
654
552
878
882
139
751
10
831
304
628
303
95
841
458
294
569
895
370
811
16
880
445
440
6
608
389
167
16
591
149
151
813
529
893
311
8
606
491
124
580
180
8
532
260
866
744
390
868
805
51
224
126
121
479
382
964
189
828
830
83
341
301
972
362
83
297
839
722
721
331
957
238
522
176
952
586
205
649
746
437
590
325
776
998
692
138
220
744
432
988
669
282
367
454
13
458
570
222
580
7
823
65
707
538
815
105
23
161
906
577
662
838
332
541
524
397
444
794
489
209
652
755
170
736
312
231
394
474
691
805
118
390
479
22
876
559
72
698
178
578
985
446
531
292
299
933
828
501
19
512
944
642
582
561
286
847
507
328
899
416
377
92
492
496
918
191
409
680
923
832
117
299
180
624
297
440
341
475
959
85
906
803
318
325
86
46
351
291
341
85
53
319
815
508
421
854
719
606
83
794
959
636
350
269
940
128
152
370
551
975
957
942
755
629
339
371
127
966
249
250
887
304
451
892
727
581
788
943
743
971
141
759
316
35
993
782
676
61
483
887
161
426
733
561
935
659
990
811
980
359
837
906
769
312
327
413
898
917
373
494
318
546
185
111
527
531
808
593
257
304
77
30
704
602
428
57
341
772
22
925
701
951
610
179
287
283
382
876
953
424
831
47
671
269
308
19
601
239
502
284
759
465
570
845
407
910
20
343
457
816
720
826
842
820
621
718
792
804
860
385
389
782
926
746
619
145
486
495
371
179
268
878
460
64
146
406
853
488
180
559
662
605
909
289
414
306
650
134
301
690
874
802
849
171
13
398
498
867
213
853
83
803
579
701
87
979
488
85
879
551
378
751
796
184
224
841
108
173
625
499
375
55
976
637
653
243
766
767
349
703
389
413
237
788
231
501
315
139
978
70
733
992
239
792
961
325
618
87
756
22
285
75
239
627
990
201
577
343
163
132
353
621
462
461
676
72
642
806
511
464
146
140
475
229
152
566
588
288
125
297
49
947
108
313
153
318
80
995
879
989
716
86
516
671
808
461
932
137
388
546
734
58
373
683
629
307
122
388
741
822
876
239
502
451
473
83
36
35
79
360
577
587
953
587
602
616
374
505
808
544
3
908
981
655
838
964
92
242
881
685
680
421
358
260
672
603
78
172
337
758
65
368
980
414
146
263
319
810
568
28
229
724
23
458
684
303
723
651
280
622
241
922
670
831
928
621
620
454
617
16
157
846
182
975
466
833
300
958
754
326
387
762
324
13
275
502
457
317
655
582
537
458
702
777
41
801
577
78
632
694
690
693
623
611
719
406
507
774
376
543
56
343
817
948
773
934
426
701
92
464
416
787
785
277
311
571
495
92
941
719
179
564
977
163
507
137
435
811
951
451
779
956
370
766
460
787
395
737
775
934
810
406
885
755
429
475
762
940
667
729
562
40
136
21
657
754
98
341
133
152
549
342
85
515
25
116
430
157
988
183
294
413
752
396
242
960
509
915
758
768
937
506
407
285
250
141
72
903
329
295
483
355
732
406
24
462
966
651
484
563
424
585
930
50
732
218
421
628
107
775
616
357
485
744
624
25
850
789
654
147
144
791
102
702
641
563
714
767
437
752
414
351
983
85
139
65
231
378
802
757
993
646
122
859
606
290
557
993
818
524
87
359
120
163
876
476
407
414
138
183
920
550
685
161
952
200
687
856
642
549
171
391
537
882
640
950
264
778
11
166
802
763
729
239
344
347
536
859
673
215
877
541
316
806
317
639
458
600
692
112
773
264
910
136
855
196
466
758
905
131
761
98
684
193
280
55
529
204
485
76
381
101
94
310
381
44
31
393
565
152
917
174
589
854
458
934
218
514
435
40
516
315
317
503
294
427
702
628
392
86
868
791
794
560
762
392
410
925
630
203
610
196
315
654
210
645
2
82
700
68
779
607
933
347
936
89
375
922
387
574
270
653
902
751
774
156
148
175
172
883
640
474
798
93
821
296
160
398
433
504
86
746
232
3
405
547
885
638
802
135
576
794
996
939
451
685
315
503
542
839
94
1000
198
950
40
2
400
91
863
1
542
267
23
694
387
428
396
42
954
345
46
937
29
212
22
674
849
446
319
488
240
903
696
140
185
670
44
918
336
642
389
415
475
358
423
161
302
921
653
525
215
393
889
272
943
762
786
845
976
407
622
746
777
29
277
325
623
173
658
963
781
778
453
859
428
701
119
597
355
780
510
258
43
794
390
69
120
633
340
519
583
108
278
383
403
74
846
368
301
962
459
917
543
417
660
262
601
425
764
7
356
245
449
324
370
466
103
406
388
753
218
906
868
153
79
949
822
388
310
752
672
204
592
4
137
682
4
949
397
392
988
542
895
418
909
136
202
569
541
915
270
530
560
679
302
349
342
662
168
372
907
758
987
697
867
931
72
265
614
582
871
958
799
354
957
447
348
191
381
86
892
449
899
842
483
543
701
109
931
881
236
276
890
847
683
71
91
174
400
39
750
359
433
1
238
693
772
946
550
72
597
661
984
990
193
277
704
46
554
94
540
832
970
250
465
291
20
248
668
512
507
927
54
450
795
189
282
253
925
678
184
707
654
673
503
810
269
617
411
654
598
108
217
579
184
648
969
49
969
153
433
814
159
11
42
694
174
499
996
774
710
476
619
871
978
578
457
885
114
586
387
64
640
244
145
249
555
579
312
900
353
668
745
76
795
898
854
537
739
990
938
887
740
424
975
941
380
488
893
553
505
831
379
772
638
282
670
504
845
708
657
823
229
840
830
706
70
337
253
230
315
822
812
218
799
281
439
903
74
3
862
425
174
166
723
890
21
330
578
267
387
308
354
623
530
345
368
60
650
80
865
264
329
526
369
731
953
161
825
605
934
296
634
550
232
60
216
215
266
722
626
695
817
563
129
816
950
186
336
231
258
997
685
71
16
527
565
330
901
456
377
263
9
445
166
821
835
376
234
546
724
166
317
401
54
118
513
756
83
662
101
80
962
441
818
958
863
913
958
706
588
14
836
213
286
16
817
642
103
360
109
250
695
134
932
930
528
883
533
16
812
566
754
527
726
862
478
306
312
452
369
438
56
568
745
922
702
898
312
832
290
881
750
79
752
512
803
480
670
81
639
17
945
650
708
85
199
671
234
8
710
871
778
337
552
409
10
235
408
383
961
791
202
922
513
242
317
493
848
878
636
555
896
909
102
331
536
644
761
354
510
164
510
367
481
52
887
318
712
887
278
501
123
913
867
313
323
715
485
725
344
802
289
314
412
697
854
647
62
513
817
838
327
21
721
384
495
909
38
735
160
254
676
600
919
241
451
729
49
815
102
701
958
256
437
340
27
628
110
467
699
699
339
101
308
169
606
632
206
20
9
194
207
358
467
186
206
382
432
921
126
15
88
414
24
293
306
636
248
816
758
951
47
449
664
41
914
979
635
356
278
623
933
994
809
123
281
997
783
668
16
212
421
8
12
243
72
987
276
530
430
120
545
251
724
33
533
590
953
300
683
857
802
685
433
129
829
880
21
343
864
566
803
232
364
32
918
104
606
660
862
224
211
281
223
478
466
782
388
74
317
396
482
263
704
750
224
462
103
121
631
684
790
341
714
907
313
429
402
843
134
354
945
601
201
293
933
904
463
371
917
831
987
145
321
551
391
38
974
155
746
503
108
469
997
964
150
703
179
469
933
883
443
553
255
270
912
42
841
421
949
358
843
74
273
473
995
815
662
792
405
343
714
107
762
211
230
278
419
110
300
412
430
119
130
159
98
874
943
177
29
250
48
970
973
6
317
56
4
786
857
878
655
62
610
937
730
829
10
401
402
383
557
831
90
64
380
715
344
636
418
248
630
900
858
138
492
182
838
254
9
607
262
634
881
426
748
679
739
223
351
398
469
534
753
174
459
243
991
877
651
167
667
80
219
373
796
784
501
127
125
309
524
848
762
967
116
52
457
707
120
111
721
184
655
564
231
586
760
840
660
140
953
512
161
404
447
623
190
356
818
198
293
783
873
781
742
702
377
741
647
331
66
113
266
685
71
963
746
972
468
594
502
811
188
455
699
741
931
268
116
615
19
697
770
256
387
896
244
184
18
397
615
311
152
82
265
256
579
440
591
318
131
940
836
232
281
70
840
526
391
542
490
671
729
237
53
261
855
675
369
120
341
214
103
606
91
685
858
335
707
915
963
256
453
413
206
253
374
523
588
492
37
506
412
271
172
357
698
483
222
614
928
685
449
94
612
378
750
242
1
359
821
760
589
883
611
285
669
958
307
123
329
297
209
507
751
329
961
385
570
199
545
488
351
864
354
328
956
253
412
803
688
921
541
288
599
828
838
465
313
636
353
623
12
407
262
883
993
721
141
552
343
969
186
875
832
57
333
521
78
819
289
485
416
183
414
491
644
569
241
643
41
6
195
777
585
225
704
924
324
314
487
357
242
579
267
926
740
921
534
772
105
385
284
52
899
540
827
27
273
1000
880
688
601
692
160
133
681
467
587
78
978
254
45
181
41
236
368
388
270
475
834
95
659
986
4
751
37
527
181
465
551
249
94
289
859
942
701
93
551
798
140
410
822
505
926
151
315
7
479
869
342
443
942
102
415
636
24
392
126
980
310
771
933
745
73
855
331
607
125
209
249
707
659
310
202
632
349
255
931
513
198
363
761
857
762
926
913
832
397
685
331
452
145
45
384
536
686
658
960
362
579
739
65
640
647
451
29
837
941
706
796
870
184
19
616
904
990
398
617
313
419
817
397
867
639
515
756
857
556
228
144
179
278
445
214
379
197
995
122
248
272
554
860
884
854
161
936
22
981
476
225
60
641
291
616
439
931
773
405
944
382
1
17
54
989
647
764
669
631
56
802
451
655
556
353
492
335
560
589
256
846
917
224
556
131
7
44
826
769
266
64
106
520
213
973
974
759
525
828
104
392
402
725
282
188
283
293
452
664
952
441
846
814
211
707
285
988
591
964
546
175
32
968
40
801
45
448
150
900
670
993
252
177
417
981
855
50
490
224
290
238
813
755
86
838
751
428
493
103
987
606
635
367
694
222
397
612
19
947
481
219
886
5
34
324
307
430
856
40
727
219
490
516
373
847
416
450
263
111
188
174
279
108
562
927
697
426
602
220
645
322
284
500
239
707
359
455
560
295
76
376
204
123
934
965
894
987
773
866
483
12
397
967
784
737
385
221
796
548
920
345
312
300
267
233
365
221
1000
359
651
1000
195
738
908
54
598
264
182
553
189
348
82
728
671
827
377
349
166
63
797
41
775
986
441
261
750
600
17
382
724
131
4
266
821
559
961
147
495
753
367
437
641
804
843
255
840
447
81
112
631
643
546
220
314
498
873
271
139
700
865
426
675
559
197
444
775
573
241
551
863
133
916
695
147
648
92
298
17
872
893
464
80
687
167
882
227
917
518
352
653
38
555
920
998
765
420
116
629
604
243
679
611
415
905
450
118
906
366
834
853
770
874
334
551
879
554
179
816
531
251
17
293
252
4
949
727
88
185
926
488
616
193
702
10
124
544
49
954
571
350
917
42
937
476
606
229
535
106
739
307
711
57
47
71
92
954
551
906
226
282
676
30
2
413
299
636
745
941
462
894
214
45
739
77
67
130
837
105
513
722
38
422
982
425
518
476
659
775
400
977
619
989
666
791
131
935
650
561
424
129
940
112
832
201
941
255
759
74
219
892
388
34
25
197
351
995
77
207
879
513
745
404
92
526
287
700
138
365
687
799
922
329
914
71
964
990
171
927
784
441
797
184
870
901
990
44
879
454
478
138
239
199
585
554
738
771
856
867
975
999
589
993
810
478
149
115
39
934
894
10
593
587
936
866
473
145
686
73
511
679
351
548
766
392
115
832
59
207
712
617
697
185
531
361
922
995
151
324
991
83
452
739
84
680
35
775
431
544
706
660
146
136
238
592
260
986
403
52
352
141
556
780
10
938
676
889
54
804
815
609
107
438
373
668
613
527
492
613
871
68
102
260
966
524
867
22
774
262
325
76
347
154
38
220
66
805
430
770
917
600
334
60
138
634
931
933
257
660
922
109
230
367
253
478
7
668
679
166
347
188
756
686
96
812
605
629
504
978
933
99
332
376
346
546
656
860
956
748
325
670
624
425
923
517
997
386
991
668
613
148
984
969
996
719
107
625
584
560
747
660
806
817
685
189
344
565
659
39
890
166
124
788
291
823
265
2
991
87
393
294
128
364
889
854
459
446
737
253
529
710
543
677
154
896
627
182
323
340
426
256
104
84
968
718
983
574
636
956
344
539
774
630
482
202
945
183
608
201
824
966
807
461
759
343
805
793
20
853
687
170
627
434
450
492
444
721
337
116
905
653
482
615
350
969
264
19
447
690
139
259
581
350
443
664
429
578
813
130
140
579
404
26
675
257
74
985
921
948
37
470
91
246
273
425
820
962
169
363
80
57
414
971
727
267
209
674
44
264
204
645
129
383
403
402
339
353
476
513
318
23
526
900
292
754
399
884
442
10
27
449
156
713
147
139
881
60
962
640
97
869
970
383
691
955
235
411
592
715
819
388
112
876
977
820
846
306
975
525
356
912
83
879
91
886
340
648
193
15
240
36
876
303
320
134
47
924
970
139
725
382
488
538
601
823
502
962
754
625
427
570
161
756
521
617
137
907
463
346
240
66
101
449
511
38
176
130
129
379
354
237
698
365
899
14
420
906
625
781
345
771
609
247
738
72
250
215
365
758
893
174
156
754
211
619
265
469
916
987
38
637
211
773
751
820
560
741
302
469
992
119
202
128
176
355
329
221
923
283
896
880
598
545
22
435
188
720
78
528
378
893
736
264
97
331
256
479
382
526
87
993
340
116
324
645
207
85
858
44
222
214
382
216
70
972
507
739
191
897
363
553
102
57
4
348
201
358
827
328
234
312
993
183
712
371
547
322
79
85
509
754
385
160
738
520
508
955
752
275
765
55
48
395
830
395
635
18
502
764
674
526
757
684
119
294
922
353
214
955
585
776
550
86
982
253
121
907
259
101
509
593
923
893
872
788
249
478
890
212
171
772
213
592
420
621
215
720
274
61
95
121
307
925
408
690
946
77
166
653
494
513
528
389
497
190
926
961
994
720
195
702
221
10
916
823
833
502
693
825
523
938
553
416
241
456
995
776
849
396
464
247
149
413
196
964
722
340
449
503
889
822
91
361
417
870
425
976
304
365
886
25
93
30
964
949
668
520
283
11
434
126
294
695
109
26
424
933
80
143
873
476
450
466
437
687
421
97
903
193
651
405
567
121
546
396
387
77
272
813
129
665
388
556
604
69
637
708
784
181
387
836
114
780
625
254
857
568
204
643
643
178
257
734
704
885
291
772
482
398
517
143
350
2
374
824
247
312
67
328
897
71
140
380
117
768
799
903
442
309
693
766
922
624
387
383
482
888
558
481
679
985
268
247
48
933
310
643
454
286
730
894
73
906
104
1000
653
110
35
688
701
898
676
373
112
888
739
559
555
589
606
594
598
881
662
859
187
904
894
269
572
76
147
436
194
632
150
964
356
905
573
130
756
528
956
626
32
922
261
148
570
662
195
338
715
836
229
26
415
47
385
729
46
541
457
137
856
799
352
628
26
48
579
945
802
367
756
787
556
443
204
472
919
584
296
765
285
293
269
677
143
572
630
294
643
118
102
708
756
767
324
714
165
845
138
229
796
580
367
315
470
368
439
292
761
464
63
655
509
634
467
440
866
415
344
200
944
870
768
23
327
166
813
851
776
872
506
908
415
596
58
218
578
483
9
63
277
128
45
682
951
663
770
708
743
132
635
624
66
790
561
996
628
603
535
361
404
97
602
423
255
635
223
648
58
376
944
440
188
454
651
822
210
348
508
959
417
45
786
909
648
352
448
712
482
620
274
291
430
238
759
678
278
470
790
756
68
609
317
34
515
951
871
18
839
811
766
321
94
637
282
34
84
314
938
806
862
902
214
703
619
378
720
231
514
455
870
781
606
147
558
412
594
594
235
86
510
565
6
389
867
198
87
340
1000
769
18
93
531
734
536
212
909
834
884
734
13
791
662
408
611
35
8
357
334
906
34
881
438
6
939
296
291
721
173
503
989
445
338
450
925
714
257
766
457
265
803
626
41
49
607
361
324
326
733
372
737
295
782
707
46
150
646
27
209
46
301
758
590
261
643
944
298
702
319
686
933
40
931
81
535
938
791
254
892
252
580
430
653
632
936
974
887
623
951
987
825
259
44
371
522
123
462
209
104
36
933
952
64
852
620
190
800
328
596
688
223
659
491
988
798
84
858
114
811
899
46
819
33
331
71
367
162
982
39
82
635
988
168
740
427
582
366
415
461
519
608
601
99
676
59
232
15
201
33
743
384
794
357
471
988
20
671
496
281
131
517
480
912
469
791
204
495
411
308
270
660
763
764
867
525
647
338
590
786
248
535
66
557
198
670
515
934
15
533
467
22
759
376
527
820
990
359
517
929
189
973
274
512
32
764
142
338
308
904
481
996
785
740
542
586
70
505
712
278
327
776
410
131
751
116
940
497
870
562
155
121
43
275
135
798
41
713
966
65
208
162
322
945
502
296
798
202
676
732
828
916
941
223
610
442
743
190
652
970
692
809
432
992
248
761
196
922
517
36
109
29
392
911
787
610
303
335
785
25
76
448
707
808
707
935
473
604
420
190
698
45
13
72
289
32
336
110
130
105
721
622
171
702
324
147
303
160
637
941
189
237
866
99
584
801
488
983
756
68
70
283
342
443
320
977
327
596
463
875
877
842
215
234
431
318
67
125
813
715
83
867
99
503
164
848
653
710
554
482
34
311
385
891
455
189
241
142
96
447
21
487
839
595
888
158
945
722
706
672
778
363
180
497
911
133
855
202
886
635
228
865
429
326
514
633
149
247
1000
771
628
551
507
495
322
748
222
107
894
484
27
740
429
419
515
64
489
508
73
880
97
543
781
417
581
345
363
500
655
412
126
495
227
119
631
70
231
808
815
378
182
247
445
222
278
939
50
117
584
745
947
938
264
90
580
44
873
827
147
300
451
444
413
460
502
902
683
746
7
849
148
249
288
341
176
9
867
485
709
234
486
615
584
141
92
697
479
312
904
686
193
332
646
457
123
668
653
737
151
422
824
219
612
638
362
635
670
296
777
134
211
993
940
718
313
581
835
875
469
716
211
774
991
330
605
557
451
572
9
338
578
606
31
487
771
4
574
648
283
148
878
742
152
179
307
894
174
556
357
802
570
216
245
612
495
642
834
730
227
911
815
341
682
911
841
643
888
499
711
897
206
306
843
458
336
258
972
897
653
684
457
143
979
9
595
371
677
666
104
977
877
806
266
597
717
806
277
551
694
375
31
514
640
245
890
486
361
91
10
313
677
282
430
132
465
562
460
102
325
534
839
707
630
97
791
720
91
612
361
643
406
632
355
93
225
489
800
95
452
897
92
729
847
986
888
891
14
888
371
222
99
48
735
370
975
937
595
873
224
746
561
876
1
927
419
803
716
165
162
888
542
470
652
150
935
619
826
11
723
75
169
240
831
863
652
344
373
629
440
822
670
220
480
930
735
724
475
742
909
814
883
307
607
647
290
672
616
320
939
373
949
63
227
745
75
924
734
79
211
720
685
221
474
391
797
657
914
698
133
543
817
453
940
401
247
20
443
396
460
911
191
224
702
674
920
628
912
145
793
477
10
342
569
161
793
951
465
780
913
388
465
231
100
882
390
839
521
907
287
600
173
520
632
503
290
891
354
574
997
353
940
536
887
800
747
963
753
183
146
847
449
100
355
330
739
246
617
167
27
562
905
159
84
454
463
416
218
384
336
786
869
461
463
233
258
416
80
221
569
451
911
428
99
62
91
218
963
840
844
328
241
645
693
211
885
322
357
260
329
288
600
969
492
914
957
664
799
616
668
96
909
948
176
569
71
827
218
735
425
175
885
421
91
937
25
76
620
405
23
502
203
235
280
560
66
365
704
433
653
274
135
863
503
699
899
486
228
924
639
37
633
282
147
711
800
303
161
428
925
277
25
99
800
630
631
214
74
612
305
286
891
305
169
699
14
799
17
522
353
765
958
708
622
274
891
897
961
912
413
713
516
683
852
76
357
177
5
530
586
787
554
2
213
497
304
732
148
918
147
340
673
792
81
110
882
156
734
623
873
701
549
814
930
653
230
351
534
661
78
35
806
782
577
529
913
613
961
334
18
43
518
382
629
890
67
991
537
884
400
239
127
90
459
975
512
880
692
811
808
977
315
414
883
943
202
371
84
723
729
663
762
478
173
561
895
32
224
345
767
673
732
814
433
948
67
969
657
341
398
634
119
403
703
995
951
998
598
230
77
800
903
460
404
90
403
216
651
185
458
516
491
560
941
400
708
811
488
514
296
166
197
870
766
133
717
476
442
241
147
888
207
557
272
88
968
804
446
311
103
465
871
551
290
209
115
545
406
344
443
943
639
765
949
259
552
56
548
910
630
975
579
347
714
542
154
831
845
354
425
883
249
536
612
815
581
977
972
55
103
61
917
128
160
194
91
312
181
777
578
932
436
184
351
218
967
476
680
437
405
278
544
746
908
271
973
838
52
216
864
4
329
289
72
640
841
783
452
633
899
907
98
246
479
480
274
358
926
844
333
910
861
164
528
439
982
646
739
428
330
838
32
2
650
381
410
176
657
6
324
495
397
580
287
353
379
279
398
756
849
736
734
554
386
151
313
427
981
899
789
25
913
123
115
703
3
187
177
223
318
600
778
667
949
239
431
534
306
238
136
674
249
939
675
269
475
671
996
549
795
934
937
307
345
779
898
572
279
766
34
979
257
941
230
486
812
660
401
78
784
942
649
30
101
278
410
94
558
448
18
723
710
971
40
48
643
248
323
893
155
354
961
522
869
666
261
184
869
233
375
768
743
835
472
40
303
203
185
1000
868
748
615
890
682
450
340
222
976
273
741
34
176
578
420
227
1
542
682
464
528
488
811
612
819
405
398
104
383
634
32
935
552
871
503
218
854
187
66
363
585
700
416
962
90
924
768
438
693
590
851
323
864
876
670
820
908
624
603
945
454
50
796
118
37
902
826
554
331
774
282
167
969
541
283
1000
429
450
913
384
163
457
246
129
15
794
892
40
965
623
29
992
427
833
430
581
644
707
345
119
198
234
984
355
305
285
949
847
346
755
233
352
50
40
273
946
830
867
118
838
57
636
15
25
464
851
524
967
451
179
883
461
790
924
450
770
125
454
952
833
692
192
731
101
900
353
341
107
761
473
663
428
667
177
173
57
691
308
97
570
409
736
14
658
215
690
839
743
249
416
263
439
355
336
447
532
910
654
177
44
12
525
742
657
242
482
520
474
153
828
627
631
706
68
9
761
119
266
40
693
954
441
41
53
838
697
121
611
912
815
394
357
932
493
941
231
998
185
860
422
20
801
343
881
379
134
25
502
715
931
767
987
405
16
640
987
96
689
104
534
615
945
305
144
660
691
942
204
968
261
410
444
50
970
758
334
182
410
550
239
46
413
913
45
330
397
861
741
615
846
517
147
94
258
995
574
24
799
496
700
308
204
682
372
294
273
453
336
696
383
95
159
509
39
145
695
951
426
459
509
750
283
664
614
531
203
635
713
684
641
649
904
846
466
613
457
55
934
121
851
699
302
135
726
624
140
755
782
153
586
898
948
304
418
693
338
201
829
53
600
526
218
213
287
885
138
944
764
94
804
843
11
773
174
302
382
57
705
754
24
919
310
354
191
362
933
505
129
711
410
548
570
312
984
487
89
253
889
850
806
91
951
632
910
175
7
828
500
888
283
227
118
999
547
971
102
375
993
920
623
493
316
957
829
570
371
240
51
609
146
821
433
350
503
215
643
945
315
238
579
131
138
927
95
845
563
368
800
490
710
83
950
541
136
976
283
745
574
923
398
988
531
791
967
761
737
70
603
278
856
290
697
509
649
126
929
780
5
388
411
140
860
126
654
399
52
725
609
590
574
152
66
609
544
518
595
2
417
713
28
130
636
169
214
469
968
713
391
429
213
110
87
867
848
84
861
405
454
565
584
813
417
426
189
923
502
212
1
4
392
235
790
88
154
929
715
454
921
541
159
397
773
98
269
413
923
48
701
173
823
166
655
977
745
103
826
918
716
419
257
655
430
85
439
482
897
186
217
428
158
29
169
191
333
911
196
52
646
583
971
339
841
825
770
635
571
623
945
668
933
149
960
755
313
107
502
748
91
60
617
639
564
7
228
401
658
854
668
167
604
388
60
546
774
32
450
737
311
982
652
133
16
253
620
233
176
830
22
47
693
366
391
645
904
817
863
125
944
984
64
92
378
202
115
684
86
290
113
268
59
456
675
218
881
57
297
596
98
998
355
124
644
60
545
585
732
661
436
645
371
364
598
186
756
973
460
383
315
179
653
147
117
572
96
66
678
240
489
641
943
360
209
425
361
926
815
693
544
200
492
356
921
572
835
174
200
261
265
747
195
676
262
371
772
337
328
617
232
965
269
413
450
708
947
460
486
525
118
77
176
402
371
941
430
450
454
724
563
908
467
346
27
720
507
410
327
704
351
404
720
256
675
414
576
158
121
417
884
380
252
733
465
640
64
799
902
114
261
284
52
940
935
453
301
31
653
854
375
305
191
610
611
631
344
57
84
688
272
31
888
426
845
819
146
43
316
720
67
203
448
162
447
734
893
539
569
179
241
310
333
414
653
364
849
982
404
379
388
927
974
689
800
695
556
173
9
91
985
813
190
392
110
860
567
429
585
5
565
898
912
543
215
181
302
299
287
702
609
996
638
188
123
805
632
264
526
88
300
470
651
682
133
140
7
660
981
584
199
175
582
654
481
873
663
98
693
349
371
67
725
310
66
754
487
425
108
445
76
327
377
160
465
855
663
696
574
452
978
91
30
536
87
466
264
826
224
727
853
803
78
865
172
970
573
417
496
97
910
228
662
395
610
797
264
458
9
358
186
820
784
337
903
225
599
967
653
19
882
671
15
605
96
278
909
580
573
262
288
983
174
973
67
64
538
259
922
142
677
973
670
374
23
614
843
771
808
730
939
317
831
800
597
909
260
8
573
653
81
702
2
223
236
352
859
137
269
523
956
261
506
694
69
336
437
779
989
79
947
825
391
220
506
721
432
876
240
661
865
823
57
767
320
551
634
542
88
473
134
761
388
300
977
987
653
366
851
167
766
676
419
645
577
511
862
507
253
732
470
374
188
303
994
637
266
158
349
667
235
255
593
687
846
548
775
880
182
654
386
752
306
196
659
970
942
154
900
666
422
63
338
696
538
588
759
433
246
806
305
491
416
512
386
160
921
28
598
475
418
245
928
559
112
121
267
284
633
436
449
366
914
371
615
716
636
421
686
248
341
193
119
362
828
889
935
27
776
671
214
696
890
627
844
320
982
769
373
343
574
365
190
910
545
875
146
449
320
995
916
433
856
568
90
398
450
668
1
225
2
748
774
302
905
562
946
393
174
534
261
992
788
314
938
457
455
563
777
458
183
410
985
140
108
591
456
937
997
37
584
131
723
538
370
132
811
170
706
916
826
374
243
234
978
917
167
999
839
493
547
737
456
389
669
100
475
455
882
226
115
613
78
157
951
264
844
618
511
262
725
223
628
554
778
545
349
215
791
582
932
343
118
843
151
226
72
663
686
242
214
363
835
209
674
600
198
264
849
538
221
920
447
503
735
630
846
442
682
51
193
779
234
218
461
275
446
2
968
84
366
543
472
489
271
858
14
743
326
419
158
16
489
335
123
712
943
692
569
303
661
714
498
417
997
696
789
100
324
37
393
59
834
320
99
232
571
82
92
199
657
831
223
785
455
887
32
731
101
852
84
429
449
839
109
549
954
133
746
839
458
603
482
511
140
20
456
401
118
413
410
515
331
749
984
684
362
478
940
782
785
984
666
368
510
547
478
675
299
215
835
591
353
880
563
625
364
939
572
922
977
161
381
15
907
745
931
419
320
116
822
88
216
711
95
477
687
844
139
221
924
757
109
417
728
160
498
138
159
839
139
37
601
440
979
905
225
141
412
565
321
746
824
781
425
649
286
743
528
266
986
256
892
759
101
971
161
314
272
867
542
810
759
743
774
431
648
615
509
688
192
820
498
336
481
64
678
889
154
846
858
773
798
473
177
702
10
372
970
491
835
507
943
383
442
486
819
909
449
402
726
488
263
511
639
210
181
627
142
744
741
482
605
897
22
405
640
106
136
345
354
82
192
655
494
897
355
102
41
12
470
197
188
178
905
352
950
626
881
301
802
734
585
926
878
136
797
907
262
327
567
590
780
924
746
106
577
111
812
10
431
259
473
707
416
348
994
443
71
616
75
974
632
824
343
852
288
598
236
871
625
612
106
422
622
761
884
381
616
72
531
656
615
823
801
755
237
224
561
527
329
62
7
751
17
916
663
398
528
900
951
205
645
399
465
643
45
950
824
519
119
222
122
200
58
49
532
890
150
594
604
500
264
36
140
364
415
590
308
487
193
310
834
58
551
868
692
676
148
421
702
113
977
772
840
465
506
228
878
226
925
982
144
156
379
377
867
833
283
87
523
388
859
145
83
286
120
744
861
942
347
883
911
590
2
308
581
127
695
614
843
546
462
78
540
203
163
530
483
381
239
554
664
542
408
417
483
186
154
350
2
493
15
284
700
754
727
659
125
155
295
699
124
651
899
413
41
508
345
620
395
590
488
532
63
622
599
724
932
461
215
906
290
892
369
515
3
570
443
9
639
506
114
728
265
953
968
284
604
607
415
797
591
815
485
692
157
854
899
401
220
447
604
83
475
339
609
373
540
198
501
267
420
68
546
473
60
332
598
935
947
462
379
807
358
843
860
828
854
584
555
913
57
587
595
804
571
54
303
768
153
282
850
674
895
849
271
252
207
225
775
980
861
460
778
835
240
808
579
97
158
95
919
501
354
156
914
294
787
906
28
177
397
485
830
669
864
422
208
201
208
985
650
83
770
671
945
581
263
348
371
503
43
674
26
75
748
231
471
386
714
294
256
357
382
272
224
9
2
619
712
795
528
471
890
882
541
353
524
597
394
19
392
641
569
929
414
364
379
915
343
68
758
275
489
301
864
954
542
126
601
467
25
614
995
901
288
167
540
709
227
867
262
953
145
686
262
359
205
308
925
816
5
287
827
945
653
443
585
967
572
745
572
388
979
369
453
949
618
306
948
886
850
643
120
775
649
628
728
168
425
706
873
763
809
2
261
68
731
123
862
409
170
746
688
637
940
170
665
96
746
922
313
235
534
527
62
755
860
767
532
334
585
109
52
786
718
484
20
959
650
288
432
829
306
281
84
995
16
46
469
225
978
821
366
815
279
802
488
229
337
449
315
928
499
966
409
335
287
867
120
608
422
455
540
263
359
138
3
712
501
717
179
472
674
169
76
146
706
19
824
254
161
55
170
678
367
23
38
757
894
952
313
66
532
914
281
517
657
353
791
700
578
613
239
326
100
914
965
214
69
826
481
519
106
241
262
787
93
963
459
17
221
259
25
71
570
192
189
705
274
74
148
973
269
146
127
973
539
470
659
731
521
52
76
509
58
429
698
5
866
305
145
675
987
324
541
930
126
756
80
36
73
679
623
341
634
229
506
899
641
638
708
630
621
43
898
917
682
543
654
939
981
550
302
104
927
258
436
647
922
974
141
848
1000
137
360
354
223
48
630
738
34
785
635
831
102
241
618
299
342
1000
743
628
917
574
894
972
27
542
262
304
203
322
273
898
630
623
96
490
774
82
996
367
180
272
255
237
880
19
263
993
268
950
639
352
659
276
927
956
2
83
485
691
374
841
680
892
957
383
411
603
166
372
248
260
482
127
229
995
321
764
424
274
980
764
949
709
279
470
972
724
29
515
663
186
887
846
711
277
440
848
219
611
617
43
330
83
636
976
873
996
747
210
729
767
952
772
333
923
754
35
944
152
729
750
887
885
380
886
948
274
298
998
521
438
133
75
887
543
244
218
223
633
207
20
554
111
533
257
881
419
47
307
135
803
396
778
462
979
61
947
551
165
52
974
397
211
213
324
923
487
665
450
338
807
482
621
989
866
115
688
727
635
427
727
487
648
481
724
844
389
351
915
846
830
321
948
258
698
795
789
702
254
124
147
865
176
352
283
55
677
552
214
931
93
50
734
121
39
324
145
822
641
769
282
168
529
863
232
339
4
456
135
899
267
70
587
844
669
110
459
173
681
832
403
592
713
781
913
119
933
132
583
953
1
69
103
949
946
872
643
449
507
865
464
8
886
778
26
772
230
318
359
873
176
991
226
226
384
267
389
549
370
213
366
250
847
629
205
61
466
520
120
966
60
483
337
991
506
209
129
909
834
829
792
765
523
286
305
385
780
266
471
744
187
458
664
111
310
88
647
405
718
752
586
84
424
510
38
182
906
116
643
840
733
41
243
753
313
611
393
531
424
223
554
830
3
70
785
508
143
234
424
755
359
331
63
313
967
87
103
446
846
399
326
281
965
415
206
502
777
167
120
157
13
90
254
506
433
548
729
419
857
143
428
844
109
126
36
222
603
747
83
573
919
711
123
144
109
238
772
150
446
384
981
159
977
404
813
70
569
916
992
516
99
562
653
710
37
666
67
440
984
116
569
939
643
319
592
842
290
630
458
281
63
84
572
458
301
616
741
700
698
207
614
94
285
553
659
284
100
925
659
899
945
860
463
404
819
205
582
851
431
814
288
134
744
904
81
874
593
659
709
979
278
193
485
261
473
377
272
229
925
369
372
334
196
887
496
470
120
425
158
519
760
625
133
71
388
965
31
244
400
778
700
677
164
364
891
369
500
633
549
36
850
253
187
31
261
798
997
682
947
715
781
123
567
271
286
294
341
790
262
800
772
604
399
776
77
167
322
701
359
643
982
361
207
160
116
820
675
585
919
279
525
347
732
185
205
350
303
810
303
471
178
783
87
481
841
751
331
477
519
404
827
94
957
615
855
798
72
326
422
585
106
102
249
238
788
24
347
108
78
647
495
92
229
324
112
36
308
96
805
339
779
673
349
922
462
809
975
42
982
462
631
676
812
744
289
302
152
571
490
956
181
319
62
394
657
560
322
9
472
103
167
941
504
189
163
452
45
640
98
230
147
182
518
728
475
955
430
60
628
425
711
231
441
544
743
699
479
7
469
329
790
893
349
849
6
799
686
786
23
835
394
707
862
473
573
307
736
294
179
495
46
166
670
207
777
206
775
71
731
185
398
434
154
690
268
490
554
453
137
437
939
743
209
616
276
603
13
619
708
32
109
159
943
911
868
360
282
575
58
744
956
486
114
850
781
352
802
881
682
389
422
221
268
170
849
946
509
619
462
716
500
310
457
530
485
127
149
880
556
770
565
784
941
299
101
15
362
148
12
611
735
568
262
393
380
476
620
821
14
95
903
943
984
533
978
615
647
688
456
433
289
475
4
11
710
381
888
358
456
790
617
72
673
354
574
34
744
913
109
49
194
128
866
638
817
35
37
812
640
186
834
175
92
908
727
169
759
478
866
615
137
704
717
941
126
456
97
690
387
216
724
913
263
582
872
85
713
971
960
13
584
490
690
14
586
33
892
342
550
202
357
414
886
565
766
914
689
105
279
258
602
445
477
216
363
592
122
711
959
479
635
958
439
554
292
122
727
26
878
624
246
145
931
95
741
74
796
682
479
495
398
127
907
73
26
574
928
305
446
537
192
78
358
849
180
481
528
698
394
994
939
40
703
257
971
787
691
983
892
166
936
464
951
561
251
331
952
962
294
879
487
881
414
325
933
199
223
827
907
983
223
938
121
712
708
467
494
732
320
376
914
1000
873
428
277
340
474
794
304
505
571
731
152
302
263
715
20
941
104
166
818
519
685
969
420
279
468
554
218
859
703
199
471
256
778
568
439
648
14
227
380
523
751
33
296
808
539
836
732
786
403
895
33
663
423
776
196
567
351
271
874
615
553
35
145
435
368
263
357
207
865
670
765
827
73
459
672
301
967
772
488
829
922
295
462
353
836
340
830
508
874
713
782
32
615
132
963
689
388
777
181
670
787
785
615
262
640
184
118
277
224
758
107
402
114
844
157
114
906
899
638
306
942
944
660
59
312
686
125
308
665
187
929
254
758
443
196
496
283
129
1
780
202
81
159
185
754
771
567
328
288
165
32
858
336
865
697
133
641
363
972
450
408
578
359
632
691
564
670
74
670
456
912
597
539
233
564
561
873
869
46
741
640
792
932
426
457
340
870
8
318
84
213
124
760
466
108
64
384
211
128
702
678
322
604
715
378
317
440
219
928
553
604
228
203
87
424
550
310
565
507
824
172
46
399
418
603
493
61
794
732
929
880
796
2
867
186
13
397
697
199
18
235
171
912
808
641
979
672
219
745
691
110
439
795
7
644
982
603
354
989
680
186
337
986
277
22
471
567
220
73
907
901
85
640
564
562
900
118
236
84
295
949
695
418
2
432
811
600
762
518
985
429
84
457
965
50
611
913
242
148
109
207
795
849
176
451
873
564
845
632
927
715
174
181
505
727
775
130
166
684
978
749
998
806
11
477
350
248
105
16
769
762
952
692
935
438
284
608
600
107
660
600
140
935
710
764
369
456
212
132
675
544
357
136
364
822
497
607
375
620
453
445
115
867
216
533
278
254
491
118
918
562
56
692
949
336
383
322
480
966
282
526
109
791
613
19
348
82
243
93
858
601
524
958
68
993
518
119
51
423
78
727
231
736
699
908
628
896
716
272
844
624
47
133
942
966
182
531
693
971
507
776
394
813
414
67
636
427
818
745
916
209
878
845
981
379
722
919
117
388
947
562
406
126
484
659
126
767
199
156
57
791
239
50
448
97
733
402
792
162
879
378
371
863
887
727
711
935
489
643
738
41
947
659
420
58
562
91
117
524
732
527
695
133
470
67
691
799
152
327
478
84
957
682
404
721
116
899
372
552
608
83
162
455
386
792
72
719
565
338
158
918
264
478
393
512
950
200
597
309
199
806
842
418
760
284
392
555
701
832
884
334
192
407
622
755
157
436
351
183
670
126
803
957
422
350
657
247
34
748
276
844
297
512
744
421
641
302
262
167
258
870
944
844
372
282
383
10
41
55
173
621
773
152
700
203
961
538
142
586
820
892
574
487
64
196
498
319
53
105
889
244
487
409
87
862
61
459
453
889
627
89
751
867
558
469
616
241
993
292
340
93
538
907
406
472
854
301
872
505
248
343
750
450
34
321
997
392
967
602
554
572
481
198
216
233
831
138
713
402
472
776
514
272
189
619
351
717
551
821
331
981
225
213
829
780
591
632
61
908
852
373
332
915
567
744
496
582
88
121
84
741
920
360
883
448
427
110
492
617
613
423
540
46
935
978
768
153
258
448
187
871
50
766
828
859
913
535
427
637
342
428
523
259
414
180
53
901
704
682
506
74
367
804
106
243
725
742
273
269
146
133
855
472
226
690
191
88
529
815
135
556
203
511
559
375
815
934
707
239
653
58
5
784
552
312
576
548
43
468
764
698
236
734
432
646
390
799
645
946
581
499
653
747
194
911
732
650
248
938
538
36
724
845
129
777
114
805
687
816
387
248
283
235
481
660
730
322
158
579
703
595
806
666
795
932
335
150
121
763
836
426
428
704
80
240
382
200
247
767
861
469
503
823
641
498
168
607
815
931
268
678
637
424
181
297
276
471
964
884
123
731
681
99
893
627
725
988
729
351
692
673
949
442
839
358
828
775
522
735
69
156
341
490
188
715
844
265
85
923
813
289
482
387
93
933
756
542
896
591
932
972
276
603
235
375
241
456
661
121
561
94
495
942
891
990
537
551
260
573
111
867
331
713
566
98
76
224
92
165
704
765
143
778
709
104
677
53
908
434
692
711
204
305
281
749
592
812
516
978
644
842
6
967
264
572
896
746
54
896
404
76
15
149
743
247
625
309
407
101
588
839
356
437
627
480
608
55
790
588
80
413
626
55
318
294
476
489
925
943
858
46
65
843
592
262
437
656
880
296
477
923
29
222
379
753
872
405
709
116
264
526
16
313
172
541
854
887
25
697
64
513
950
753
996
405
482
711
589
364
94
706
857
898
681
159
429
781
697
963
179
965
236
248
915
78
753
218
307
574
490
680
962
209
916
124
606
705
653
651
816
352
443
606
681
823
646
516
19
651
691
811
535
669
642
868
383
215
763
81
126
41
545
69
37
691
183
599
972
562
883
489
832
8
705
603
744
601
875
975
662
107
622
309
24
835
637
327
508
750
188
939
641
146
783
791
248
748
14
501
276
810
896
847
531
163
556
208
252
186
623
805
273
350
51
694
685
365
361
977
580
890
527
409
431
487
793
458
129
770
731
838
492
669
751
766
334
376
108
451
814
775
145
876
823
143
182
510
657
460
950
414
49
931
957
152
948
222
485
19
64
475
197
358
313
383
478
164
779
470
709
745
693
251
649
938
243
152
973
281
738
874
801
558
749
422
756
360
390
131
664
652
817
880
554
845
345
95
968
550
360
321
984
1000
302
876
494
133
575
550
490
440
196
420
84
991
357
573
969
502
822
942
858
910
309
526
195
675
534
975
110
973
619
892
129
989
951
231
642
775
376
864
514
507
830
725
502
535
114
920
330
308
547
888
387
117
649
951
2
615
856
608
177
236
486
518
456
958
843
409
358
360
374
75
400
511
274
234
309
88
789
234
428
8
732
534
697
14
409
415
827
880
246
615
465
353
870
446
186
496
323
459
159
845
368
963
178
673
562
466
566
706
892
681
126
826
273
837
927
653
153
869
221
427
788
539
182
257
502
615
493
644
375
79
14
165
384
710
914
328
936
520
660
938
144
237
232
713
926
467
740
543
218
187
416
512
148
970
584
755
21
700
798
263
365
554
798
2
75
746
315
103
905
824
63
404
191
343
418
342
672
375
395
46
740
630
557
492
255
931
361
742
320
390
315
646
45
953
986
811
378
848
585
347
555
149
346
634
570
823
386
343
342
608
74
24
931
578
184
873
240
499
280
653
135
932
840
382
795
568
609
82
415
489
533
801
107
856
440
148
925
41
289
794
489
378
455
731
611
497
964
617
620
697
67
174
884
910
800
474
120
610
449
870
647
437
927
531
731
404
151
788
470
312
402
961
509
379
538
961
983
168
668
687
729
611
548
201
760
286
546
699
400
149
495
558
278
602
103
103
599
106
923
303
713
565
35
287
15
353
724
442
663
157
410
856
407
779
36
43
71
683
894
223
886
305
639
880
905
138
820
6
201
131
847
181
410
253
710
629
456
912
133
484
960
540
121
754
932
819
968
889
829
924
921
467
945
694
625
195
427
786
365
337
900
763
929
733
791
514
571
749
992
598
186
872
398
877
284
170
207
303
794
505
597
817
11
222
560
117
255
1
194
480
913
717
744
901
596
424
20
585
62
55
616
207
426
12
504
435
917
607
189
897
113
201
571
189
143
7
75
506
832
711
412
190
131
479
526
818
467
460
915
456
839
587
523
354
595
327
826
661
801
79
582
733
62
35
929
177
442
694
194
112
868
670
794
21
36
84
89
163
356
616
908
791
941
258
735
288
958
904
220
908
963
168
762
40
955
271
415
757
969
360
226
951
26
429
468
565
98
808
893
218
546
321
268
81
210
344
974
963
879
385
371
404
409
323
971
29
165
87
185
538
764
412
582
495
328
260
125
496
601
659
818
400
290
993
560
57
961
220
779
355
647
117
579
483
101
408
745
15
270
536
895
792
143
945
525
613
598
933
427
422
247
562
227
21
583
620
367
356
897
354
883
27
549
548
781
50
193
513
600
803
433
750
44
744
242
356
164
767
167
733
656
980
12
782
275
288
170
592
249
424
281
542
835
948
198
866
831
313
512
996
969
317
46
398
561
106
805
214
703
451
824
729
621
188
255
598
467
559
808
788
967
686
354
401
867
560
106
903
30
749
286
792
384
477
613
399
651
865
237
367
936
884
10
298
809
41
70
236
470
849
783
903
941
948
5
103
22
96
509
275
903
333
130
961
911
332
889
875
881
315
890
311
997
955
274
895
791
362
898
41
171
585
668
37
970
66
688
371
523
146
444
777
227
10
272
490
836
437
270
360
524
348
612
803
353
410
974
69
870
899
378
906
988
609
339
525
199
853
593
712
397
477
73
33
310
418
40
347
597
486
427
259
148
990
540
725
57
302
220
741
990
673
458
948
427
436
237
19
331
240
63
911
342
97
259
389
520
862
591
778
971
189
198
556
459
181
141
198
238
674
82
718
888
578
749
433
894
755
878
825
94
690
263
768
857
575
390
56
62
537
891
866
508
404
721
772
387
820
510
949
854
512
36
466
494
230
130
958
753
187
620
480
960
856
103
87
608
607
455
511
6
5
948
326
214
517
824
173
435
43
910
919
685
928
666
132
587
66
610
871
638
289
672
591
107
493
402
916
53
833
368
138
568
912
295
561
488
68
664
226
262
764
570
134
583
608
611
812
701
689
428
954
8
808
359
916
636
621
307
36
310
907
547
125
634
970
719
961
306
637
613
310
526
462
727
815
967
501
770
71
272
470
413
344
962
186
635
693
37
933
966
700
286
812
734
609
542
174
242
455
653
969
395
672
978
211
918
746
572
765
750
719
46
397
589
714
295
317
843
229
905
460
444
624
44
426
73
74
110
276
355
318
210
357
476
637
800
972
527
884
444
955
564
824
730
172
34
698
808
550
729
732
906
478
892
223
424
345
436
992
911
515
498
213
290
269
700
62
196
129
578
225
189
472
585
987
899
560
984
570
870
942
707
389
992
671
968
103
921
943
996
723
807
582
791
502
18
230
178
51
231
271
778
920
467
246
742
861
143
986
187
166
222
768
369
703
868
543
503
800
800
696
53
657
721
850
17
792
769
951
422
905
928
231
813
635
744
687
975
925
477
389
518
65
45
272
246
79
706
79
421
768
474
745
110
613
671
846
850
741
854
710
738
335
602
373
890
173
283
873
933
497
990
313
825
14
261
672
828
650
112
655
911
619
122
714
198
480
43
971
343
106
449
980
862
918
453
124
530
328
399
994
921
13
749
262
43
606
99
416
817
363
342
198
840
611
563
781
449
118
123
481
651
45
785
311
844
808
411
766
616
7
946
41
106
540
954
297
546
205
899
688
647
316
769
601
427
391
378
990
926
498
876
703
21
672
581
457
191
690
218
466
683
591
73
754
964
554
339
882
758
124
178
159
245
335
596
381
160
979
282
823
692
101
970
512
15
857
725
760
252
989
779
570
464
552
217
810
978
954
829
985
5
51
934
997
39
810
822
590
966
11
744
13
141
564
60
58
998
276
215
776
854
331
745
128
683
314
349
269
594
336
438
427
621
728
209
118
230
777
462
978
626
228
864
617
568
571
310
731
868
715
340
157
194
247
357
691
98
366
475
261
416
511
426
478
312
872
894
691
295
253
6
404
451
212
490
328
999
5
176
395
34
621
112
780
973
133
538
342
800
633
380
934
659
280
704
710
751
361
797
896
756
817
143
496
195
382
591
44
264
337
434
853
653
905
955
128
787
460
230
980
749
85
623
642
847
449
481
91
445
650
943
927
190
442
719
561
225
224
882
689
320
278
456
576
105
990
640
917
760
226
989
863
575
600
792
392
767
104
173
336
835
458
140
244
493
581
958
750
943
788
693
273
830
668
740
674
731
118
464
981
437
670
823
386
618
82
992
531
665
128
555
507
655
686
786
84
391
499
926
465
450
424
94
217
987
626
688
120
811
897
689
397
918
229
284
123
222
825
597
694
697
974
163
857
536
601
930
210
205
855
247
23
472
772
263
916
587
944
633
225
793
107
228
866
246
743
810
113
282
125
247
991
632
684
948
934
867
257
579
920
861
536
67
565
519
1
112
557
358
734
120
359
780
747
575
347
47
915
311
390
34
146
94
453
800
163
181
927
897
176
260
301
156
737
274
220
316
297
156
188
532
319
433
929
258
342
992
929
415
20
17
778
103
32
297
723
290
692
602
264
95
271
830
730
268
301
961
513
459
605
638
34
670
385
373
598
77
490
943
968
54
860
563
919
793
274
774
999
407
707
829
461
751
27
533
636
519
295
140
26
347
615
899
64
742
371
284
760
686
667
780
465
658
975
332
566
634
324
196
226
365
813
6
223
839
925
310
498
389
846
714
314
339
6
1
809
446
118
337
266
611
277
676
694
557
101
47
113
173
457
234
539
240
60
710
790
121
117
363
104
777
222
684
61
182
929
598
429
786
762
54
395
185
956
811
82
599
874
608
386
21
887
55
953
172
458
103
534
500
358
957
55
515
170
624
491
675
751
60
32
898
881
88
78
535
119
803
341
291
794
188
676
146
131
73
310
811
752
335
815
632
178
487
520
132
494
390
35
589
44
841
239
124
892
249
372
809
769
397
848
185
428
570
28
415
624
942
465
22
440
198
69
779
312
783
238
864
888
89
235
837
820
108
5
339
691
786
186
661
542
399
272
516
871
738
774
390
581
807
735
832
43
28
167
915
374
669
779
915
24
295
909
892
26
606
679
522
557
913
248
975
10
858
456
89
451
722
320
373
113
795
588
630
630
862
6
87
784
777
43
976
878
512
561
456
280
784
332
585
288
586
338
858
239
501
547
419
690
681
185
696
592
770
584
621
582
835
362
14
949
603
17
984
321
894
45
378
860
168
314
449
605
536
752
861
581
419
373
117
513
252
281
269
262
322
571
520
617
839
987
952
685
818
781
132
943
207
470
827
944
977
79
364
791
543
34
466
734
3
80
527
701
136
458
371
109
21
124
508
60
425
956
791
894
826
762
137
143
48
368
704
101
3
248
489
591
964
943
815
38
124
2
615
602
941
282
696
969
911
240
430
361
954
271
422
493
575
237
749
461
306
99
319
27
728
929
717
355
516
682
695
31
571
799
107
92
270
73
647
895
255
278
243
869
3
702
333
592
616
93
516
158
886
518
304
535
698
281
746
435
299
368
764
249
736
833
875
777
66
196
877
771
535
155
720
850
16
893
473
915
415
825
795
51
665
880
782
798
144
337
411
828
78
756
36
277
546
799
576
455
199
591
86
180
701
784
398
758
210
707
357
483
907
796
14
594
716
8
790
834
854
65
252
76
810
214
614
52
650
604
539
822
308
562
65
509
660
768
778
756
726
822
418
536
312
742
187
217
769
697
946
245
296
690
342
407
420
946
667
412
850
499
904
433
894
813
988
324
34
344
776
487
33
586
619
714
189
522
678
901
929
381
367
210
991
258
366
131
836
467
664
904
791
455
9
906
658
734
956
976
148
575
425
92
583
111
307
481
749
128
207
17
641
40
838
721
133
457
941
291
258
324
856
829
892
797
25
384
93
937
793
471
281
790
819
485
712
622
319
802
415
937
120
404
906
364
232
74
461
683
192
549
696
71
5
547
529
83
850
239
323
43
89
580
165
278
322
868
793
58
339
69
628
219
899
707
747
162
178
608
382
354
580
342
739
492
370
28
475
230
239
33
199
715
494
205
726
231
11
507
641
919
505
281
910
887
921
959
923
26
982
693
345
482
975
269
591
76
932
656
578
900
198
725
632
949
259
996
88
936
379
748
168
363
264
468
173
507
480
408
899
239
792
969
458
489
981
740
345
741
881
276
702
126
620
128
192
605
36
208
816
216
285
289
282
559
482
368
276
548
37
611
58
936
22
841
366
275
511
873
514
804
345
500
907
191
168
621
943
198
916
823
411
124
154
703
42
281
795
355
838
892
746
755
168
518
16
208
369
531
617
637
806
209
372
257
884
762
421
100
536
932
727
911
65
886
430
204
63
759
219
613
296
584
205
250
98
313
971
462
795
313
556
247
154
998
161
596
643
265
255
193
550
983
576
243
650
90
269
672
168
778
6
567
215
840
478
555
784
484
103
721
622
855
124
814
997
36
543
736
443
521
483
714
80
41
643
158
968
132
498
919
291
27
751
557
845
302
351
267
444
191
66
321
352
638
226
234
803
982
715
368
980
618
744
372
585
92
226
674
250
907
808
214
631
693
747
764
935
542
847
447
45
5
625
556
130
705
704
340
852
518
217
208
820
47
639
730
969
456
34
855
899
751
209
51
54
317
591
388
791
814
992
209
18
567
570
664
118
234
410
292
261
816
169
799
84
82
117
410
930
72
731
426
491
635
726
169
750
888
42
77
581
64
823
551
224
498
888
70
117
349
532
225
266
267
747
560
382
404
119
555
547
34
731
633
20
605
356
823
130
189
129
598
903
183
650
437
170
563
179
872
439
190
171
146
745
452
918
91
998
987
458
536
121
379
239
361
395
474
259
307
987
404
503
771
589
510
576
131
473
78
329
582
27
232
162
77
2
365
421
723
325
225
961
906
267
122
550
498
189
769
215
722
892
960
47
640
762
590
250
781
581
578
425
116
830
849
155
452
792
890
996
320
550
314
856
612
252
540
587
546
633
919
322
994
852
625
730
900
154
175
888
249
732
719
928
32
425
136
934
761
600
521
870
330
586
879
411
455
592
713
701
490
865
699
948
150
212
863
717
580
659
483
531
198
174
448
87
18
887
972
998
446
169
337
482
90
260
855
819
793
884
305
709
908
427
920
925
837
809
425
721
960
144
699
558
420
631
408
612
635
910
337
380
49
278
226
473
373
744
618
336
499
906
603
193
340
12
377
9
89
373
204
613
758
508
735
451
425
16
602
593
303
186
885
728
604
774
359
907
194
243
364
671
175
951
804
41
897
462
35
571
352
183
329
276
549
994
229
805
269
401
301
664
540
17
756
628
285
844
912
763
859
928
738
623
604
420
548
242
127
11
475
554
749
969
517
714
444
747
803
594
640
228
213
428
455
195
645
177
298
548
41
659
267
119
716
967
460
664
706
928
132
788
587
668
609
65
670
406
20
623
569
678
188
778
882
124
483
121
121
811
31
597
105
836
463
723
733
592
268
74
416
671
930
559
509
843
229
815
721
913
491
250
881
573
113
887
361
542
377
178
190
381
449
378
141
391
441
916
64
891
609
420
371
27
68
728
822
931
898
222
741
736
140
335
341
459
991
910
114
199
446
351
118
475
734
237
584
753
191
78
454
398
578
447
350
327
489
581
992
650
170
853
276
420
993
228
56
442
866
937
185
752
44
102
496
994
188
3
246
424
5
978
996
671
495
708
10
721
644
785
63
790
378
996
956
913
745
727
140
72
572
260
602
670
312
489
554
979
374
770
534
950
28
209
262
438
860
662
917
476
858
134
597
663
414
57
337
171
941
139
469
98
328
90
43
152
162
541
734
686
511
922
930
158
59
872
685
977
564
12
838
515
943
546
868
799
739
218
4
13
397
592
688
488
559
519
744
296
522
879
505
908
123
414
708
639
602
510
187
759
343
295
271
216
64
313
306
900
660
339
915
232
881
591
464
687
991
738
663
518
820
586
429
555
932
299
910
475
170
294
56
332
490
722
234
452
849
591
185
38
851
110
5
945
38
831
992
132
972
504
888
221
728
333
480
474
4
506
574
223
834
454
81
462
809
274
303
884
759
157
570
106
119
456
29
207
567
252
750
13
67
854
302
714
150
747
611
530
143
869
202
145
29
970
930
517
828
37
894
511
699
396
508
519
429
192
666
860
649
353
502
288
879
71
491
380
457
38
571
925
541
406
483
693
599
502
779
109
253
794
803
457
882
556
468
164
170
919
865
645
622
751
555
943
143
902
906
97
982
864
974
780
668
846
273
234
107
573
192
978
676
870
989
20
945
242
35
598
682
188
441
554
906
988
264
506
51
19
274
906
757
460
615
952
421
407
814
40
380
8
252
131
537
218
612
962
311
160
855
500
19
893
929
442
187
591
785
811
839
741
259
928
501
8
35
118
520
827
207
510
313
617
938
231
326
761
319
57
806
120
823
374
974
933
680
878
834
386
79
9
620
994
374
536
861
255
343
92
149
638
138
660
922
129
761
232
48
984
780
881
520
278
528
492
350
109
208
254
585
50
172
829
463
532
143
773
901
392
282
408
858
700
851
848
646
375
636
269
923
775
473
860
926
638
944
101
478
281
792
141
466
928
656
96
733
399
509
18
841
169
545
138
703
972
371
760
895
725
19
795
353
512
722
559
237
792
374
869
988
768
322
896
972
88
443
489
667
646
497
909
45
274
342
973
643
549
977
637
855
774
281
968
121
412
982
231
29
925
642
590
832
5
398
517
495
632
772
554
212
297
125
512
263
949
219
543
189
932
929
762
541
271
343
290
856
111
375
608
98
58
533
127
550
444
681
752
996
256
465
970
105
566
567
737
117
865
126
997
293
562
438
186
95
311
552
494
737
514
477
944
577
543
489
619
795
710
489
454
936
57
426
59
206
320
560
7
843
246
731
825
500
596
889
714
340
760
813
680
454
882
353
313
304
814
548
927
102
999
645
184
452
598
405
548
86
798
68
180
281
236
992
935
340
936
321
132
581
952
968
707
412
172
845
148
427
384
540
337
907
737
579
75
780
212
996
584
851
573
194
716
108
525
970
977
973
506
141
692
658
610
425
827
193
629
104
41
278
89
527
506
819
479
674
932
937
564
891
995
234
773
337
95
336
220
899
919
87
781
107
842
246
43
41
572
262
628
383
779
481
586
493
669
140
67
866
590
646
459
393
806
922
542
609
489
45
967
504
871
41
569
544
207
408
571
249
895
926
762
66
645
321
103
294
81
636
28
490
524
511
906
161
995
142
757
490
676
375
323
565
162
262
32
825
824
397
214
439
558
539
184
959
959
352
432
841
725
557
232
384
699
445
423
221
512
493
997
744
216
764
378
738
663
892
970
87
616
705
628
587
764
964
202
823
872
268
180
550
257
908
790
230
683
348
596
222
539
29
755
578
863
437
629
620
366
678
349
209
131
370
286
136
51
281
111
163
409
12
261
29
206
969
215
161
998
30
894
933
4
592
905
53
237
148
97
68
203
126
75
38
519
522
914
126
427
741
292
262
766
144
649
25
430
65
817
603
730
393
723
8
342
396
418
745
744
165
704
765
128
886
27
855
767
190
177
572
758
976
548
467
850
452
370
613
809
589
363
377
385
854
737
982
507
858
328
657
743
514
895
39
437
409
334
107
175
348
610
96
404
460
699
728
77
820
753
640
199
268
974
46
994
22
402
534
240
682
949
381
967
465
506
928
346
832
903
375
94
222
807
807
111
213
417
380
413
338
925
414
632
689
286
516
470
627
798
985
575
194
336
506
188
270
890
499
816
132
195
600
902
839
852
427
144
759
322
182
669
670
556
654
765
65
847
881
215
695
684
55
605
921
8
281
141
156
287
417
626
515
258
556
239
830
6
678
677
338
322
603
44
666
862
675
583
258
772
525
977
974
806
871
494
428
908
529
689
564
448
759
701
65
1
573
485
482
641
904
430
360
199
356
921
228
846
832
345
49
648
471
953
612
457
218
743
398
622
802
245
634
504
82
686
639
727
513
496
36
422
956
560
115
458
187
909
421
799
215
787
657
684
973
151
86
285
45
695
966
843
797
438
949
91
744
771
13
905
990
582
244
746
322
792
729
411
910
137
842
44
589
571
512
120
375
992
372
355
220
306
303
87
14
35
522
720
467
765
275
205
848
740
169
422
502
812
376
520
690
800
230
937
589
987
273
874
201
168
381
456
538
152
449
662
672
106
35
401
156
426
474
770
881
133
235
610
645
905
731
990
586
952
333
109
158
902
102
448
507
747
626
663
969
696
392
877
864
447
330
515
967
29
513
751
807
825
529
3
423
837
682
605
331
547
19
969
243
957
180
83
482
534
158
145
169
796
409
517
971
247
145
932
624
197
295
78
495
760
357
260
162
1000
286
824
369
736
647
446
736
24
481
160
291
671
736
225
232
471
640
549
324
6
107
388
985
973
119
496
433
995
39
695
226
794
978
118
145
414
672
987
667
902
790
852
177
499
256
690
696
914
927
96
115
707
970
107
863
149
326
836
458
180
966
207
641
269
27
565
637
5
517
808
647
265
978
34
813
660
428
349
797
753
896
649
555
232
103
669
88
835
194
549
724
290
900
470
979
10
248
684
145
515
682
386
557
868
515
427
893
458
705
845
974
563
287
531
290
32
231
135
830
289
81
481
930
608
526
360
486
273
954
534
324
821
114
208
496
993
248
8
985
461
453
713
626
631
542
619
57
46
422
418
163
993
826
903
790
952
253
646
463
380
172
47
472
216
814
771
967
150
418
662
633
361
387
689
114
969
633
302
600
869
329
908
882
974
388
788
759
162
266
924
895
346
92
627
69
203
707
822
325
26
928
83
697
76
239
271
17
572
150
704
829
173
678
338
572
382
748
341
7
828
828
796
332
777
782
982
557
539
754
863
466
691
871
931
959
114
691
529
636
938
627
144
229
375
5
912
927
313
50
776
639
273
833
313
16
1
144
223
379
530
317
894
770
39
291
230
971
171
549
162
751
823
134
857
524
555
650
675
313
888
997
344
175
783
607
651
264
457
121
197
270
574
772
408
294
496
213
28
148
992
169
810
624
260
101
954
589
625
993
134
587
576
499
613
266
88
956
52
98
337
154
87
782
952
375
645
216
967
905
296
122
478
137
612
256
818
410
644
606
751
943
130
169
766
566
994
675
98
474
7
123
467
893
243
83
879
374
80
522
35
404
80
340
39
191
18
888
117
719
696
482
17
679
964
351
599
454
522
494
877
91
688
657
448
155
280
982
790
375
178
954
415
286
910
912
206
404
844
761
587
51
155
505
347
639
762
871
37
61
882
624
883
877
634
112
46
127
417
224
891
958
387
201
649
684
447
706
480
603
587
115
486
626
308
256
675
758
105
728
192
575
690
492
441
89
689
624
824
831
64
19
947
535
385
339
62
559
390
705
445
55
981
451
159
944
903
772
360
958
895
249
900
362
17
30
480
480
180
930
37
827
669
832
331
473
579
525
957
224
631
596
121
383
808
27
550
114
609
957
860
888
480
409
545
121
172
896
514
844
357
503
763
173
805
419
313
450
851
942
68
109
651
626
572
754
956
623
970
443
738
241
646
910
24
394
135
272
727
950
871
821
75
927
292
631
511
114
608
74
555
986
260
788
183
697
761
297
731
538
101
267
204
492
375
344
133
421
631
607
797
974
176
951
730
530
770
130
884
360
168
747
764
712
479
243
107
715
658
783
415
846
267
32
747
178
306
953
722
807
513
179
569
648
82
970
442
263
76
467
919
502
228
778
767
525
951
387
609
191
594
553
74
907
944
627
391
779
969
682
140
283
617
456
76
773
252
366
491
828
971
272
601
818
595
747
818
125
635
838
581
85
873
694
623
113
521
972
164
443
88
650
544
562
198
709
233
746
590
180
1
61
475
210
244
809
199
120
128
696
920
935
275
910
619
463
129
900
311
845
65
905
746
387
515
160
266
661
107
282
724
57
874
560
514
442
82
730
880
114
119
349
576
8
207
76
894
969
375
998
822
967
276
642
803
324
936
458
155
382
450
386
732
549
975
566
802
335
112
383
438
810
916
816
957
903
312
492
43
93
667
941
260
337
629
286
569
533
113
24
348
437
479
583
132
665
567
92
979
415
183
148
922
517
96
392
447
750
343
413
310
673
896
815
296
812
326
286
720
716
142
177
556
274
899
383
107
674
995
302
2
578
337
269
177
388
684
125
164
981
528
539
689
923
846
270
82
943
897
818
467
441
539
807
41
878
185
11
987
156
621
142
780
549
400
393
637
282
401
262
906
607
471
363
30
115
752
771
506
55
423
946
979
638
106
440
189
663
110
379
984
305
10
222
62
589
823
356
368
881
162
940
356
730
308
771
401
502
114
102
711
582
998
36
45
332
55
557
339
617
521
310
170
480
359
941
574
450
773
217
364
53
820
126
529
321
106
889
686
498
753
124
857
650
446
411
997
634
381
162
858
696
372
8
711
6
189
872
411
589
471
544
90
463
166
812
471
237
522
183
451
103
121
778
129
908
287
269
881
983
483
597
463
476
996
786
344
226
274
388
668
620
790
953
275
442
175
460
214
492
701
807
42
581
862
339
6
614
953
841
872
631
37
612
797
38
640
40
115
806
830
543
333
26
87
892
957
102
504
685
972
776
433
202
947
383
620
924
770
966
251
799
944
386
115
679
259
126
238
468
355
280
946
205
422
116
299
676
777
693
236
210
594
230
555
943
400
331
99
244
268
686
83
925
790
599
562
563
70
531
441
548
915
859
267
429
369
233
284
777
522
225
881
47
259
461
604
842
237
36
374
610
927
850
409
14
991
404
614
139
610
745
898
260
644
478
937
94
660
210
410
356
920
330
621
947
435
816
719
290
4
583
448
186
17
977
465
39
432
206
774
456
981
850
780
59
124
100
773
780
724
81
395
52
684
372
806
89
71
902
798
861
314
450
65
500
160
355
227
564
976
424
928
58
841
668
561
100
649
267
707
896
70
38
401
17
804
819
706
23
50
355
898
161
450
692
765
189
99
632
126
400
379
475
723
549
476
157
45
710
458
900
467
63
673
638
372
200
94
850
500
862
892
862
892
920
226
362
198
14
703
640
16
521
459
17
188
412
125
52
645
114
213
354
514
743
616
263
627
889
983
223
531
727
699
432
366
348
88
193
681
107
235
485
392
223
518
437
601
77
556
763
914
407
737
720
224
116
971
825
697
491
561
389
798
434
361
915
780
732
478
519
8
481
864
877
847
533
9
592
620
234
889
523
317
776
989
372
324
215
942
727
423
570
873
857
705
441
999
772
863
279
433
456
510
782
426
714
799
876
453
794
645
408
676
779
263
977
299
774
577
302
252
70
288
136
461
804
59
41
673
99
277
225
445
328
365
297
439
913
448
979
612
54
449
767
221
840
387
58
848
528
714
499
778
110
15
178
160
945
314
799
328
893
508
172
566
341
156
203
363
497
997
38
903
567
43
199
157
772
72
330
400
678
624
669
442
968
402
450
139
643
71
250
992
575
29
696
768
515
682
79
114
923
116
127
74
456
805
621
274
546
228
593
284
261
781
543
346
585
420
509
200
276
824
838
232
761
699
191
545
856
18
656
829
670
657
856
116
758
845
552
589
426
326
610
624
110
936
104
162
933
545
1000
317
849
958
111
850
282
417
967
771
784
822
825
873
67
623
288
435
664
632
929
676
626
669
829
821
903
46
214
767
472
357
193
433
861
992
160
834
452
26
604
807
812
897
887
108
381
379
97
270
6
863
171
237
194
928
356
285
467
462
492
134
857
375
766
502
416
83
315
558
592
465
542
859
469
1
66
402
147
121
979
364
2
588
503
932
165
912
181
418
329
362
450
467
899
152
848
785
590
767
84
235
800
173
939
579
480
902
254
392
750
592
311
881
239
581
517
450
954
604
651
840
518
435
867
590
768
612
296
390
42
960
349
612
970
743
762
929
191
695
25
498
261
47
68
575
917
960
993
835
2
432
193
876
617
819
422
584
455
644
240
73
883
201
805
924
62
825
140
280
247
355
883
184
520
468
979
211
334
62
964
64
670
804
288
287
64
281
573
674
479
941
863
273
787
155
653
95
625
279
961
775
517
550
772
472
464
32
940
230
631
563
37
869
387
884
693
247
703
653
687
371
845
90
439
415
356
353
547
185
567
576
722
930
273
700
827
706
717
824
676
671
774
851
958
812
43
617
917
579
589
520
419
853
253
918
621
446
732
194
777
90
173
457
625
493
614
285
381
560
419
805
650
342
800
648
426
614
636
11
945
234
37
148
344
608
553
75
972
634
466
193
723
497
377
831
930
553
145
406
221
306
307
28
226
232
301
883
169
725
169
667
209
24
924
676
834
319
455
880
758
610
628
472
536
80
285
931
547
890
904
597
88
324
55
102
78
186
167
811
253
156
791
551
813
603
242
545
191
3
488
412
980
663
176
513
90
951
941
717
891
587
537
877
437
865
849
909
854
824
574
389
652
545
197
28
6
697
896
184
25
398
206
848
660
284
562
153
167
359
351
528
979
886
725
70
441
62
225
569
85
704
222
896
70
492
271
139
908
586
763
947
883
601
649
56
377
957
607
831
903
644
752
987
776
290
861
354
243
198
151
657
348
749
825
805
1
125
983
127
481
839
988
293
131
956
46
434
58
206
605
84
483
434
131
153
796
925
980
81
463
213
360
669
674
909
852
904
50
934
533
217
753
290
534
226
84
189
777
3
5
890
695
296
75
96
1
927
951
142
930
826
955
468
932
735
212
84
515
672
502
838
748
648
293
272
993
975
383
802
581
747
191
742
471
694
33
435
415
699
647
378
801
705
807
761
128
590
139
293
7
897
136
518
725
942
933
99
625
931
628
704
13
202
788
169
848
595
331
648
239
260
136
257
606
930
599
586
471
783
822
89
992
549
295
984
731
441
743
798
673
830
256
101
150
300
960
292
176
905
258
519
675
948
111
951
201
621
908
647
85
150
227
234
346
904
202
409
344
84
254
86
903
189
672
635
552
458
892
239
603
862
362
874
26
56
560
783
465
865
62
620
269
524
583
611
144
914
527
195
850
430
931
608
414
992
628
772
470
917
83
694
690
37
642
278
724
482
857
89
729
22
145
169
338
704
292
400
901
830
207
307
891
943
899
413
686
619
853
436
302
337
877
686
278
579
987
985
594
636
118
316
447
290
251
202
701
670
88
491
58
74
510
842
356
514
913
689
882
36
935
900
303
635
253
634
596
713
874
141
375
588
795
386
129
514
992
391
196
49
451
158
728
361
354
855
529
246
584
742
400
228
446
925
539
77
858
644
633
487
306
233
496
477
528
298
514
239
248
931
674
830
268
973
676
69
874
439
486
477
853
230
678
884
327
143
103
617
294
49
745
768
3
787
90
161
239
987
998
29
178
552
829
331
741
978
567
867
241
44
738
60
714
640
238
330
516
697
563
490
656
205
524
490
853
322
270
121
485
429
308
19
468
783
285
414
553
105
449
579
727
54
126
893
186
26
997
712
827
131
678
52
317
535
912
151
592
546
643
615
56
998
435
729
842
465
924
951
276
840
496
314
24
616
970
694
540
984
811
439
80
525
353
870
961
821
562
561
758
811
89
80
820
72
805
122
814
514
474
540
30
150
996
831
809
710
461
33
769
888
282
855
483
882
846
65
875
752
454
836
876
808
773
787
827
890
707
912
690
932
338
472
400
642
589
166
566
477
309
607
314
368
807
185
258
768
228
900
480
713
763
650
903
520
422
743
654
657
971
127
831
70
681
943
592
990
758
502
648
795
635
771
38
46
882
713
527
200
88
623
121
832
965
726
918
425
841
843
3
904
895
917
149
143
760
524
847
601
568
292
600
99
122
315
447
511
649
217
434
780
496
556
101
275
211
588
71
940
686
279
555
90
420
612
867
989
507
875
101
533
656
631
720
465
406
491
166
556
706
658
532
86
206
438
965
785
932
557
766
125
485
185
60
462
559
33
524
86
363
711
896
666
467
875
881
926
723
294
663
658
149
109
408
309
118
15
43
482
711
995
111
633
905
549
694
158
71
53
227
811
362
19
542
118
747
519
598
54
802
989
220
709
882
942
566
142
981
879
228
902
392
808
607
910
278
357
652
568
390
403
158
953
461
519
526
919
281
314
344
782
18
890
158
994
164
264
554
914
357
560
17
295
446
186
89
644
367
6
2
936
800
735
328
480
127
388
178
924
880
641
117
478
778
387
313
431
412
599
348
980
825
870
798
166
586
606
925
468
386
950
776
218
865
930
583
545
166
218
575
986
624
133
259
275
174
224
754
44
253
825
977
360
441
489
381
69
632
76
448
905
275
607
327
191
102
659
857
755
809
237
708
373
349
547
523
641
872
31
764
698
826
356
406
624
443
807
788
654
621
633
658
575
217
511
920
804
909
188
679
679
44
772
891
439
388
887
390
208
264
97
56
81
333
579
667
33
214
16
292
958
175
88
158
640
411
715
587
791
742
444
925
614
197
965
422
538
557
773
634
843
859
403
254
935
842
536
235
921
484
453
694
948
117
28
352
506
87
446
222
521
543
320
829
596
771
742
496
202
398
66
145
978
931
898
609
534
337
861
660
340
794
185
869
320
330
58
881
774
785
7
930
110
415
237
228
660
519
25
360
549
664
742
993
182
413
27
979
423
21
964
448
943
199
853
546
536
875
300
320
438
869
930
627
774
548
952
77
361
789
198
734
961
65
7
742
988
41
509
51
392
867
465
188
121
231
766
346
126
353
141
119
336
298
380
888
436
399
618
197
527
97
826
464
999
249
676
25
967
755
369
812
710
421
878
936
395
100
237
68
223
521
229
794
854
651
809
44
582
115
94
283
279
965
618
435
570
47
791
356
53
339
212
275
610
852
545
839
49
160
173
226
364
157
719
375
870
392
857
533
372
214
505
158
288
2
644
736
350
962
498
197
119
319
753
453
13
257
827
23
22
612
923
833
531
172
774
88
957
395
509
498
989
508
50
279
292
241
799
65
452
904
160
279
802
107
595
581
518
206
527
714
42
461
360
441
447
975
306
308
834
711
495
635
249
279
63
490
857
715
523
396
342
184
739
167
578
399
258
590
626
554
585
624
16
730
229
422
115
87
979
746
67
589
943
292
462
712
322
27
391
297
763
885
11
751
414
78
89
818
457
832
226
481
8
580
666
912
733
508
618
6
453
891
15
752
287
817
529
564
607
775
403
779
188
36
394
681
449
948
713
811
630
52
324
805
54
400
419
680
376
576
158
323
881
704
34
908
415
159
307
97
515
772
19
205
659
108
36
917
322
750
395
794
718
613
28
525
670
28
542
846
55
682
356
82
658
562
927
528
75
713
210
250
512
962
747
455
942
779
14
260
93
59
721
548
188
968
774
628
171
912
532
568
396
353
787
397
414
447
642
864
527
421
69
69
248
202
482
81
675
54
106
604
28
875
240
862
320
385
812
137
181
631
752
808
351
116
784
315
267
388
224
219
448
120
234
383
115
516
776
383
583
430
206
428
468
683
41
434
726
921
935
419
812
781
319
41
35
288
473
934
315
159
15
469
84
142
938
730
56
601
348
749
942
304
999
536
956
776
581
9
137
642
462
727
102
98
244
212
817
13
73
760
386
214
102
831
655
159
894
533
625
580
845
233
301
638
874
45
604
822
756
783
425
104
469
11
700
842
817
944
662
545
439
329
33
885
21
887
5
287
160
530
297
8
859
391
439
864
96
623
718
677
228
41
882
68
270
966
797
428
244
995
723
787
851
66
783
822
705
850
509
430
238
447
27
128
185
363
590
50
227
980
669
457
1000
56
753
481
147
331
314
303
538
971
176
76
66
402
632
687
684
91
224
880
438
927
60
372
336
206
900
310
789
610
17
852
241
236
9
692
335
448
334
74
653
276
320
218
606
137
795
91
535
901
292
166
477
707
989
121
306
477
151
465
190
773
880
699
363
514
378
935
251
54
789
895
877
327
910
775
303
54
700
795
585
520
597
153
341
43
67
706
582
65
720
955
886
741
557
790
343
1
622
45
976
343
394
90
462
9
750
604
95
785
237
146
856
402
663
391
390
388
767
666
408
278
801
996
805
283
403
949
301
875
68
433
986
260
828
37
520
382
537
637
67
922
253
772
271
736
812
710
711
317
588
249
295
169
864
997
16
408
947
344
323
531
383
314
134
55
176
294
153
641
947
923
747
386
303
521
99
220
563
76
731
708
115
170
786
127
376
219
642
351
267
54
538
972
603
176
882
89
606
984
847
325
979
911
652
37
643
660
660
77
290
681
68
165
335
615
468
704
767
682
38
812
608
891
442
461
413
505
780
877
307
420
106
771
545
986
75
541
479
310
270
329
121
297
637
694
187
496
233
700
642
334
202
451
261
462
475
410
675
758
202
400
674
989
341
825
310
258
137
480
463
145
447
317
95
874
13
633
380
956
795
496
249
455
448
618
679
489
842
527
205
589
321
648
742
278
8
799
786
595
76
724
443
327
357
468
563
388
30
827
445
122
449
639
195
321
323
351
850
376
595
217
801
321
348
426
870
457
993
682
667
910
791
38
454
708
513
320
841
939
642
56
53
114
85
670
412
117
779
609
923
29
950
218
523
668
6
408
676
907
254
591
425
697
640
948
974
261
732
790
115
100
27
710
566
295
449
214
373
95
589
766
74
917
869
506
223
712
267
431
221
100
707
488
149
819
478
858
411
783
327
696
594
516
946
715
852
778
659
305
554
986
17
346
634
396
882
434
316
125
332
56
446
732
361
129
635
542
957
412
860
830
563
527
911
753
345
713
345
184
964
977
158
661
735
16
456
273
164
130
819
640
859
363
853
97
709
279
730
821
65
108
90
914
354
461
781
397
217
487
350
642
760
90
70
46
996
822
542
624
857
142
618
782
450
5
441
723
365
168
917
838
922
164
800
942
216
641
898
400
705
638
607
46
852
418
85
275
50
681
911
861
648
335
6
832
379
513
893
246
952
196
162
788
826
629
111
911
465
688
96
682
460
510
99
559
963
980
361
110
814
119
722
50
593
34
455
58
574
841
5
546
236
896
2
911
542
753
315
847
665
480
745
975
244
370
109
370
502
621
147
595
790
258
649
477
195
421
648
186
849
173
378
122
521
137
883
784
851
595
871
3
336
165
408
930
792
832
534
698
573
852
739
972
235
62
497
470
723
180
756
122
383
973
346
725
278
586
758
854
341
890
651
296
894
438
744
455
915
535
444
44
241
923
703
839
579
818
81
460
794
393
964
931
458
287
163
235
41
415
920
225
452
164
441
1000
860
55
662
322
856
71
888
701
41
164
334
563
94
880
344
302
193
686
253
54
431
296
438
794
538
256
98
692
768
97
685
694
305
608
722
12
897
159
956
504
741
564
380
942
815
658
730
841
953
622
428
784
974
114
821
184
83
413
798
30
566
139
482
445
552
545
792
814
218
72
88
838
360
607
1000
112
706
857
806
733
674
351
393
994
550
843
934
456
211
320
888
529
602
371
834
259
126
439
946
174
999
317
635
893
423
351
985
713
81
965
132
505
106
500
682
103
147
876
557
813
569
244
446
781
165
624
143
770
953
510
622
292
782
559
667
167
480
765
221
297
271
993
389
880
967
323
238
306
259
445
65
736
49
250
847
714
359
836
958
180
814
393
23
975
70
797
33
219
864
309
406
990
545
465
745
341
21
94
440
44
116
424
108
369
179
402
104
879
660
676
972
456
40
163
774
731
190
795
670
682
709
769
16
403
279
657
478
948
405
754
379
729
168
383
551
142
763
229
460
989
698
399
270
769
466
601
818
119
399
753
165
508
207
339
522
794
372
83
852
406
202
804
392
718
814
885
654
657
760
423
227
699
309
966
823
186
628
717
575
348
235
238
559
479
123
954
851
478
919
242
235
382
267
456
835
535
387
45
507
816
432
808
879
649
825
407
238
617
218
519
347
128
128
359
415
960
559
874
107
490
127
598
474
74
300
20
113
348
379
325
719
198
726
538
391
745
621
433
756
2
780
35
964
764
257
195
119
905
967
516
535
493
484
827
512
26
177
559
962
688
929
587
346
694
911
562
832
699
905
304
495
756
660
582
695
506
654
470
445
110
407
536
738
941
181
300
267
197
516
776
969
425
551
399
82
382
470
329
203
810
765
941
951
461
210
290
395
151
561
482
364
719
67
164
138
490
776
827
751
278
513
167
361
993
118
583
689
661
232
747
530
8
462
289
743
809
234
867
913
889
36
275
101
979
17
789
699
662
119
644
438
259
9
409
22
862
90
16
682
628
767
390
204
130
973
934
610
793
692
623
745
399
813
74
447
245
232
785
887
748
514
653
895
247
817
13
782
260
997
685
268
708
15
956
571
466
788
966
660
150
647
740
932
205
403
953
316
234
844
601
890
980
145
911
644
534
300
213
937
152
173
986
523
536
182
976
775
539
950
94
863
55
466
793
221
265
454
769
559
529
664
91
79
932
740
368
292
910
194
116
31
457
731
278
835
85
872
773
847
143
351
8
805
59
272
520
463
828
357
332
20
339
937
96
730
188
491
860
899
239
682
96
887
526
802
682
581
48
476
667
47
628
276
995
677
288
641
842
267
529
102
838
844
498
360
280
985
251
223
342
603
266
723
438
877
864
13
136
68
464
812
434
452
439
197
805
528
878
557
132
906
737
383
542
43
720
343
210
68
703
816
384
486
694
622
236
461
105
217
694
711
601
11
16
801
899
816
763
758
674
607
741
467
156
958
685
298
110
522
692
754
617
869
906
705
494
862
538
956
233
475
79
473
86
653
478
584
247
360
131
871
168
433
762
257
670
252
673
24
912
519
351
82
220
622
170
856
476
172
740
571
60
291
486
550
283
158
214
382
924
125
727
463
692
434
56
454
446
215
501
678
518
960
465
324
799
125
15
602
108
857
231
680
944
88
631
299
926
421
408
458
106
268
787
478
864
715
516
12
280
429
432
317
722
732
49
194
869
654
352
540
577
370
294
356
767
945
53
429
994
701
740
598
496
853
80
700
274
286
597
815
196
464
922
410
222
502
189
324
578
384
898
326
115
141
243
142
158
574
670
433
845
760
343
204
355
145
270
501
432
513
76
77
293
481
798
895
380
471
621
970
372
306
169
49
558
650
826
87
963
553
575
273
594
247
17
630
792
153
533
838
959
820
79
998
849
95
683
492
223
396
567
983
905
395
717
848
170
750
865
20
975
809
92
316
744
339
678
779
296
423
421
503
27
636
352
668
662
477
677
259
700
847
818
26
200
30
620
787
706
246
157
79
902
345
75
514
67
627
73
939
525
85
972
615
55
598
776
218
657
711
278
403
185
721
66
35
59
665
222
980
732
720
615
488
593
227
462
844
728
255
736
874
342
145
83
370
646
999
144
225
727
402
562
341
233
5
487
940
726
743
120
955
191
602
663
590
512
814
76
989
673
307
195
169
100
27
114
38
788
489
177
363
836
530
611
7
586
788
577
626
798
870
408
284
222
500
887
119
460
234
674
276
253
443
430
816
180
371
759
211
287
28
797
311
367
559
186
413
425
526
228
152
386
230
160
453
223
773
925
734
550
124
253
855
106
791
582
57
773
75
160
296
465
80
644
900
718
790
658
460
879
552
69
217
523
256
173
980
176
356
615
792
431
606
601
139
288
80
913
475
922
587
268
268
101
69
852
523
157
974
180
994
773
837
44
873
830
549
956
792
206
835
389
382
760
518
97
487
650
31
8
335
805
453
459
661
625
76
65
783
913
159
118
119
642
11
247
496
424
48
970
845
405
774
921
598
928
898
761
137
470
992
239
174
268
107
400
822
556
791
709
398
528
806
726
753
979
614
4
993
82
446
114
997
896
289
20
71
30
717
562
391
333
829
470
641
618
918
158
399
200
712
514
355
459
138
73
443
743
620
207
279
647
859
467
129
150
872
777
746
92
854
963
53
260
59
17
591
653
483
571
97
586
596
281
315
920
751
219
417
110
190
896
984
696
749
278
517
555
469
962
910
543
335
728
107
87
244
852
422
954
169
857
671
665
157
907
261
985
468
642
903
486
692
93
421
443
89
202
454
235
803
663
471
940
808
971
659
98
623
67
669
413
911
483
171
749
19
649
408
937
449
918
678
752
960
883
806
910
784
792
123
111
949
189
486
940
279
456
115
902
3
577
841
28
249
273
444
201
917
653
348
863
540
640
888
776
807
752
717
327
339
238
721
228
161
214
938
523
92
155
621
563
894
79
517
932
633
778
877
385
143
718
464
507
889
605
98
165
789
162
817
803
777
355
826
312
946
168
768
471
159
42
742
983
900
263
683
686
954
888
395
848
249
318
574
365
794
231
609
270
217
392
813
233
812
823
21
595
388
886
149
82
444
151
404
526
354
265
323
807
349
694
710
772
997
875
839
35
816
241
15
442
418
617
677
455
261
675
771
880
728
507
17
155
691
875
70
904
207
381
262
561
238
609
817
660
559
276
915
818
132
585
9
536
250
239
109
671
722
40
537
857
182
609
850
203
411
516
181
304
167
19
255
997
621
723
738
281
967
645
355
562
140
620
450
666
867
475
254
98
482
127
154
672
21
618
692
934
107
91
837
769
81
912
328
231
620
425
525
863
814
365
267
765
320
536
666
208
723
187
666
884
698
469
450
745
898
441
437
971
759
382
736
825
581
571
368
984
276
263
502
533
202
346
212
919
336
30
15
60
846
966
529
272
806
410
120
834
416
370
353
829
557
235
351
363
966
999
969
369
590
61
765
11
945
547
360
114
397
237
698
142
341
464
114
4
194
843
848
356
960
225
861
134
878
116
372
772
340
644
514
927
818
280
927
554
17
747
892
883
857
903
816
152
158
978
505
988
123
201
676
955
770
748
568
100
520
911
388
313
2
608
524
909
15
636
117
144
255
562
655
302
79
816
676
573
105
281
557
207
891
698
630
314
265
249
537
251
184
975
819
751
82
109
243
818
830
961
226
934
305
722
66
337
535
477
359
925
108
708
114
878
256
815
591
227
620
504
822
396
204
439
105
239
431
184
483
192
547
319
403
940
824
584
260
445
167
33
522
271
724
489
477
869
104
39
414
917
590
897
246
851
532
758
137
440
755
646
713
641
382
370
805
980
935
909
500
421
990
448
462
973
905
328
118
353
367
855
306
600
584
819
423
916
961
516
943
915
5
301
398
131
25
984
592
874
918
877
826
497
952
936
422
697
12
239
645
724
193
985
442
304
995
310
45
593
618
471
622
748
15
394
594
524
436
106
173
876
167
363
961
692
36
630
154
664
73
631
21
758
362
876
841
936
768
956
404
565
684
867
532
425
387
327
786
361
887
868
707
375
389
452
462
407
622
517
726
160
301
635
24
21
961
437
486
602
233
37
173
416
386
975
718
968
635
610
977
900
255
956
846
834
53
215
124
279
88
607
584
287
854
694
970
533
297
34
697
170
173
918
434
107
220
904
601
313
564
74
35
400
570
225
733
981
90
724
636
274
669
368
860
972
846
391
675
677
69
725
754
89
155
697
955
699
436
646
914
939
914
325
277
659
806
558
252
255
844
328
478
40
565
394
931
216
614
534
668
362
785
748
768
460
101
101
720
325
772
382
881
749
247
457
314
800
924
985
520
495
273
167
83
502
293
338
230
605
229
488
664
434
435
267
800
347
117
631
709
417
428
31
659
198
81
3
141
306
168
47
639
885
397
951
232
716
299
88
304
61
254
760
274
336
404
353
241
349
563
955
920
176
307
54
14
677
282
150
476
308
609
408
691
142
1
971
712
960
809
190
126
849
766
829
971
20
645
229
426
417
384
560
653
297
489
504
264
137
699
193
354
118
937
722
983
966
583
377
219
89
941
529
652
829
610
232
310
106
98
757
509
918
680
638
39
945
965
329
456
974
53
242
965
20
509
742
547
725
553
696
511
133
57
254
632
964
917
896
391
297
357
177
587
958
538
240
813
973
619
923
807
159
75
185
746
301
636
693
888
401
687
601
809
141
369
954
670
74
863
719
573
37
590
96
70
944
98
669
346
404
459
927
386
611
892
891
723
539
134
878
977
781
826
933
453
284
800
87
531
840
686
406
443
425
708
732
304
404
885
122
924
145
98
283
45
835
665
671
97
141
114
546
501
901
823
971
806
204
88
653
703
59
944
551
32
371
784
394
441
54
383
591
274
969
486
535
610
799
479
985
93
127
27
6
359
737
747
955
404
607
140
126
208
151
32
969
279
13
721
232
563
116
859
3
342
732
891
378
311
61
479
399
43
167
960
991
410
148
333
851
362
120
643
626
656
911
941
280
745
376
171
216
56
884
439
621
325
852
133
464
470
155
256
794
732
867
174
273
470
68
678
377
27
382
917
349
562
514
274
741
583
280
707
383
226
542
431
684
946
29
58
451
431
214
489
826
985
304
905
524
557
948
197
271
880
398
23
240
898
774
504
330
754
506
238
323
178
232
905
309
983
221
280
306
749
854
827
629
510
815
403
436
390
449
818
811
691
134
118
924
908
643
495
81
487
204
678
918
935
371
512
630
48
867
155
855
621
304
34
779
990
30
229
80
137
387
437
587
920
369
65
882
166
969
253
662
1000
557
871
333
807
218
566
197
613
357
12
588
575
784
368
496
421
158
796
523
410
919
615
521
374
789
284
874
884
503
952
212
467
687
750
253
18
692
362
621
294
763
641
708
399
137
227
108
704
528
167
692
513
991
528
136
106
341
864
620
476
149
183
421
227
823
764
374
577
438
757
469
372
805
18
431
330
706
30
754
486
370
94
486
939
28
169
81
571
828
915
724
360
473
480
869
257
705
546
141
398
147
994
410
577
81
289
546
488
467
361
345
252
852
316
144
115
878
797
894
31
759
177
854
26
455
71
600
884
252
826
740
673
120
773
611
113
536
3
205
558
407
350
770
663
368
101
856
405
1
637
30
202
446
876
166
340
496
898
962
751
467
607
331
496
89
583
381
937
188
589
984
726
154
316
357
149
73
41
630
350
915
834
128
165
356
829
979
105
672
879
689
36
602
581
547
730
282
271
68
291
100
91
182
864
857
651
577
750
669
95
403
168
887
645
531
515
706
803
708
870
238
418
230
913
569
798
224
138
739
870
204
472
607
151
371
966
317
962
5
204
441
882
409
505
876
898
58
762
314
120
34
993
384
168
338
271
598
584
394
744
885
676
899
871
784
235
199
829
367
454
528
292
544
227
790
423
723
687
23
992
697
513
335
947
242
46
897
678
153
711
526
463
340
570
490
242
176
118
443
991
497
571
800
425
539
957
463
658
598
323
508
763
418
232
362
878
136
495
9
600
89
817
12
972
993
593
433
234
766
617
309
911
742
882
953
488
178
937
230
106
685
536
881
261
689
403
163
419
90
994
327
864
63
73
908
829
315
774
450
173
203
568
984
411
805
218
556
928
442
372
148
580
135
923
566
704
213
633
266
750
582
826
635
372
199
103
925
846
929
205
925
82
274
62
439
352
441
64
818
96
823
349
140
800
246
649
68
995
289
866
98
900
551
83
683
72
997
153
663
715
424
363
549
968
625
921
479
576
85
190
51
841
868
627
858
644
917
398
237
624
157
487
667
316
647
938
272
170
493
510
105
874
426
687
214
344
739
436
46
84
732
545
376
343
957
687
801
643
331
572
796
822
599
686
486
666
743
149
583
599
670
168
356
634
916
405
162
11
159
344
770
479
66
391
681
213
342
20
676
730
904
742
103
966
784
56
755
903
683
829
762
729
123
754
630
548
791
608
377
84
957
60
773
639
844
691
828
826
435
676
12
234
475
349
180
231
371
454
778
571
290
452
753
339
965
688
489
34
690
571
233
272
463
160
717
663
520
748
114
917
343
54
30
130
745
651
977
492
855
107
650
366
621
121
381
830
992
610
335
249
55
336
387
407
236
111
107
48
131
93
976
420
653
949
747
536
978
926
895
478
164
969
178
946
471
78
686
692
91
44
148
207
451
532
927
217
290
253
846
129
419
620
950
558
469
844
351
458
932
923
557
179
514
323
59
990
131
467
503
217
905
317
475
155
133
450
767
362
563
31
33
756
221
977
881
186
698
454
809
788
62
558
829
492
499
645
305
509
387
349
298
469
739
731
668
193
863
371
292
707
645
474
14
238
90
200
377
379
587
522
732
551
955
869
88
133
447
703
925
402
780
961
251
497
728
980
377
147
977
140
251
854
751
931
690
520
178
607
521
277
507
861
491
405
27
214
745
782
15
919
846
270
107
229
585
800
240
819
283
690
706
988
909
915
941
47
60
621
369
927
824
169
993
647
578
381
462
721
14
492
37
972
94
473
181
536
155
46
544
983
96
714
737
615
435
545
600
999
29
320
655
694
441
841
23
967
226
889
407
987
933
341
627
655
215
439
831
728
276
37
718
357
785
954
35
507
553
220
156
974
460
86
765
884
620
164
564
606
267
956
413
31
634
333
522
985
960
225
158
380
809
921
810
391
75
859
911
514
434
764
54
905
470
266
49
800
417
933
350
100
250
733
127
494
865
555
684
552
206
328
43
309
492
663
249
777
180
713
336
677
846
125
986
447
989
520
605
212
649
960
922
23
804
231
237
87
761
578
147
135
132
740
896
335
526
758
508
357
797
9
508
304
543
409
355
211
556
501
661
745
106
414
911
532
252
328
658
290
859
109
118
550
651
263
668
296
404
197
15
303
343
68
676
288
916
154
6
246
373
797
202
513
7
414
580
164
478
10
985
308
375
899
323
760
81
63
100
307
996
685
311
528
444
915
199
693
886
859
198
770
608
108
851
13
708
864
603
877
36
869
175
267
724
891
608
233
77
485
230
277
883
102
464
359
675
399
869
569
51
763
825
151
946
687
1000
256
659
553
107
346
518
854
493
662
284
627
786
546
802
109
150
669
939
226
729
452
551
564
475
33
79
875
892
140
387
19
191
160
615
485
954
504
171
261
709
64
426
900
734
242
361
60
6
514
163
690
461
968
762
274
623
595
357
247
238
348
305
759
741
184
92
479
280
340
752
989
533
64
775
657
746
936
469
569
258
672
765
205
272
985
665
83
803
728
883
508
511
983
744
917
627
219
75
6
279
940
653
27
311
474
739
152
129
674
386
783
181
346
495
25
448
169
25
355
705
699
414
641
389
830
971
290
613
720
976
278
240
780
258
209
968
783
273
352
51
536
89
820
624
847
228
658
604
694
1000
643
785
639
860
8
54
480
280
147
630
103
843
592
834
275
559
209
200
848
903
587
642
494
700
85
10
599
799
836
600
412
383
303
88
872
929
633
920
812
40
166
409
373
816
920
650
567
23
786
915
853
996
455
339
519
163
825
594
413
83
732
699
268
91
371
309
490
28
726
600
727
1000
617
356
18
838
749
979
572
702
282
926
502
279
974
489
937
169
941
967
988
328
419
980
973
905
683
116
173
399
465
135
128
840
795
685
144
611
173
852
275
601
372
894
475
613
987
194
35
335
44
811
683
740
595
997
920
455
249
711
274
522
22
463
150
971
708
798
864
802
232
326
271
289
55
520
123
8
815
412
917
632
771
906
525
317
543
694
355
467
873
653
133
758
842
149
644
590
10
914
934
507
503
19
560
766
908
988
424
899
161
305
613
57
339
380
471
927
345
563
794
243
27
925
662
246
171
351
907
978
182
949
643
954
945
899
594
576
578
656
177
664
259
835
432
564
355
217
925
645
356
53
696
408
970
246
163
44
837
49
662
55
973
644
948
460
985
316
565
171
530
1000
458
393
283
619
572
238
878
14
497
337
911
238
376
897
124
645
407
531
272
519
293
180
80
950
864
644
858
292
955
525
48
804
313
911
999
19
971
724
728
980
16
487
296
722
178
190
693
275
959
46
798
50
325
202
86
652
102
882
204
55
325
1
475
606
718
49
663
499
421
903
44
198
794
290
962
801
892
809
537
479
750
790
150
927
152
765
639
253
954
16
902
823
362
461
718
386
770
162
183
218
918
818
97
123
138
973
991
879
426
49
294
112
908
965
255
648
24
855
894
102
432
308
167
847
173
634
987
513
143
900
516
882
273
851
343
342
114
389
813
122
722
974
748
104
827
175
263
398
275
608
190
774
656
656
884
689
826
727
800
935
784
231
322
838
963
151
740
577
556
842
169
374
924
652
459
279
496
69
823
778
807
354
992
701
494
45
205
766
149
292
223
618
868
708
871
430
244
308
303
939
333
175
330
318
801
648
628
424
75
236
612
771
815
926
68
50
443
256
386
127
768
340
373
246
993
992
192
591
503
284
916
434
860
100
562
883
412
758
221
602
714
351
112
972
779
207
931
855
776
829
881
498
405
702
160
158
635
623
478
694
865
586
390
718
861
782
839
910
27
4
343
724
637
571
642
59
686
936
518
395
920
265
679
563
421
647
289
541
845
36
742
651
50
693
771
102
379
675
814
62
297
868
859
366
462
181
632
514
517
753
126
825
102
487
897
502
609
747
501
872
199
839
714
261
483
737
904
804
44
599
30
981
670
787
264
832
774
487
154
603
974
509
599
56
232
546
622
776
240
986
78
614
1
325
1
811
641
422
240
460
580
76
389
706
62
887
808
476
956
966
698
595
466
811
760
884
40
584
999
165
355
128
581
155
731
250
486
919
671
210
894
872
573
916
864
330
774
974
868
267
261
657
204
234
339
827
94
371
468
34
573
50
309
333
855
999
745
848
983
639
238
740
959
17
479
45
470
908
663
774
567
607
137
807
337
469
356
340
689
472
304
87
881
955
567
17
272
213
228
106
142
807
635
509
61
303
889
591
477
627
563
424
650
400
803
771
17
422
427
42
414
921
70
392
292
329
744
969
229
115
389
280
596
637
139
798
169
69
43
216
875
208
947
205
601
366
75
152
196
614
598
96
355
355
164
19
97
584
904
713
894
221
918
669
373
575
617
847
660
343
589
700
92
573
853
540
23
612
437
199
887
438
271
928
503
694
240
666
851
378
100
126
205
433
679
635
544
391
381
285
622
849
600
771
956
754
48
224
250
445
373
452
445
882
698
286
684
775
852
114
962
156
170
299
115
481
666
872
125
537
300
803
415
256
834
194
918
55
451
922
229
445
937
640
88
506
700
538
747
231
340
940
536
934
780
652
91
622
199
926
235
734
149
84
485
690
246
96
508
460
799
902
634
778
579
822
686
659
659
225
996
616
967
472
462
332
717
298
860
573
379
969
497
831
222
977
417
482
753
557
61
299
568
26
244
764
223
786
777
961
743
863
878
792
307
998
757
865
437
660
407
713
782
818
690
897
181
928
251
179
245
437
676
157
138
991
561
696
587
693
858
20
390
994
914
552
882
221
156
477
853
331
220
516
415
201
655
573
173
651
36
793
850
462
432
32
219
817
684
908
765
972
901
408
39
487
884
505
52
972
953
328
384
191
790
252
912
284
445
668
174
58
643
311
443
556
858
752
512
584
431
87
46
468
143
886
110
92
263
204
149
166
88
826
247
771
354
922
987
440
733
12
607
437
822
448
412
425
645
633
634
426
711
849
992
835
105
874
239
241
907
527
870
7
495
921
999
865
897
457
132
266
460
549
190
877
517
650
669
388
615
387
283
767
145
548
764
183
874
178
755
98
985
303
908
451
687
632
335
398
396
154
570
857
743
691
48
943
418
352
913
463
933
291
661
811
938
349
695
970
634
964
415
863
161
197
846
910
599
842
130
538
317
373
452
324
24
910
64
606
775
480
143
697
576
590
138
279
6
543
117
156
439
978
384
323
37
838
290
212
678
327
731
61
363
478
308
569
478
596
492
420
459
209
421
751
48
164
176
404
340
115
436
586
245
23
467
651
828
196
260
809
225
45
503
963
472
30
750
300
662
146
808
944
266
965
883
733
344
434
492
164
633
560
455
649
187
681
587
465
304
216
825
235
985
675
624
327
61
226
419
304
421
319
818
425
483
682
4
277
168
530
484
776
152
954
953
163
109
286
524
122
970
697
993
811
988
396
127
438
527
597
185
967
40
833
18
720
693
304
110
884
400
694
894
432
860
266
506
525
339
150
889
272
502
420
848
610
641
932
194
143
990
947
601
47
649
211
194
475
837
545
138
498
807
948
731
290
786
931
565
106
720
36
358
664
432
529
936
656
64
829
700
471
294
543
598
691
874
885
282
551
521
887
653
341
13
1
436
711
648
664
782
897
887
879
156
192
82
161
906
390
689
1000
11
490
251
563
440
707
742
540
477
701
580
841
109
997
715
413
305
754
727
527
581
403
797
763
784
198
750
327
394
372
94
502
19
429
140
786
921
83
833
712
584
497
883
450
360
745
146
1
155
908
986
249
989
792
505
142
3
29
142
39
163
245
95
582
446
37
452
531
816
763
685
643
629
508
394
42
426
140
792
508
246
84
445
790
705
284
196
317
68
831
59
692
491
937
90
955
380
199
891
855
581
659
446
372
711
722
483
235
500
848
359
508
446
858
802
163
430
803
457
154
202
606
329
695
806
121
648
343
75
801
615
992
306
930
779
89
114
229
484
197
219
729
988
569
652
955
302
497
440
870
811
65
335
512
994
346
579
927
346
262
989
843
740
46
911
494
11
730
659
143
507
144
169
169
718
664
460
989
865
356
412
748
496
224
83
413
745
969
454
893
868
59
85
803
81
932
596
806
543
829
312
782
493
98
652
663
209
832
82
457
453
306
499
837
486
48
975
687
603
287
643
179
338
194
367
253
153
573
548
876
498
613
40
92
527
893
699
649
700
90
516
973
694
735
654
322
777
914
943
269
857
57
559
23
915
780
681
721
417
337
882
537
625
355
919
325
398
428
328
591
230
595
965
757
757
915
207
67
913
138
46
960
248
946
708
446
633
369
754
808
775
732
848
969
455
969
488
968
406
172
63
309
100
50
505
380
466
325
689
759
762
194
454
975
400
666
819
215
492
984
492
549
322
348
278
467
703
858
357
916
425
921
691
568
593
372
7
747
681
215
909
307
548
191
682
746
511
347
243
49
798
410
520
31
337
50
287
463
918
18
64
899
207
800
281
904
937
599
299
341
916
426
275
483
124
597
68
972
283
171
579
75
754
730
979
253
534
419
223
795
394
381
179
162
950
519
438
713
521
51
594
708
209
452
376
823
508
208
503
925
106
255
571
539
301
105
567
244
558
445
869
231
315
415
664
390
97
880
825
581
360
744
152
200
249
765
800
768
654
377
420
997
497
773
239
762
211
819
837
425
734
472
888
235
163
975
476
884
407
527
920
866
815
48
203
962
745
376
213
60
485
486
16
504
779
341
271
349
422
558
738
225
60
384
531
990
370
400
426
988
254
957
30
534
554
601
112
170
46
656
684
391
168
667
740
739
21
649
659
648
636
949
407
944
457
55
580
668
222
861
282
767
195
768
554
240
771
466
802
526
18
403
261
293
647
779
21
269
218
334
588
453
156
347
219
865
265
35
552
951
12
959
131
933
774
172
494
662
648
547
422
991
164
156
792
291
414
629
254
493
728
116
570
971
974
869
76
625
992
496
148
801
443
577
980
19
583
742
222
82
77
246
262
776
995
768
7
289
546
450
25
441
956
175
837
20
119
682
952
823
308
425
955
479
282
976
617
813
574
423
488
223
619
379
930
584
652
219
836
224
976
618
595
822
290
782
974
496
241
538
688
884
294
61
393
821
263
144
712
26
617
781
685
328
725
332
761
96
780
684
990
956
26
632
636
334
282
178
809
73
458
560
35
180
938
596
918
750
238
394
178
226
306
514
362
493
199
473
495
711
648
852
782
419
183
333
206
208
87
706
553
167
440
278
948
388
884
110
470
54
585
215
778
9
24
203
984
255
915
817
189
537
524
494
205
9
126
379
983
14
143
186
181
141
754
919
131
103
428
765
176
403
858
367
977
431
252
318
949
420
782
933
391
627
292
277
256
236
11
973
746
710
110
550
76
764
456
935
830
711
763
250
297
620
692
233
52
681
124
473
848
145
960
108
556
473
330
833
511
617
989
828
109
947
52
721
915
920
929
799
876
492
480
472
430
201
954
417
447
7
240
929
976
279
328
755
715
739
628
79
951
821
994
398
498
619
870
739
804
562
974
31
982
994
312
498
959
87
148
591
379
899
728
354
99
935
197
77
397
257
162
779
37
64
765
349
387
664
993
147
672
926
153
494
282
642
133
746
753
683
70
594
697
508
547
821
464
333
275
977
794
261
513
367
34
759
129
281
775
118
303
616
899
984
376
922
130
601
201
430
118
131
707
783
986
328
52
68
61
875
887
219
181
879
745
12
588
405
522
706
921
413
329
825
213
154
747
712
142
896
663
253
995
825
393
628
924
119
802
2
139
484
437
840
587
872
522
932
550
738
779
266
325
934
675
596
824
259
652
954
490
772
294
344
413
189
215
563
889
89
618
450
964
185
126
809
713
621
480
969
52
121
149
211
957
815
708
267
810
731
97
726
444
306
498
456
189
691
660
86
813
315
897
171
837
935
916
941
98
369
852
398
830
197
583
122
740
996
492
327
756
76
304
620
169
279
556
409
874
119
523
103
295
422
164
103
351
711
748
56
543
709
340
2
804
776
260
882
283
521
969
292
645
574
550
536
767
284
119
774
959
95
59
530
947
512
890
875
908
839
7
391
776
326
234
383
896
988
362
903
858
92
401
841
989
244
255
714
573
89
960
827
322
852
387
142
12
338
547
557
482
580
236
261
372
979
786
532
114
673
107
597
639
869
47
187
224
46
327
22
695
259
966
732
927
250
141
672
212
730
915
665
627
961
104
971
924
750
833
650
869
30
23
102
174
523
102
715
341
345
751
491
814
12
391
988
777
51
377
154
857
275
650
421
745
860
621
974
459
524
668
208
556
510
480
252
123
539
879
857
779
614
430
101
221
338
347
121
114
433
724
529
202
242
84
252
596
334
605
287
108
736
160
271
374
964
467
806
240
764
248
224
559
394
273
818
116
362
555
625
867
766
786
492
55
758
291
547
59
210
395
148
24
354
130
60
407
37
617
916
599
211
315
985
674
501
542
882
150
957
341
155
353
632
798
585
629
237
394
662
151
910
821
929
556
124
972
775
946
813
493
856
80
113
359
497
726
488
438
338
219
611
883
970
230
93
528
552
652
53
125
177
280
542
414
297
659
53
522
658
62
711
108
989
98
219
18
187
814
347
941
825
510
538
708
624
692
211
432
937
723
471
636
395
769
224
879
624
571
156
184
311
436
633
708
999
587
353
721
678
670
472
906
616
791
47
439
912
923
824
55
928
918
822
555
105
609
675
804
651
728
435
300
266
431
356
801
357
229
209
373
171
49
863
399
896
957
149
792
55
798
560
684
461
646
927
299
579
476
43
632
394
934
130
772
799
420
176
432
48
937
407
294
75
365
587
290
304
825
429
824
151
829
111
254
566
756
780
633
833
995
990
870
312
781
198
935
999
355
812
712
546
585
794
395
888
581
485
93
720
178
156
429
862
368
753
499
965
892
469
477
127
249
26
561
712
313
58
680
88
601
540
600
35
990
993
622
323
342
130
58
295
55
646
86
358
58
117
358
922
104
354
971
724
546
89
997
414
953
581
822
983
4
598
927
884
145
210
633
692
368
35
511
744
302
880
853
508
532
207
624
342
697
498
776
892
428
381
685
659
665
324
726
116
220
827
675
370
699
281
736
534
91
111
443
876
357
367
621
326
362
673
852
118
345
336
643
162
933
449
563
273
376
25
179
503
288
567
509
653
686
976
74
496
537
375
355
386
302
257
602
659
260
332
509
731
442
610
217
828
114
519
466
78
645
336
510
60
457
802
550
996
513
549
59
461
471
907
345
887
154
705
83
132
531
936
378
98
711
540
96
706
795
79
841
550
582
820
962
169
260
558
406
243
185
544
56
928
781
61
451
198
407
488
422
339
769
195
214
670
62
252
145
139
585
711
713
733
13
185
317
497
841
545
453
543
790
840
317
645
115
920
241
878
827
867
292
288
809
45
643
783
693
458
52
248
145
177
903
400
908
772
765
63
527
57
358
317
228
961
167
486
772
4
653
15
499
701
180
89
928
170
317
254
451
377
137
440
695
746
492
464
38
300
27
557
657
112
860
489
194
618
439
580
835
230
88
262
117
814
134
900
294
775
321
231
440
918
416
165
780
784
535
636
906
849
728
903
652
853
799
957
412
521
157
695
565
121
750
120
530
605
762
118
665
599
820
291
870
101
905
914
283
583
29
342
906
106
18
81
347
187
393
314
110
423
471
863
31
258
234
476
534
916
474
824
344
194
966
790
173
738
183
481
684
444
131
878
748
846
443
193
561
689
767
826
758
425
841
264
4
995
372
391
919
144
984
469
374
442
51
458
350
359
201
464
578
12
619
828
124
678
72
779
923
741
731
654
44
528
473
353
93
413
319
133
761
607
55
823
990
324
911
253
586
385
342
21
434
857
612
716
630
34
863
386
950
927
809
326
111
434
4
241
130
531
896
464
965
157
497
164
319
941
577
456
100
561
729
874
609
307
531
926
930
401
287
383
369
684
515
461
33
597
434
327
811
758
183
178
62
44
413
721
332
788
180
20
256
627
785
565
610
535
321
859
181
821
203
31
692
195
887
746
550
527
312
172
583
610
354
886
249
32
696
367
43
270
105
170
915
249
45
961
606
885
912
344
696
621
976
802
45
530
256
156
49
339
172
636
780
659
774
50
688
761
776
561
956
476
393
248
46
193
212
7
194
461
938
299
868
408
852
940
241
49
285
429
793
556
214
252
14
747
337
273
43
363
620
540
771
196
393
818
578
754
469
734
409
958
699
644
335
305
577
285
102
43
238
789
406
164
244
861
807
443
54
832
282
326
974
761
331
194
668
10
512
429
37
510
985
744
380
460
402
443
273
336
41
630
515
920
601
906
851
487
486
748
900
465
713
607
865
596
822
729
148
118
272
849
985
549
874
195
518
402
708
696
558
571
879
900
426
190
166
841
849
471
315
56
902
409
286
998
343
270
222
324
533
452
313
952
292
663
1000
275
712
360
146
677
917
13
929
314
222
125
190
144
958
847
886
363
475
683
130
738
485
59
6
787
944
434
980
410
153
268
280
372
596
366
30
970
326
47
314
345
373
131
548
155
739
975
752
720
23
626
350
381
634
725
91
480
830
947
611
308
540
637
880
381
49
763
518
623
122
489
546
376
94
469
631
683
777
421
323
946
769
684
71
905
902
217
40
843
117
937
896
68
12
409
733
35
665
608
277
890
128
904
349
846
126
478
328
558
119
83
995
584
854
443
731
83
915
605
508
161
618
255
482
627
774
341
299
487
466
339
401
212
23
169
737
641
762
49
259
433
957
577
544
108
675
919
628
89
811
280
947
588
679
762
829
866
986
311
576
149
869
683
588
465
963
295
336
748
129
349
254
833
560
861
758
385
472
91
709
370
483
390
554
413
87
674
320
282
326
577
368
767
902
818
547
445
457
493
962
142
713
793
82
460
464
117
332
378
177
688
617
757
84
536
469
585
220
163
611
918
794
280
791
761
668
784
678
607
484
491
445
935
136
271
442
743
900
884
997
106
496
228
984
826
766
715
228
480
455
201
243
540
775
200
42
802
65
145
983
55
870
99
703
774
190
616
182
641
485
432
916
852
256
298
977
518
681
509
465
924
817
667
499
63
350
756
407
651
747
898
239
782
907
33
68
483
110
334
791
693
152
397
317
624
994
96
88
2
229
529
855
462
882
686
504
226
851
269
526
236
344
639
418
159
224
974
864
957
105
573
124
322
336
658
380
857
798
215
183
785
552
110
324
880
936
235
587
521
676
460
907
991
922
966
350
673
914
894
227
314
134
348
386
383
410
468
378
376
395
678
791
80
283
249
489
974
371
988
888
370
342
209
684
434
707
148
649
916
900
615
184
284
938
18
362
969
367
834
62
601
497
226
650
421
544
799
368
569
345
415
209
550
803
557
635
3
43
32
878
829
563
632
978
857
315
3
902
462
756
146
300
8
388
853
503
525
190
915
322
796
678
131
128
871
1000
963
440
136
614
206
969
185
609
180
641
181
650
763
646
833
869
58
966
833
765
592
138
407
309
739
260
603
13
497
346
103
680
808
198
608
906
408
891
330
194
547
820
702
692
18
13
192
168
616
74
34
832
551
686
743
969
350
89
536
215
464
304
151
447
150
188
112
922
188
571
176
294
649
855
565
583
227
427
597
980
641
168
498
635
202
160
488
211
952
410
748
23
675
31
483
79
728
879
92
152
821
59
435
330
838
100
254
139
304
800
97
421
355
960
495
660
914
254
735
301
315
474
281
958
812
255
807
82
219
197
824
786
466
953
112
38
978
501
495
372
599
264
40
591
266
218
393
669
737
386
835
226
473
378
579
472
196
757
999
503
741
35
754
181
578
63
242
591
757
419
394
276
116
152
621
998
291
902
610
791
445
987
756
439
662
518
259
354
635
980
275
988
609
18
77
574
568
330
882
971
257
707
836
848
991
229
688
253
143
552
824
864
816
52
701
858
513
286
136
381
521
883
623
91
340
511
569
52
717
998
346
593
769
37
131
371
212
175
787
994
955
928
434
27
171
930
969
111
495
23
488
225
183
48
478
836
904
889
675
765
332
32
698
175
862
469
908
942
595
315
472
82
165
894
263
559
160
366
74
36
607
218
582
602
481
38
647
523
237
43
837
393
162
785
490
860
702
282
261
250
7
601
849
24
642
559
518
968
797
801
104
425
323
960
438
677
656
2
489
792
987
145
81
861
60
918
751
590
617
49
145
600
838
842
385
666
67
663
1000
338
746
911
338
26
778
633
857
720
430
531
338
928
525
661
847
305
886
571
227
726
913
957
21
198
730
189
952
125
563
216
559
912
859
402
110
782
217
874
685
4
353
766
184
424
198
616
72
289
679
778
869
922
945
387
752
677
542
862
137
973
576
382
805
940
962
55
924
335
685
765
337
964
405
755
595
790
832
102
526
270
60
140
574
245
433
740
748
872
582
135
787
670
3
622
63
765
886
19
817
772
968
290
567
595
838
54
898
610
490
44
392
312
897
741
171
549
28
506
361
853
75
566
814
253
574
79
581
165
763
356
971
619
787
32
488
110
280
592
604
854
476
211
101
55
214
317
665
95
132
597
532
201
890
478
245
266
479
214
994
946
553
832
585
91
241
123
841
840
85
770
83
438
587
481
413
930
354
677
722
424
962
916
685
536
511
691
528
947
250
698
21
778
832
966
979
587
496
444
521
389
925
822
495
33
623
349
752
622
389
373
412
482
871
186
875
296
263
503
78
664
892
546
435
292
834
319
967
438
731
77
340
37
644
420
963
121
137
697
788
790
782
612
195
986
913
23
179
767
785
923
81
596
259
505
263
416
729
41
466
907
330
5
53
393
356
529
1000
312
444
799
270
30
298
434
161
52
660
262
347
356
752
151
549
668
688
695
247
968
166
664
362
429
323
59
626
298
792
517
189
896
871
590
109
92
164
124
521
63
272
533
692
127
850
309
617
740
876
492
549
495
54
146
625
116
77
123
758
980
900
505
107
658
267
174
711
344
480
886
344
792
812
85
239
573
1000
424
95
36
11
668
715
368
600
164
672
498
242
581
650
454
692
983
500
933
755
588
561
492
883
758
549
778
814
860
122
646
831
658
276
832
152
782
878
116
597
660
981
523
942
16
28
180
344
657
715
921
739
818
54
540
455
783
140
940
102
824
225
37
404
791
979
389
860
810
217
25
957
632
957
803
217
165
408
963
544
562
373
242
154
57
582
12
886
426
700
459
853
533
79
703
185
951
856
138
75
39
665
972
499
181
44
114
713
115
624
107
94
415
295
746
978
221
859
412
882
247
127
889
921
966
11
646
269
595
945
116
247
205
869
518
986
805
92
138
629
754
594
816
751
222
683
577
980
708
515
945
833
817
625
540
398
597
535
940
854
742
467
648
719
874
396
251
408
938
970
463
907
473
339
855
332
136
542
476
732
416
919
478
715
884
942
93
436
720
999
10
964
456
880
284
351
89
190
374
521
752
426
832
673
114
258
443
63
562
360
346
855
1000
268
761
260
800
861
473
309
27
481
161
422
572
183
980
405
248
283
547
631
192
211
635
934
171
646
413
173
513
33
58
532
391
918
887
359
182
936
974
739
427
937
356
77
683
465
538
673
251
751
978
634
277
434
660
514
242
464
616
745
218
42
513
260
551
967
12
730
836
485
628
454
128
589
244
273
368
706
285
857
881
923
763
297
641
179
91
252
725
362
569
815
977
882
950
852
494
89
322
826
922
829
830
11
959
578
439
575
675
832
12
198
443
838
478
796
328
374
750
440
772
945
363
723
270
735
507
698
541
615
242
993
376
775
205
863
945
858
45
744
853
14
155
356
656
954
18
505
834
896
598
520
489
299
813
706
109
398
28
264
838
869
911
890
580
366
738
675
132
338
440
958
331
222
234
544
783
104
690
28
403
945
482
21
382
757
865
750
648
464
127
849
118
747
889
140
275
861
137
890
666
280
301
285
952
25
532
900
28
707
553
488
569
651
132
756
64
923
246
689
39
741
492
591
710
554
130
248
738
979
462
550
112
947
882
412
453
642
33
125
164
224
7
62
953
944
404
263
199
939
370
554
538
936
449
721
807
85
193
759
194
384
995
361
33
492
543
613
197
247
607
356
429
868
638
765
303
661
785
495
705
9
489
167
860
577
770
67
974
958
710
671
488
432
361
12
816
111
529
974
155
517
442
301
657
557
304
492
791
919
133
767
204
167
96
998
789
191
732
813
913
197
102
94
6
153
900
739
743
432
997
867
135
438
733
618
673
129
479
298
557
721
675
943
724
299
581
254
29
734
428
495
478
67
544
162
838
491
290
146
322
165
295
677
267
352
610
540
922
796
842
937
500
827
259
883
644
411
134
236
317
261
324
267
931
152
181
196
204
797
421
271
857
994
491
769
732
261
328
764
364
851
121
648
325
864
846
132
900
154
895
933
775
860
72
397
461
694
593
113
118
567
513
905
276
728
150
716
744
382
700
570
609
628
178
190
836
692
258
867
431
590
361
870
516
823
568
27
947
173
514
87
309
428
489
155
206
690
363
773
782
941
782
212
303
711
357
132
478
17
177
82
882
216
38
212
504
78
260
175
963
141
791
461
388
382
602
265
297
365
26
598
69
233
805
537
768
390
70
382
134
257
390
39
552
231
342
105
657
861
709
993
49
301
611
909
270
292
300
684
798
298
368
229
309
919
364
875
889
368
636
979
168
655
290
951
597
60
757
282
207
645
401
266
221
847
953
844
841
621
352
381
381
237
725
303
662
578
847
161
253
723
380
129
718
645
615
934
477
121
235
905
303
316
801
176
732
42
317
83
877
426
219
414
221
527
578
535
979
511
126
319
534
112
964
487
240
462
454
194
657
851
851
670
868
602
668
299
87
53
679
756
214
589
677
745
313
759
822
436
284
790
486
892
132
230
985
698
303
11
490
467
559
969
702
150
707
746
610
861
304
32
716
467
165
316
690
312
54
664
299
292
502
562
812
919
60
522
814
178
632
980
494
718
762
3
69
398
863
437
899
248
427
451
264
705
190
867
526
340
65
258
573
384
445
601
25
68
86
134
682
155
404
203
79
79
449
57
812
792
223
981
525
755
290
685
39
509
816
552
139
915
269
239
965
463
40
105
763
13
113
126
31
952
788
273
692
41
110
832
26
137
374
736
508
594
529
844
600
371
805
967
783
797
212
630
823
475
810
756
319
67
824
929
93
527
741
412
862
901
493
897
945
12
712
781
459
147
843
857
567
406
573
485
886
488
642
676
55
531
610
15
822
61
564
52
739
251
56
578
698
447
801
212
98
366
793
846
386
475
509
802
84
757
858
993
174
552
330
991
908
133
604
675
677
470
483
41
569
955
647
834
636
906
146
892
705
374
946
488
759
66
145
495
540
259
640
883
42
178
152
950
992
648
497
665
243
799
917
688
248
206
102
962
436
138
245
234
338
527
126
521
813
847
719
317
527
350
310
291
176
2
407
339
565
31
19
100
773
209
35
485
103
851
471
325
427
70
374
986
820
986
18
688
112
434
817
300
63
230
91
586
424
170
395
245
53
800
654
583
595
399
717
336
958
799
312
981
7
398
566
862
379
178
400
590
359
639
151
459
55
274
700
109
920
660
246
207
837
254
622
758
548
731
698
515
230
57
986
52
389
521
61
323
51
649
744
862
451
224
325
378
13
694
275
163
456
845
986
607
274
956
111
110
668
619
953
870
266
17
199
333
598
742
9
587
336
156
73
602
793
907
845
36
18
449
540
253
102
314
874
320
980
448
758
17
119
149
335
286
936
995
798
158
718
703
416
906
97
20
70
45
857
615
384
898
941
404
224
571
79
936
966
605
356
230
381
53
381
966
465
390
473
11
811
516
388
79
347
83
719
726
434
492
990
992
293
244
899
746
732
741
882
180
948
254
366
981
958
539
684
400
867
509
564
830
746
413
553
524
378
247
504
766
483
484
473
150
365
752
983
639
59
806
652
682
207
983
570
34
864
344
690
848
355
880
690
247
133
485
454
861
289
867
335
743
15
230
834
678
847
330
215
142
966
465
797
60
159
85
395
97
346
938
430
402
674
107
719
622
316
867
884
522
23
29
568
717
410
288
404
892
704
202
766
364
393
564
864
986
822
318
669
232
258
694
487
731
385
866
744
668
499
305
676
245
881
951
195
805
993
483
129
345
127
241
425
879
131
838
663
499
641
55
396
74
43
438
435
209
5
869
177
485
39
516
458
13
972
759
242
28
631
91
626
579
304
548
311
386
740
894
637
574
566
677
786
304
961
251
515
296
391
67
85
846
992
810
645
248
917
502
422
411
599
265
500
128
423
289
840
618
720
458
485
939
375
219
534
378
575
524
579
168
382
110
787
738
904
949
687
251
794
426
43
331
680
706
893
779
944
775
941
508
924
857
34
144
249
270
347
494
479
255
268
595
683
55
691
142
857
261
567
899
343
495
155
116
524
599
302
70
104
798
522
596
235
763
359
877
597
109
721
822
281
605
450
75
7
325
383
71
761
8
550
583
414
157
959
893
255
780
638
50
685
212
188
691
479
180
161
530
134
110
972
971
832
696
901
208
456
913
974
857
902
996
174
402
666
370
457
687
324
170
529
282
24
766
199
782
596
683
381
20
203
383
515
719
713
666
244
332
168
846
684
689
729
444
503
607
519
871
355
771
620
449
888
96
275
190
698
202
60
912
79
853
350
670
387
983
961
968
132
397
195
887
689
395
905
93
623
289
354
692
218
262
824
983
714
97
927
523
164
34
544
302
553
444
154
489
32
42
51
925
681
101
647
497
206
480
597
575
386
326
964
937
875
970
17
1000
161
917
558
698
138
777
846
82
709
681
297
533
325
14
131
527
155
264
77
43
837
413
23
23
410
573
251
800
67
501
532
17
840
225
855
379
184
255
50
509
688
746
888
313
851
577
500
489
902
463
122
253
162
162
240
938
325
305
180
833
355
598
68
520
382
975
875
37
103
776
951
357
733
181
47
55
434
942
342
546
539
907
386
926
574
981
196
305
270
910
976
471
272
748
37
885
245
915
554
289
406
547
719
658
317
205
719
843
917
80
705
11
383
573
580
892
375
445
16
951
640
830
577
797
725
23
181
559
777
341
476
478
21
335
823
691
508
280
759
18
186
193
734
572
139
577
910
215
114
737
553
165
86
754
332
569
651
184
420
485
526
103
879
505
265
373
197
223
597
932
248
820
452
436
151
346
833
815
715
656
179
184
177
561
755
59
952
486
917
28
961
780
793
857
923
916
58
527
659
992
966
817
77
287
778
896
988
182
999
833
353
377
638
44
821
192
796
508
712
710
476
984
657
660
450
574
200
232
387
705
580
453
214
35
766
396
857
811
570
209
110
962
340
903
329
538
274
911
100
183
898
634
769
968
610
620
993
292
497
532
27
518
804
766
524
702
542
465
43
44
741
640
263
697
739
327
201
144
727
991
299
687
507
907
379
474
29
856
856
119
810
286
499
189
815
31
291
765
663
791
623
811
352
826
118
327
794
768
904
124
564
986
15
579
203
703
934
928
336
945
968
493
606
441
293
719
159
784
989
71
995
551
353
646
986
552
77
814
820
82
633
318
407
845
357
70
510
238
260
284
524
772
564
685
332
749
330
293
111
729
295
681
834
946
231
636
945
596
720
924
343
814
215
174
413
276
665
967
265
545
785
876
762
705
243
550
186
355
680
947
592
732
462
443
985
597
528
885
478
524
494
606
481
415
452
39
813
364
510
860
321
492
191
510
249
22
278
537
121
626
524
471
342
61
941
802
84
186
64
241
265
745
640
621
590
692
712
691
709
430
938
570
492
55
320
820
327
590
179
943
114
237
375
579
336
871
250
876
175
360
739
272
145
814
386
426
145
519
767
129
117
148
972
836
758
833
324
864
830
788
497
414
674
501
539
313
455
946
100
764
534
868
310
487
102
982
372
299
881
795
887
607
261
910
354
263
711
827
71
968
697
689
887
705
610
956
837
708
403
688
766
122
746
963
419
808
491
995
345
721
181
652
181
918
118
440
545
511
258
453
797
834
822
479
416
682
36
193
561
704
877
356
706
975
28
44
871
298
525
154
85
5
711
915
186
935
210
654
971
737
572
815
9
880
167
143
125
576
644
944
701
301
985
558
439
787
806
550
164
132
1
606
593
180
311
805
706
395
649
780
522
289
288
226
640
842
114
385
837
491
205
411
403
980
918
982
660
775
540
111
265
821
288
905
528
112
130
902
908
932
432
722
294
648
957
980
449
624
72
805
213
158
342
853
688
354
864
397
618
481
797
939
641
686
552
809
885
895
15
349
659
369
983
668
594
621
746
369
679
394
335
332
70
935
537
415
416
86
181
881
737
587
579
475
536
579
240
332
938
472
148
315
118
248
948
963
177
780
386
956
957
935
189
893
933
72
395
212
505
47
814
319
483
982
896
284
497
863
813
47
418
518
935
696
575
622
239
214
755
160
373
95
448
242
263
343
846
204
157
665
393
729
965
137
493
78
595
200
158
627
725
638
948
573
143
81
548
87
327
663
732
197
420
701
258
371
144
645
436
116
461
81
757
903
12
293
943
383
429
724
263
169
656
701
733
415
287
954
113
69
787
795
210
920
155
270
88
538
226
290
217
741
359
485
476
535
675
517
171
313
388
668
945
711
993
793
489
697
268
154
507
361
92
206
233
399
72
152
138
467
821
980
154
419
574
707
850
942
440
799
550
259
271
48
258
378
561
740
629
822
261
584
958
909
657
715
282
429
730
70
260
990
514
551
467
400
18
712
63
207
225
127
608
910
511
234
951
421
605
185
698
75
854
166
785
847
131
729
25
480
208
887
358
893
767
152
697
599
550
184
899
838
296
481
402
813
253
343
499
687
22
387
60
2
433
54
732
786
944
857
313
886
797
635
46
19
780
669
12
601
992
358
711
680
443
67
138
199
676
884
381
349
840
280
827
42
820
86
561
346
97
776
428
287
958
776
549
611
595
405
768
916
391
105
634
77
394
809
47
40
572
655
607
873
952
767
49
404
165
498
895
944
212
343
578
320
518
729
858
915
451
4
315
486
531
263
49
279
484
89
502
377
165
889
497
245
97
278
144
197
77
877
307
832
819
960
646
568
121
639
130
28
394
630
63
434
695
221
304
109
576
732
395
879
193
645
710
447
92
567
588
813
17
371
659
381
904
187
185
743
927
394
345
994
131
392
785
76
681
752
676
871
229
251
754
664
229
461
521
175
309
768
845
554
934
149
696
617
704
611
668
137
567
901
206
155
136
23
181
171
61
95
587
510
116
332
619
369
259
243
353
817
414
693
551
512
151
106
885
8
746
953
984
307
337
604
296
751
9
802
686
428
694
291
72
26
694
576
163
460
502
414
547
674
342
385
954
702
506
821
507
500
148
440
182
25
651
253
478
764
79
738
529
260
491
762
493
132
124
486
64
809
493
306
401
435
531
921
593
437
736
769
997
804
154
412
473
462
743
927
549
21
263
989
44
789
428
146
506
170
437
708
125
501
401
812
440
902
404
464
235
961
118
772
534
928
938
190
473
638
613
302
146
541
173
546
228
102
804
380
273
265
956
518
151
910
609
275
949
961
100
562
61
330
355
714
884
971
640
194
703
109
231
174
896
133
469
154
551
753
759
34
936
743
964
564
66
12
536
635
749
806
454
702
97
537
713
497
489
151
663
297
335
913
985
230
822
246
470
491
17
523
35
892
323
788
620
854
288
955
714
827
224
414
230
110
900
899
412
245
808
95
217
450
187
760
383
63
991
65
7
596
473
420
986
785
921
355
134
996
348
871
113
426
606
269
603
806
495
680
260
768
908
375
114
540
975
476
1
451
427
864
529
543
166
934
845
676
89
331
179
685
768
951
717
538
495
332
887
903
556
974
540
265
308
295
808
506
804
693
685
870
253
601
463
372
556
547
235
991
525
943
566
445
177
757
345
953
642
271
523
158
844
836
154
286
62
925
695
703
920
794
999
267
105
768
818
260
374
482
929
206
980
424
160
615
685
790
733
533
977
927
302
777
887
660
2
938
109
386
651
517
704
105
930
84
776
490
42
953
933
710
866
673
224
923
47
594
507
310
854
864
884
43
854
464
920
809
628
341
858
393
829
228
922
335
831
524
125
871
128
439
683
206
415
708
265
662
958
323
833
402
494
146
736
238
375
724
65
497
102
340
29
32
704
126
219
272
627
71
231
598
970
878
27
455
883
925
810
352
934
30
950
290
78
343
666
226
609
414
769
914
160
462
746
803
362
873
867
723
264
265
790
783
971
775
376
201
280
814
986
853
246
217
615
911
748
575
600
294
83
547
485
613
590
121
879
901
52
120
763
707
407
720
777
66
899
411
462
458
333
579
301
83
565
897
677
727
680
765
533
23
582
338
610
134
872
80
630
759
970
367
677
895
393
394
341
965
993
516
892
764
748
219
862
180
378
89
949
794
670
537
61
263
886
515
669
885
66
157
377
825
314
84
744
309
428
109
964
469
318
198
965
681
720
859
843
916
662
551
330
81
950
356
152
357
750
862
746
274
945
182
767
607
567
67
220
255
42
323
863
891
375
120
724
557
701
337
196
354
796
775
175
34
269
928
182
614
134
24
174
88
389
207
51
953
49
61
468
526
782
152
640
967
954
924
274
525
406
35
620
762
737
220
922
399
215
844
210
31
685
562
466
122
19
965
680
590
708
615
215
834
171
636
192
200
244
911
333
762
83
960
777
772
436
808
958
281
792
475
505
270
470
248
499
59
84
572
143
909
163
204
42
509
901
264
858
464
184
966
47
991
19
81
758
793
503
658
748
469
243
119
328
878
955
624
953
601
602
494
60
1
999
590
137
441
287
740
825
851
75
735
47
236
308
910
795
671
135
76
201
1000
129
395
956
765
239
797
989
847
745
747
519
946
312
436
287
269
964
10
781
767
434
53
762
830
860
333
233
602
275
799
293
978
650
888
964
922
534
498
190
927
477
360
672
345
500
170
127
826
842
525
819
284
100
618
973
667
665
698
739
289
38
477
942
638
223
49
751
400
895
375
741
875
443
80
573
107
311
103
637
830
302
767
589
737
593
921
628
708
307
142
774
358
376
418
129
667
306
333
319
531
206
555
867
765
105
332
266
489
134
787
892
829
647
17
703
572
715
419
899
733
725
179
306
15
1
575
269
771
474
601
302
401
406
435
513
89
131
427
133
376
542
634
52
390
804
376
386
447
413
967
492
352
224
532
774
961
549
785
833
489
742
762
243
576
973
742
286
386
34
19
478
822
90
779
618
542
273
36
381
579
881
489
205
254
744
211
308
550
3
258
221
264
145
672
124
74
658
832
630
122
55
811
371
836
355
194
919
473
327
800
103
342
919
909
741
715
366
854
192
202
358
320
883
761
556
274
143
586
460
240
268
822
305
519
738
414
233
51
871
463
461
853
41
117
538
326
763
353
77
306
579
62
544
395
695
429
769
998
742
958
865
486
885
446
152
74
703
828
480
340
961
88
96
781
410
389
815
440
210
129
784
449
461
914
594
251
573
326
818
405
888
904
322
121
60
23
858
83
177
163
507
730
506
652
525
844
59
99
3
231
850
607
575
290
880
340
60
486
354
178
556
84
597
988
975
33
453
527
465
536
700
102
427
682
142
886
116
494
617
239
886
884
92
457
232
294
396
133
686
269
912
705
478
794
716
843
648
999
239
12
936
765
533
962
344
818
574
887
761
148
905
702
384
965
47
209
997
961
803
954
324
328
533
182
797
863
949
646
73
483
792
985
541
650
994
979
900
532
574
313
576
206
582
379
411
852
838
258
577
667
96
250
103
187
534
257
771
832
137
843
372
693
621
43
496
81
56
847
68
854
226
822
851
323
53
513
981
407
154
120
415
740
682
408
851
662
142
23
273
350
787
120
790
877
551
748
846
661
182
502
196
567
424
767
253
930
619
291
564
903
67
936
198
798
853
172
762
593
605
330
623
321
847
628
674
879
163
758
610
667
417
159
302
566
619
139
271
3
882
697
694
205
87
226
621
331
496
299
311
836
576
356
659
298
736
457
707
940
475
208
163
257
733
597
616
480
817
758
922
84
400
607
823
192
473
898
398
530
60
474
432
505
726
422
61
131
624
360
389
748
877
339
876
930
612
696
375
529
824
713
697
551
586
143
429
437
792
497
530
376
775
471
928
457
621
62
930
858
958
724
766
741
314
379
3
231
895
225
867
642
746
59
762
141
866
265
373
133
729
713
809
969
114
559
145
34
843
336
611
855
242
797
415
661
726
670
820
710
867
873
726
820
733
757
409
719
78
625
505
268
145
138
590
112
510
171
889
50
359
403
770
230
64
159
671
350
727
51
11
132
601
541
474
751
978
865
757
295
130
665
519
52
392
265
797
146
322
809
597
32
148
334
715
467
376
449
113
806
540
487
306
933
547
873
315
675
963
986
700
302
899
962
60
599
864
750
188
28
53
208
752
711
71
181
976
324
18
333
295
487
186
948
369
928
375
49
180
495
957
952
109
108
386
828
83
846
814
911
868
670
811
747
557
756
993
296
128
975
503
733
722
856
915
540
938
268
63
811
23
145
762
772
282
795
121
164
455
733
410
486
52
517
30
109
850
768
152
894
866
412
41
300
89
189
890
884
208
653
240
759
358
204
712
825
642
173
812
549
817
634
45
637
77
385
431
191
275
517
788
875
330
81
817
133
757
621
123
747
472
783
775
881
63
755
918
298
690
52
255
598
685
25
897
204
663
538
242
269
699
433
8
889
682
787
521
758
487
456
661
919
8
72
619
343
413
507
766
883
205
764
479
555
809
419
739
212
430
26
662
407
883
342
913
654
929
834
127
350
420
709
18
348
217
602
898
522
384
155
663
716
692
935
157
142
780
538
997
625
657
268
575
118
401
459
968
523
999
420
918
204
311
914
860
514
9
332
248
292
190
992
37
571
84
499
255
659
885
742
62
349
296
879
519
273
806
626
623
302
68
288
767
464
7
177
941
64
443
559
413
564
79
779
580
303
691
977
936
335
214
704
846
490
234
760
902
266
53
800
188
316
131
614
667
90
180
470
286
690
613
621
79
69
379
855
749
537
402
991
714
920
18
338
596
856
807
428
464
425
166
793
952
728
833
158
505
87
309
193
626
255
788
859
969
395
789
503
509
616
134
37
857
542
313
976
950
715
562
600
995
670
155
261
557
107
538
659
91
977
911
966
85
180
796
822
183
271
924
563
334
789
531
506
39
797
737
792
247
797
269
23
303
424
189
946
621
242
658
477
442
521
23
688
110
69
664
729
790
107
110
298
453
652
917
954
248
105
656
483
91
550
185
562
426
779
11
159
606
214
228
493
302
695
933
835
658
591
507
171
665
778
427
507
344
847
493
621
931
304
525
195
153
644
565
527
101
903
611
528
945
707
730
251
925
913
159
14
633
608
663
76
583
661
2
889
486
998
792
205
408
501
488
694
236
730
427
263
476
701
141
979
410
584
169
355
106
499
685
763
564
556
82
912
560
917
554
658
351
907
373
877
514
169
236
801
584
437
564
977
81
729
85
979
737
697
398
115
451
412
440
602
549
76
964
147
442
36
189
408
656
993
775
559
512
497
118
64
440
636
803
823
40
352
681
27
497
957
693
441
915
221
30
337
429
891
644
955
747
612
442
226
857
990
716
438
241
988
493
686
856
937
525
238
537
157
586
388
218
652
577
991
572
325
717
612
231
940
735
178
755
390
573
56
895
882
546
738
519
309
335
699
753
449
420
518
534
615
796
89
755
15
898
562
648
431
654
707
849
752
512
529
851
544
107
313
198
103
943
745
800
384
96
397
231
783
504
660
734
988
816
152
918
38
153
742
801
273
365
596
977
83
548
56
112
216
634
750
923
972
865
69
75
753
806
6
127
308
383
437
801
496
81
87
336
542
63
799
643
591
478
242
299
791
606
843
151
304
847
571
454
392
750
174
23
160
433
616
827
653
762
736
821
722
617
630
586
496
396
831
522
349
701
153
917
966
775
974
208
496
840
791
152
788
967
140
421
408
486
353
323
464
209
139
19
279
969
734
562
581
45
159
554
212
61
183
40
311
857
738
487
554
650
857
350
301
517
692
789
456
878
811
523
411
168
756
728
718
367
805
96
9
356
974
893
270
380
582
917
775
4
87
751
856
51
508
600
231
979
461
300
767
24
724
814
438
223
309
603
687
140
193
834
588
694
232
267
9
8
300
22
426
607
344
163
178
599
891
168
726
715
512
930
907
205
895
865
272
608
464
83
347
394
932
353
45
278
799
752
538
806
540
489
587
436
165
371
729
926
925
787
731
318
113
863
395
169
374
695
176
972
413
115
30
922
729
537
588
250
848
801
59
375
553
794
212
21
740
857
442
281
912
647
173
312
752
142
799
990
882
974
954
389
712
111
150
379
201
198
726
4
502
525
594
539
699
692
519
298
257
521
504
330
409
649
408
102
411
574
86
176
489
587
206
626
357
169
368
700
368
945
335
758
732
216
956
75
742
404
867
489
605
525
148
191
333
895
913
177
86
884
223
19
542
447
833
648
122
540
996
766
389
314
976
381
501
131
974
698
403
46
888
247
338
385
685
739
332
441
224
555
557
117
20
211
838
546
794
388
140
338
666
325
553
129
463
469
159
516
968
286
165
315
866
37
877
308
793
139
397
292
137
488
408
292
233
693
56
271
105
756
736
512
234
161
519
134
679
666
93
888
467
370
321
428
368
777
972
787
49
648
725
646
142
411
297
303
914
762
430
963
101
900
512
58
947
513
802
861
646
246
615
561
191
857
278
302
119
726
409
439
720
655
836
396
118
140
480
78
3
433
678
724
935
723
676
486
851
745
516
749
838
932
113
423
269
16
106
989
140
622
967
95
798
975
933
875
278
325
576
975
185
39
175
478
338
644
630
537
453
261
360
523
753
975
446
968
711
710
345
363
123
66
626
146
282
396
522
852
359
148
594
441
981
91
384
282
618
610
799
146
631
677
860
809
727
476
587
572
139
876
52
51
59
166
27
126
720
470
273
781
64
275
197
913
103
384
532
882
923
357
716
660
798
242
857
12
5
965
522
21
753
255
102
624
122
419
178
562
990
555
132
295
756
55
227
973
47
352
534
526
735
928
354
303
308
503
247
433
52
223
391
290
559
375
745
21
798
850
414
56
342
116
689
959
399
970
473
746
947
677
173
23
637
430
710
894
124
223
968
645
129
359
887
573
842
786
404
246
262
403
602
632
677
262
793
260
751
336
694
562
669
142
525
49
307
49
637
809
723
557
241
113
104
134
903
559
887
532
726
291
14
573
601
322
88
544
411
858
807
255
888
852
162
740
635
712
780
316
927
199
261
462
62
68
519
539
420
959
957
895
889
330
749
301
971
13
646
995
748
83
489
811
811
303
57
32
447
359
952
613
647
455
981
373
935
625
913
614
663
289
513
363
145
148
499
104
929
532
434
429
608
681
592
521
749
265
515
748
977
635
329
940
716
926
877
117
866
160
385
530
488
894
690
874
630
826
2
468
558
988
834
982
8
812
973
40
542
400
325
648
743
791
42
928
745
882
605
88
601
928
412
912
30
229
18
289
413
678
339
484
264
367
64
906
44
296
997
106
848
587
252
629
437
249
92
99
114
731
641
657
115
939
917
410
602
385
398
125
794
434
811
735
486
366
964
612
6
112
224
742
666
74
640
76
859
406
861
383
308
486
696
849
352
77
586
533
835
870
326
541
864
675
68
435
651
492
30
968
739
141
357
705
109
885
253
475
88
698
864
875
500
479
374
259
212
471
436
714
77
636
364
562
296
516
493
815
386
393
703
837
259
169
432
189
422
468
383
264
909
905
757
852
384
326
87
220
794
123
631
643
38
356
866
568
408
544
826
764
972
459
902
877
619
129
259
774
254
605
189
946
492
714
586
35
257
147
210
224
883
774
551
839
684
953
949
20
456
999
49
712
56
655
815
581
21
600
117
623
176
558
303
436
320
527
300
99
352
27
498
588
688
27
109
475
386
382
722
443
191
211
513
773
604
615
929
572
178
555
694
938
454
477
677
677
362
523
499
440
423
735
746
376
833
723
318
454
309
653
752
659
656
282
320
126
114
984
322
145
936
356
281
655
69
52
677
491
500
963
442
185
576
689
697
566
597
559
107
734
67
110
794
267
244
24
949
660
71
7
194
67
129
2
215
397
986
417
439
686
211
754
301
454
351
170
205
471
402
961
393
903
609
965
761
374
994
142
142
856
655
369
657
613
700
629
569
674
677
301
461
413
486
257
666
876
59
790
648
406
553
206
391
3
370
68
952
578
146
665
27
929
702
289
769
867
63
250
96
331
889
436
456
775
13
346
301
346
362
210
587
605
224
798
190
611
665
942
517
197
943
640
504
212
908
856
821
260
716
760
421
253
667
206
448
678
601
716
149
44
106
98
677
397
703
83
562
154
336
58
192
755
680
54
870
796
290
627
873
368
108
178
484
308
622
550
124
942
859
447
582
696
404
354
829
617
878
126
37
494
644
364
264
708
7
28
702
417
892
459
540
955
748
145
231
554
453
119
428
657
117
811
914
82
971
571
621
280
975
832
215
747
418
65
796
427
483
251
987
594
745
607
28
266
577
672
558
687
717
678
412
786
611
330
148
806
705
749
959
497
550
318
333
362
449
647
105
434
375
657
499
16
73
62
421
571
577
137
501
738
851
756
338
25
903
89
988
302
521
266
987
647
726
534
90
443
136
160
482
877
710
370
432
180
751
141
215
961
635
532
682
29
440
555
18
908
561
293
88
101
434
90
251
792
685
137
703
325
381
744
164
265
578
879
277
279
16
330
107
389
661
959
999
367
738
97
423
165
84
77
559
344
890
246
109
351
403
612
233
404
735
407
564
448
684
480
955
339
422
373
29
966
947
378
567
499
442
635
524
326
83
567
726
540
352
533
387
12
645
643
152
203
792
57
737
850
148
956
195
609
49
613
434
505
786
604
915
811
706
298
392
578
701
187
130
584
133
487
301
910
198
738
153
705
837
772
109
950
557
513
164
196
960
583
835
312
336
554
422
276
419
1
550
874
295
221
783
17
474
598
607
37
365
99
227
926
740
340
449
12
270
965
348
951
912
849
589
235
729
745
16
657
719
593
570
285
361
623
677
540
884
779
18
917
703
742
973
738
102
25
92
68
964
169
678
614
309
97
930
953
442
39
112
955
767
265
919
611
711
72
531
773
718
76
866
522
10
875
170
946
649
606
413
149
442
707
916
194
416
477
262
523
906
642
805
112
768
200
60
235
899
288
804
274
13
638
9
442
569
513
591
616
880
648
551
766
678
824
282
609
813
192
690
174
376
348
314
958
238
479
801
228
899
587
945
797
569
934
995
304
631
357
73
642
962
34
383
641
128
609
331
577
102
338
808
348
37
43
674
412
530
232
894
711
30
691
901
805
282
212
473
441
159
910
833
581
873
742
746
692
270
434
87
750
870
999
734
996
376
443
675
935
597
42
880
454
136
791
868
235
729
223
853
809
818
853
36
723
801
875
912
259
417
635
421
101
892
583
398
125
794
97
61
226
21
599
193
739
8
851
300
509
999
182
217
160
209
664
611
414
785
934
312
589
760
445
682
566
592
415
77
585
467
633
965
176
277
601
505
460
65
173
159
796
777
985
483
457
363
496
322
638
617
355
508
566
677
186
577
928
749
578
179
118
464
255
609
63
256
913
323
488
279
203
427
528
677
674
812
544
478
290
81
834
981
280
418
695
279
695
296
956
457
4
284
653
110
489
237
11
36
964
845
269
352
593
854
159
824
155
272
68
909
155
518
980
853
588
790
330
215
14
902
793
331
814
427
843
600
180
318
679
901
401
49
684
142
508
966
179
689
162
748
642
408
986
796
909
144
174
924
157
721
322
949
591
968
908
633
869
864
741
980
222
614
999
49
156
342
187
320
377
169
472
103
269
611
338
682
893
597
476
645
925
927
122
371
405
650
808
706
474
682
650
706
482
934
804
692
8
402
755
8
354
923
375
591
11
780
547
862
462
931
254
532
429
401
671
608
324
308
748
264
265
43
192
276
446
389
546
402
64
712
276
413
285
955
383
514
903
791
100
508
481
238
618
384
738
959
672
986
860
726
14
23
250
769
465
960
939
295
287
286
511
26
69
212
932
443
204
139
126
372
263
97
476
627
307
948
683
711
201
348
590
998
536
338
638
368
620
959
582
30
323
476
2
135
266
632
906
827
950
853
428
594
948
478
209
122
216
895
579
365
894
933
40
242
726
984
880
158
358
98
983
549
343
734
13
800
620
957
182
138
608
580
785
611
834
188
501
804
176
37
215
777
386
506
822
551
574
196
962
624
683
767
197
159
828
294
452
925
563
279
857
586
754
435
330
644
746
20
311
211
980
806
82
756
989
737
24
205
985
952
951
38
892
118
418
538
703
965
512
987
522
505
169
386
519
644
514
230
269
842
58
977
666
975
852
112
629
833
847
129
369
511
789
320
829
502
934
4
247
480
780
706
472
610
755
847
804
697
528
701
626
662
199
735
38
634
114
962
34
418
493
599
486
200
334
151
376
163
325
38
239
90
592
980
749
148
165
702
749
765
973
929
796
946
50
257
452
411
354
278
163
659
301
200
532
447
658
342
203
182
914
53
365
418
639
56
107
997
624
694
444
356
778
315
889
189
867
853
837
948
183
689
894
650
136
39
484
71
589
442
764
669
468
416
871
554
825
961
31
372
47
404
898
232
366
26
766
726
165
13
982
621
824
537
958
41
28
194
688
814
504
608
546
202
148
716
465
408
374
174
295
78
300
338
255
564
79
486
914
803
297
305
54
519
839
171
122
915
56
432
701
130
373
718
564
527
705
286
472
301
184
556
769
11
712
259
258
349
842
116
564
896
280
522
385
663
114
508
628
922
491
159
381
223
56
730
110
489
938
975
238
822
433
527
484
919
839
770
966
65
84
319
65
273
867
72
497
481
87
829
870
658
177
631
229
326
844
305
747
236
386
166
779
921
439
491
936
402
477
147
719
589
905
725
507
820
874
629
379
533
231
829
338
291
176
415
980
246
252
664
559
654
286
46
689
261
766
513
649
168
923
421
356
350
499
677
593
97
755
27
17
484
787
925
793
447
650
91
442
142
68
705
648
63
767
131
292
814
575
248
985
540
488
713
678
750
819
970
759
666
427
404
173
325
742
803
708
334
1
215
588
569
642
368
877
155
302
31
44
710
238
115
199
210
262
815
164
815
498
842
549
652
346
599
411
853
64
222
953
126
259
526
896
756
429
248
874
193
410
474
188
339
190
724
754
240
125
26
940
115
15
211
232
564
831
795
378
385
181
65
723
591
718
399
942
150
790
461
273
447
605
576
654
694
34
555
879
324
9
230
993
917
119
167
682
358
640
421
329
741
714
638
730
972
826
563
239
195
29
755
214
891
595
359
220
977
903
883
376
287
411
233
633
602
495
710
494
760
795
287
909
464
456
229
634
116
321
49
327
374
689
877
89
143
733
526
904
438
61
955
682
841
157
346
215
326
681
737
355
828
656
991
180
290
607
901
726
854
620
403
117
491
97
186
541
657
720
478
628
482
762
416
180
594
413
216
103
927
240
286
673
773
248
556
896
879
253
551
868
630
456
145
477
209
159
519
706
167
550
584
116
16
358
988
753
298
950
911
883
90
180
21
441
26
838
330
37
782
99
207
672
384
763
473
78
838
398
304
717
379
715
707
46
42
650
394
600
361
654
250
832
755
618
973
367
552
753
128
583
669
447
583
935
678
821
224
482
366
257
922
447
913
650
965
457
514
502
538
293
596
290
390
630
782
704
529
238
424
464
631
546
799
432
877
330
78
634
82
483
749
635
326
507
494
440
763
402
431
690
928
84
229
516
656
333
859
787
672
548
632
905
31
244
747
502
827
331
784
576
35
697
448
685
902
490
398
763
53
848
185
14
355
468
153
141
624
580
663
834
470
368
158
51
924
831
376
146
11
406
509
274
82
405
211
857
582
474
141
96
861
832
166
651
821
993
435
646
458
66
275
101
814
469
290
742
458
79
61
882
395
446
611
749
194
643
114
192
215
766
422
163
56
864
603
764
712
315
65
937
488
253
835
51
408
690
186
759
726
400
162
481
144
452
467
799
519
543
842
866
171
897
317
633
368
580
667
356
228
513
970
364
44
338
459
521
9
567
699
149
415
129
748
454
663
470
112
641
842
921
230
984
215
872
721
74
663
646
819
379
58
647
260
984
542
469
396
145
916
201
439
801
699
50
571
783
907
774
110
798
292
122
46
622
614
667
38
151
460
910
407
87
309
563
737
70
814
210
442
17
708
377
91
267
385
177
290
899
927
300
691
235
300
110
28
126
508
974
125
76
702
806
519
647
680
960
651
874
692
258
600
616
235
944
983
844
309
777
942
915
677
335
126
746
809
805
170
650
516
200
487
309
779
6
76
991
889
693
703
645
843
408
990
973
857
429
904
895
979
654
670
111
60
446
357
597
726
678
260
954
609
713
714
509
795
328
183
926
353
339
299
885
847
766
12
87
930
915
171
423
476
677
692
660
237
667
883
406
640
592
663
446
218
340
178
733
90
883
728
488
111
1000
59
864
536
222
755
598
550
160
946
901
593
551
530
612
170
935
881
288
771
888
359
476
599
114
973
884
12
483
233
549
2
366
564
386
570
157
661
704
541
970
804
341
237
857
478
125
431
771
592
236
181
733
227
882
453
268
108
418
935
292
947
674
93
25
372
798
280
417
434
330
693
820
548
624
68
318
328
948
251
220
950
766
235
704
586
782
780
488
951
285
531
729
199
229
354
22
263
252
739
524
202
547
250
728
281
75
399
339
344
151
822
29
458
798
302
632
977
617
5
405
917
138
290
625
995
733
585
667
748
222
106
140
926
240
652
376
720
284
340
775
488
106
847
87
326
797
722
694
198
447
331
344
414
776
291
619
867
468
596
598
826
261
200
791
66
32
525
481
762
187
194
966
888
720
346
106
840
160
7
751
595
495
363
320
37
851
222
822
972
334
626
85
982
19
341
823
486
443
915
418
306
386
102
14
566
913
701
558
2
854
302
942
594
940
966
288
5
810
651
708
441
959
30
598
451
503
427
625
622
321
785
95
317
727
938
310
410
356
967
857
403
304
91
520
490
960
381
636
857
104
546
278
975
49
198
606
716
591
268
90
884
499
746
70
145
126
457
312
398
444
415
798
356
530
158
949
478
29
589
935
395
632
46
456
697
999
733
647
265
790
173
336
328
726
53
925
91
640
687
576
71
535
339
235
277
536
793
240
948
456
927
936
873
443
480
748
248
748
883
630
596
258
779
666
559
824
840
889
223
798
577
32
258
428
106
24
311
943
251
544
12
186
950
815
444
687
639
141
137
887
209
397
473
58
133
787
894
117
612
711
450
170
891
511
50
94
457
197
215
884
457
991
296
837
546
671
848
814
299
256
342
14
520
535
429
673
31
278
775
93
982
778
831
200
355
527
19
657
60
408
488
138
970
785
973
997
302
274
357
25
984
757
152
338
45
433
522
773
594
300
429
326
662
492
147
272
51
305
700
630
313
608
746
514
184
539
51
770
114
62
966
972
995
997
272
541
862
589
338
221
106
567
779
646
702
888
718
43
65
55
304
389
392
986
361
497
792
870
909
565
57
387
836
709
676
927
169
882
573
177
249
341
94
560
606
555
977
508
471
12
378
505
703
912
557
149
332
129
490
239
81
144
494
12
987
890
934
245
671
551
230
849
917
428
663
992
957
898
930
525
254
350
16
676
644
755
700
561
419
147
937
40
296
915
444
860
241
220
12
805
815
277
518
799
45
511
79
525
813
781
559
110
408
975
444
914
228
285
149
224
524
376
963
945
760
476
192
8
409
158
507
262
947
188
171
72
390
368
599
734
990
742
656
59
581
873
211
165
634
165
719
613
318
361
24
488
694
407
160
938
743
863
644
984
69
911
661
121
8
783
557
327
311
165
296
662
795
675
845
503
87
78
16
864
121
257
916
914
122
315
13
28
618
398
791
200
440
934
113
619
766
67
698
606
9
955
579
826
768
487
1000
913
90
717
984
203
35
967
727
262
902
132
32
308
482
175
237
404
422
209
492
520
95
813
758
185
392
453
618
448
476
957
850
313
889
8
710
635
322
530
49
713
20
651
720
449
46
662
204
10
579
10
23
363
995
913
296
955
752
607
774
36
973
607
737
837
204
599
477
877
32
757
432
174
117
328
671
13
725
328
125
253
27
40
869
839
287
819
784
304
530
388
152
583
459
403
63
362
199
586
63
544
887
119
99
125
283
320
685
950
330
846
159
346
33
785
60
594
124
58
931
574
722
464
336
683
595
587
439
285
703
498
293
579
405
886
894
705
88
781
128
347
16
540
967
879
862
124
668
292
739
990
272
787
543
113
381
912
72
743
77
554
692
527
842
945
287
516
500
56
869
408
551
422
466
89
725
475
876
180
236
924
455
827
1000
603
340
397
48
443
430
131
439
943
2
7
288
551
42
288
890
912
271
232
550
773
340
475
402
692
883
434
449
368
937
889
47
539
747
578
298
923
121
255
130
582
311
151
409
444
867
194
40
440
24
663
884
873
963
185
277
179
735
76
67
197
698
123
419
436
104
787
28
590
830
695
44
738
360
28
740
240
781
73
880
332
989
784
837
820
273
657
709
75
178
610
101
741
855
861
778
173
111
945
62
649
42
177
761
837
424
795
372
809
999
4
512
146
436
896
833
331
5
985
158
665
951
718
236
393
132
834
275
631
744
930
390
892
857
898
190
749
40
180
4
208
566
939
660
893
585
308
299
994
142
868
458
283
130
357
510
173
114
437
634
915
414
998
656
574
62
108
467
311
977
214
246
871
236
591
379
884
392
387
782
757
601
807
333
466
734
125
240
533
755
239
484
813
378
447
900
528
441
925
99
110
462
207
168
35
602
575
16
814
582
848
310
683
180
561
171
357
567
857
203
420
131
746
942
515
403
543
542
543
351
418
360
506
653
989
107
434
474
793
419
111
938
298
8
943
746
840
43
356
319
492
56
586
446
415
448
579
671
685
629
985
534
931
936
917
362
382
711
226
511
71
389
518
835
30
964
64
683
262
975
25
918
171
16
143
285
914
843
147
947
822
318
665
184
655
821
341
28
937
248
181
101
50
393
939
28
70
340
426
576
549
466
245
123
600
789
378
120
639
709
408
986
127
616
969
268
454
463
136
943
912
154
117
490
321
520
531
687
466
737
8
163
979
261
612
376
650
742
808
64
474
945
320
195
912
372
221
89
945
159
53
724
510
836
580
161
812
691
39
686
836
811
388
521
85
369
96
900
219
334
494
879
803
608
566
544
799
515
311
110
817
699
506
38
350
723
782
466
429
115
394
132
160
136
988
511
606
337
941
46
336
790
596
228
773
985
782
730
137
542
567
12
408
264
109
572
207
569
786
504
940
996
548
160
825
317
568
467
688
767
823
897
518
30
188
178
810
939
11
581
673
259
873
21
532
571
448
261
992
3
939
252
118
496
568
962
917
358
982
144
331
87
246
109
374
843
310
961
376
480
427
727
469
770
45
467
553
267
111
761
980
331
556
945
120
937
976
79
767
272
163
907
94
576
202
14
466
316
286
972
988
607
298
502
75
714
452
608
711
576
969
168
294
590
856
705
134
261
338
932
745
948
382
172
41
627
72
970
412
510
277
29
474
386
202
110
940
758
887
694
695
194
700
997
637
848
146
421
261
742
109
610
302
265
737
100
943
274
777
955
244
387
95
876
492
284
491
36
90
333
690
284
471
433
570
406
270
754
257
880
654
938
721
907
266
454
903
543
729
959
186
421
13
986
259
937
289
753
10
706
42
625
120
817
354
621
463
663
249
344
225
145
907
903
923
610
385
714
127
228
183
553
764
388
647
852
308
323
714
62
61
398
973
814
977
423
338
741
154
878
901
89
230
187
690
641
373
29
119
80
480
208
900
629
480
796
57
709
356
84
482
382
620
403
139
563
474
997
664
333
842
970
559
200
776
764
640
821
480
789
689
528
349
549
478
978
958
100
493
389
908
717
684
115
801
438
547
757
359
514
654
635
926
893
542
176
129
550
497
728
493
863
366
348
186
275
977
383
880
123
149
11
914
919
555
481
573
304
870
494
287
593
779
980
35
113
386
608
2
515
490
473
843
860
17
755
505
557
612
640
640
151
26
401
81
592
481
350
725
802
617
320
444
321
987
441
306
325
327
232
487
556
979
454
732
560
901
752
128
160
707
825
248
285
27
779
431
99
265
323
84
888
554
724
414
314
278
729
909
433
32
227
239
379
338
60
976
700
706
246
686
134
897
818
483
36
326
673
113
766
637
66
978
88
372
873
308
37
530
336
832
768
578
771
914
622
95
632
95
11
853
411
360
753
571
70
295
176
964
109
462
642
21
897
955
160
602
603
130
375
574
929
900
567
687
839
853
242
320
669
654
503
31
305
883
712
580
628
459
835
713
28
305
499
543
611
743
1
791
657
401
442
516
999
65
693
206
259
12
141
264
286
853
2
996
731
786
565
183
401
480
852
178
966
526
88
297
571
474
812
916
176
35
656
318
756
923
610
838
8
153
46
242
925
369
937
614
351
892
422
247
685
744
373
155
982
872
647
857
35
143
507
53
439
455
55
616
272
499
604
123
770
273
643
774
308
446
373
152
55
67
889
701
928
921
696
236
833
14
651
37
743
327
377
300
847
968
859
804
879
275
263
671
734
294
950
975
651
234
302
828
570
216
258
232
756
622
374
670
403
855
821
908
749
151
996
940
168
386
295
351
813
466
194
643
644
992
952
187
114
386
172
598
327
529
955
235
241
299
564
463
375
92
377
59
501
502
386
865
25
902
660
381
110
547
1000
481
107
186
481
871
519
892
683
205
572
978
228
19
419
399
622
739
164
24
543
106
180
496
429
243
633
206
637
496
754
38
503
893
139
169
341
743
300
172
813
472
738
65
89
249
66
767
952
345
89
610
301
461
277
195
525
435
790
862
868
852
65
524
216
79
970
396
695
163
715
418
111
844
49
820
510
653
716
300
109
706
803
784
398
341
429
569
504
170
116
925
765
485
356
940
70
216
92
416
688
770
300
186
230
183
393
46
863
968
927
850
143
936
966
8
600
32
502
715
789
955
543
820
582
885
817
94
385
192
567
58
332
374
584
233
714
812
430
817
613
143
811
380
199
188
175
84
197
399
924
325
804
752
52
458
730
821
667
451
94
580
572
866
632
89
40
609
34
810
960
224
258
787
795
361
367
266
141
218
755
653
267
395
639
892
665
612
345
417
550
155
218
877
206
779
970
723
296
1000
876
555
536
376
527
871
647
432
780
478
112
321
127
361
80
197
959
248
682
534
106
477
177
313
588
980
539
74
731
416
595
318
673
516
328
640
816
676
746
298
961
746
555
577
702
707
973
492
163
649
173
834
301
61
223
519
819
921
913
543
184
529
497
539
395
301
239
147
885
995
601
888
423
957
77
246
912
9
952
997
798
554
713
596
148
309
473
637
535
848
497
930
615
778
846
799
582
948
266
530
798
584
622
755
517
575
608
729
988
481
995
98
222
965
374
756
354
515
219
822
841
254
85
617
701
622
967
730
634
469
117
929
116
858
141
731
534
494
821
872
965
240
893
822
510
604
967
716
945
455
900
807
47
460
152
559
146
907
136
52
343
647
74
230
340
847
682
828
47
145
816
532
934
576
329
45
618
324
526
225
320
961
3
425
640
347
152
463
556
745
276
417
682
75
109
572
601
391
481
395
515
854
39
379
549
462
211
963
794
783
49
495
579
747
209
391
514
337
70
230
573
657
925
494
841
454
245
84
608
596
259
519
131
447
467
964
783
313
256
808
240
360
488
573
84
481
783
326
436
624
228
635
250
960
439
317
510
134
173
889
832
525
239
678
919
107
26
21
929
7
823
811
22
327
990
968
281
114
223
40
771
656
331
263
685
404
449
870
420
913
116
347
956
160
419
645
81
480
277
30
861
138
994
418
229
264
383
519
761
453
157
60
462
867
772
694
902
59
574
928
124
73
942
557
564
591
91
643
602
31
335
29
531
537
912
760
389
733
915
517
584
989
485
403
245
657
184
935
974
454
373
153
39
682
529
98
82
474
614
744
92
654
50
669
732
28
357
362
127
192
247
80
844
966
778
611
129
623
239
108
410
965
558
430
724
132
380
29
975
729
431
526
887
521
431
525
96
446
585
115
75
167
690
772
485
715
921
25
116
43
706
383
783
450
449
458
427
935
484
138
184
487
342
977
399
198
326
657
354
897
408
491
37
668
692
476
369
222
7
315
176
606
743
163
608
140
683
595
859
771
436
434
822
295
24
644
712
993
347
419
839
271
528
3
397
863
583
517
596
954
489
258
472
394
457
517
471
775
172
943
241
773
796
901
115
564
799
41
434
567
46
517
238
5
119
928
780
991
559
34
65
940
568
768
829
111
704
865
414
993
311
692
584
80
705
489
594
267
661
299
793
790
344
322
602
95
660
269
967
537
922
600
301
89
843
169
464
567
138
917
561
965
436
714
225
624
751
362
540
894
538
70
986
846
204
424
597
361
22
973
49
644
573
97
513
770
204
730
954
411
515
850
997
285
532
396
616
180
81
399
673
649
820
683
777
590
562
448
13
955
794
393
847
788
746
836
917
633
982
439
465
108
244
749
901
108
192
738
358
654
765
936
95
899
124
543
348
157
502
109
512
130
873
9
566
696
2
930
302
689
338
33
219
172
189
287
925
534
821
689
489
633
413
769
485
879
318
789
397
813
681
524
641
248
290
390
709
509
465
915
845
633
913
277
224
651
722
663
822
252
100
741
18
173
36
394
538
637
791
192
484
67
10
770
81
42
300
409
238
211
312
624
182
417
722
489
244
853
22
785
327
423
690
769
714
847
163
509
660
237
971
312
632
23
575
693
154
135
710
715
986
289
514
307
726
80
302
321
24
331
628
706
287
817
190
121
137
38
202
760
910
209
99
903
176
992
819
972
577
794
465
442
314
655
823
4
228
817
101
789
763
114
243
304
43
205
348
960
930
482
60
738
189
248
246
561
860
340
966
422
470
951
478
177
30
819
12
168
602
310
131
548
837
188
782
222
56
992
516
851
352
63
999
224
688
166
587
630
186
604
699
559
607
460
718
177
542
300
365
536
988
302
861
421
774
225
676
52
788
110
359
610
64
857
759
690
576
89
920
357
16
841
86
407
922
610
535
835
273
303
416
249
69
417
360
177
479
570
424
765
835
150
813
385
167
423
915
44
944
913
434
294
413
239
756
558
264
893
253
394
322
632
936
230
643
244
694
563
702
468
394
400
302
753
293
5
487
354
496
625
997
998
736
949
747
970
327
482
404
9
994
913
374
861
178
800
434
653
573
577
769
546
874
998
437
247
151
565
109
62
847
454
498
121
112
693
42
299
84
85
286
136
766
486
865
754
357
552
164
378
246
1
550
546
374
784
508
535
384
270
168
828
743
729
457
676
58
912
571
941
902
520
536
437
795
702
386
933
400
474
869
837
644
174
684
306
181
604
936
233
593
527
881
96
756
572
77
126
42
408
708
664
427
249
213
825
108
367
350
798
928
322
466
209
779
27
56
989
155
611
670
56
190
281
833
11
867
26
945
697
530
58
28
149
499
347
816
979
366
466
901
691
495
240
571
761
388
355
516
569
786
194
823
457
854
609
518
222
328
302
472
338
252
710
650
93
832
65
539
598
945
379
77
325
83
630
566
419
826
350
854
558
492
167
547
515
244
563
119
918
782
279
589
912
728
341
842
570
938
639
776
924
275
349
217
441
836
281
917
596
217
376
26
991
175
205
164
72
952
255
548
126
622
245
689
651
33
462
864
632
305
351
874
498
413
196
627
736
50
733
739
269
845
1000
624
654
17
523
550
122
714
204
731
254
610
900
816
855
821
764
73
172
825
837
140
173
887
283
487
28
416
906
617
300
801
268
602
570
537
816
757
444
867
921
144
884
736
600
112
843
593
30
265
24
468
645
95
380
772
733
15
677
505
968
672
13
878
234
251
725
889
440
899
498
57
756
599
818
335
855
505
151
222
282
278
321
212
47
980
639
24
892
876
249
508
457
877
20
717
741
417
53
417
848
282
554
198
984
281
372
454
76
654
987
718
188
837
107
217
99
507
320
65
49
847
442
226
655
626
296
204
445
981
667
455
276
779
87
677
146
33
915
459
571
142
923
251
713
659
184
252
949
870
659
614
398
722
251
312
209
549
504
113
96
580
340
378
673
466
409
816
645
894
672
908
794
917
854
422
23
795
229
374
397
995
18
773
256
479
385
755
3
583
567
1
65
579
237
904
892
496
559
579
578
882
757
658
840
983
193
784
640
230
139
852
704
46
399
355
529
687
942
622
281
288
501
357
124
298
894
649
119
233
444
527
837
33
476
234
194
345
323
609
843
736
649
347
653
182
207
472
425
169
322
47
19
412
482
995
472
482
453
924
559
631
219
28
440
685
869
440
727
201
296
914
321
964
178
334
857
559
260
365
424
915
398
472
544
712
174
700
17
29
142
790
375
863
932
718
131
18
497
226
943
382
783
726
81
800
944
785
320
587
56
488
491
238
937
134
411
19
307
122
899
959
6
358
865
201
408
203
214
834
498
799
477
49
278
606
593
955
316
90
247
433
282
842
541
189
266
802
521
557
500
925
274
639
887
343
901
147
387
23
644
598
870
992
841
630
543
418
202
822
419
236
100
777
579
555
159
220
192
773
496
507
333
181
336
261
661
861
616
811
915
855
375
722
20
874
420
16
310
352
776
571
994
234
911
819
553
719
561
88
171
106
299
828
679
12
604
559
712
488
332
544
974
974
942
104
559
614
723
1
234
190
612
494
505
798
841
530
40
470
813
24
729
111
107
326
274
491
440
787
668
554
751
813
380
960
306
909
343
601
877
978
89
830
587
611
491
266
990
157
615
322
295
140
126
92
432
965
542
785
836
939
382
702
384
337
911
658
946
610
768
800
373
877
221
57
561
513
176
781
454
982
360
750
418
89
280
334
496
439
676
549
437
229
164
684
240
461
701
381
197
270
314
374
66
360
246
559
36
463
324
719
637
323
870
22
589
981
933
340
849
989
955
575
823
807
259
416
759
790
877
375
843
83
340
543
422
264
3
203
50
744
345
361
811
792
522
286
430
538
70
326
245
469
326
685
34
738
583
277
996
66
442
519
957
155
127
699
12
290
751
552
340
259
655
825
923
796
984
896
236
510
591
955
760
666
225
875
351
224
700
664
55
302
419
291
989
544
172
774
261
949
624
637
738
375
278
237
657
294
980
2
700
335
226
327
168
862
654
715
321
75
58
794
777
157
235
971
113
545
729
850
446
753
324
977
827
30
704
163
741
803
298
379
873
48
706
222
561
658
506
992
40
439
468
750
670
567
359
99
813
225
611
24
943
657
77
850
846
72
996
283
511
652
60
512
382
444
180
586
220
37
141
604
677
768
834
790
96
629
191
187
725
209
225
525
720
752
833
813
841
865
146
319
714
485
229
926
896
488
890
270
741
684
208
709
255
48
137
895
706
726
198
670
728
718
870
74
91
206
712
471
68
133
682
212
576
20
373
772
839
980
80
20
401
549
726
117
679
268
665
570
124
908
303
124
285
856
283
503
706
460
708
502
649
64
523
545
102
49
679
660
360
460
174
717
788
671
402
938
12
148
496
898
881
525
523
713
34
141
428
616
803
665
638
921
473
651
88
225
645
696
216
740
546
372
191
868
665
240
212
476
7
108
229
842
600
103
854
906
628
298
544
302
704
379
343
608
349
297
649
408
707
923
443
37
888
477
412
338
97
916
223
376
881
494
961
793
430
475
414
430
826
288
437
904
561
507
136
72
411
662
941
674
5
279
979
31
1000
513
304
348
823
397
670
18
348
54
527
376
732
161
823
478
835
601
26
831
353
494
504
475
772
759
17
453
778
913
611
496
579
103
685
710
874
237
281
164
895
657
975
500
12
1000
848
170
899
786
132
418
134
769
59
902
423
308
351
709
346
823
556
574
626
920
143
316
452
910
850
852
308
268
297
660
108
26
288
260
142
242
529
49
530
432
735
881
392
327
201
857
921
362
977
117
910
97
709
878
43
132
65
541
455
175
416
489
620
602
110
91
655
252
233
512
486
205
242
152
144
989
211
945
666
996
743
266
682
888
770
918
799
425
582
509
311
458
413
556
600
795
839
808
843
268
46
622
262
616
763
693
234
715
269
81
3
305
444
281
645
579
243
5
153
935
349
499
238
715
8
427
482
10
194
811
8
451
353
77
682
447
906
982
210
524
612
110
175
238
652
630
165
649
991
247
692
502
185
608
511
37
294
956
271
871
978
467
199
450
163
577
629
421
904
525
772
631
184
536
56
621
433
318
740
182
493
29
282
973
599
442
100
229
719
843
973
343
213
66
293
448
404
190
794
153
65
625
166
299
243
705
206
909
113
472
717
526
762
2
438
772
873
504
695
282
313
436
282
123
529
28
345
440
469
961
671
333
473
397
845
934
213
228
188
195
286
172
252
208
517
322
946
719
379
843
986
103
174
780
515
260
802
366
170
770
5
780
806
174
935
47
369
433
798
660
118
457
81
537
534
89
598
142
737
92
162
948
191
483
198
918
795
42
41
385
191
924
961
494
295
102
187
386
558
787
332
424
484
71
672
53
242
784
637
346
5
952
757
895
834
324
58
449
487
121
527
651
528
557
883
274
525
700
336
602
896
926
387
990
201
563
43
161
269
313
975
543
584
702
274
742
774
108
442
322
882
895
198
190
336
785
454
227
181
900
570
284
187
819
632
301
920
612
998
90
682
21
836
305
566
911
712
174
482
627
525
892
132
139
291
950
399
720
288
261
482
423
99
687
453
822
935
449
587
306
424
936
940
733
740
655
176
379
544
398
570
951
709
222
433
882
223
509
968
254
979
199
687
476
363
257
91
277
725
605
258
650
808
997
361
169
175
807
893
454
538
290
572
657
599
632
462
540
737
33
855
98
389
143
838
691
475
399
275
360
594
192
152
314
993
357
836
601
516
155
821
599
830
789
966
296
238
503
58
294
284
481
772
67
197
91
758
317
928
498
611
181
154
311
963
646
196
718
794
770
191
514
312
210
254
545
460
122
586
330
161
719
661
69
921
615
689
796
296
664
539
190
38
132
146
423
423
922
268
483
422
42
105
607
840
684
913
810
514
65
253
20
994
666
900
971
837
622
804
885
829
795
654
884
982
485
793
271
104
849
208
90
126
820
305
805
117
737
8
590
121
952
478
446
498
392
409
284
477
433
426
222
3
470
597
527
762
242
411
59
486
327
925
593
248
208
900
116
475
969
908
34
837
983
364
249
16
937
351
228
562
137
932
519
733
333
366
633
237
230
260
878
260
446
251
499
36
920
231
427
476
682
482
82
54
453
358
889
228
758
291
614
167
112
982
206
454
362
590
545
718
457
653
383
891
747
203
844
853
440
288
987
796
949
667
364
535
727
979
948
336
604
79
542
562
803
563
542
608
555
726
960
114
701
315
719
428
723
497
533
648
436
381
154
337
931
300
338
188
463
806
679
499
651
986
365
304
763
286
977
403
876
507
702
337
368
986
698
559
576
310
920
670
418
57
378
607
442
189
693
95
86
705
811
517
878
96
896
576
940
928
771
802
445
645
734
959
582
276
229
928
220
291
642
435
652
270
443
336
769
437
990
791
511
311
598
762
698
943
865
778
208
225
857
770
982
781
439
111
543
778
988
687
538
827
699
937
320
800
956
352
740
21
560
792
117
760
123
371
841
394
629
369
158
918
950
777
501
685
132
639
116
418
352
310
885
554
791
123
930
923
88
702
37
617
647
373
971
669
850
671
477
793
125
957
132
45
921
540
247
704
835
504
687
63
570
653
846
119
899
598
979
326
558
22
768
671
806
597
300
371
421
872
602
345
86
642
509
488
402
22
894
467
297
439
256
380
194
261
235
195
118
601
863
281
879
162
284
729
546
594
217
394
715
995
667
754
491
601
242
763
655
677
984
830
263
853
792
941
752
928
357
739
740
213
39
60
842
57
242
8
228
86
694
190
145
59
455
111
278
937
644
66
687
951
623
79
995
979
825
576
680
509
508
511
590
827
433
608
257
849
928
226
209
171
784
123
208
519
213
34
301
763
423
568
609
26
416
380
43
282
301
987
492
976
730
833
602
862
108
457
945
259
821
673
239
343
97
694
295
945
32
52
537
545
970
955
258
817
670
478
267
111
673
596
212
731
820
600
659
731
167
898
971
210
410
536
103
781
520
25
732
958
476
244
545
694
893
228
55
220
826
650
105
601
257
658
48
163
579
546
674
53
919
400
141
695
265
479
520
868
196
591
91
417
462
127
173
407
806
742
120
611
159
901
93
829
828
615
321
459
323
758
920
123
291
278
733
907
351
464
290
973
742
202
736
853
390
795
516
756
361
502
641
589
716
418
639
215
465
700
639
663
632
433
617
625
485
613
494
602
595
827
682
480
728
231
627
151
524
304
127
28
538
705
482
974
511
267
40
177
658
798
328
986
360
896
763
600
891
418
875
728
706
602
89
67
396
99
371
486
621
312
471
320
180
538
52
60
963
346
755
32
646
549
102
365
887
859
217
659
251
62
519
294
241
101
916
230
636
6
525
510
809
966
634
376
779
216
416
101
597
585
923
152
24
707
997
272
623
938
33
452
66
934
5
492
923
734
730
66
210
910
147
782
720
38
282
679
510
284
660
70
975
393
137
366
590
744
543
777
765
409
43
382
257
365
833
69
207
85
653
300
224
762
595
456
869
316
871
793
521
152
510
647
899
362
461
612
439
707
193
851
304
230
687
569
82
797
664
953
98
240
9
561
852
983
586
215
282
239
99
951
465
895
187
469
847
215
702
844
318
328
999
934
273
294
100
70
289
198
812
117
221
360
218
913
311
201
489
455
379
784
620
899
292
295
529
631
666
6
931
182
220
374
538
737
258
948
445
343
534
738
981
709
133
506
945
634
83
227
884
718
101
609
999
985
277
135
354
427
518
574
253
317
236
258
90
305
152
754
491
962
37
699
254
421
896
716
491
240
391
291
358
380
291
433
921
499
315
744
70
349
67
236
826
161
649
896
66
328
156
501
453
581
498
653
331
109
889
328
440
768
920
518
561
584
325
681
648
267
449
789
544
337
926
745
136
757
288
809
680
698
40
470
67
156
253
875
24
669
882
557
556
302
790
667
507
422
990
366
728
490
661
320
214
273
348
484
512
425
124
485
880
318
641
941
933
405
690
13
989
155
345
319
928
753
784
106
123
375
615
230
954
831
909
64
454
729
167
921
900
172
119
981
525
164
624
965
88
526
904
9
721
156
24
306
364
883
817
45
54
993
451
131
568
764
409
969
187
962
991
305
882
339
322
782
810
595
483
366
844
163
617
266
789
413
752
314
38
589
663
19
714
831
299
679
724
158
173
997
752
166
647
619
947
508
223
906
941
910
799
13
874
620
331
67
327
693
520
813
384
428
926
619
585
633
394
128
192
120
797
171
15
965
868
780
13
657
348
261
66
157
741
327
537
331
742
245
776
914
792
777
245
397
264
472
773
769
530
507
321
86
494
864
735
161
242
88
194
557
108
251
448
196
823
45
469
570
402
101
867
513
74
759
263
957
866
475
807
917
442
14
239
163
382
346
178
731
398
926
824
432
897
635
896
8
910
234
409
423
631
575
867
67
731
211
530
320
171
273
692
998
439
652
320
718
22
580
983
74
452
711
726
859
444
629
436
251
472
554
289
998
674
661
64
173
55
65
481
967
845
994
210
361
277
113
884
218
198
262
271
509
701
97
731
922
407
267
244
73
88
766
561
896
116
79
506
560
579
555
37
434
2
227
471
217
296
922
163
324
959
114
16
23
560
419
451
615
225
3
816
170
200
502
784
922
542
193
993
468
651
295
5
337
680
257
718
326
795
818
501
230
905
435
655
263
759
397
300
495
215
571
401
98
122
271
456
55
447
182
316
267
244
601
722
652
564
543
375
928
663
397
817
252
718
887
952
790
783
88
762
588
923
90
676
828
291
727
93
660
400
455
744
330
28
67
950
240
956
454
350
930
262
998
313
673
954
544
116
570
567
81
911
537
718
421
669
560
772
178
570
959
452
322
763
155
686
392
21
630
7
243
588
338
551
838
430
829
75
182
161
727
434
952
186
12
645
771
941
781
16
349
698
742
798
914
70
738
483
454
232
43
182
288
872
946
472
406
56
456
738
829
522
533
293
963
406
356
522
555
10
574
863
397
57
332
689
350
805
193
79
633
494
673
987
565
874
266
576
93
985
273
328
551
921
661
76
8
46
496
289
496
26
176
794
174
81
808
594
158
48
625
602
392
223
215
944
383
456
716
903
86
627
829
748
504
478
679
433
820
751
90
604
986
704
793
442
734
394
463
607
942
552
252
962
96
490
643
814
369
226
52
115
501
960
592
452
220
77
801
676
418
114
934
698
689
494
653
342
103
384
523
114
302
735
780
419
90
411
238
69
690
335
54
872
774
746
290
733
158
981
876
967
806
689
613
466
402
10
321
937
287
47
114
698
2
921
18
399
24
799
865
616
546
531
459
464
299
981
500
256
494
694
645
765
922
269
406
821
156
710
255
834
538
60
477
305
391
824
758
564
430
54
505
772
892
459
149
692
312
609
490
851
165
78
231
515
846
398
438
290
576
817
618
308
862
122
431
654
69
294
893
130
542
311
30
488
424
218
582
993
32
479
313
540
166
715
887
592
239
151
87
865
488
500
334
57
786
532
93
896
809
299
787
430
377
835
233
820
810
154
479
827
47
549
141
831
88
523
996
494
53
147
631
98
773
301
402
208
371
24
843
527
723
171
904
735
57
668
106
655
171
920
755
301
954
348
862
250
921
618
318
282
475
821
157
453
474
807
454
569
470
849
535
549
685
91
671
321
386
522
367
683
812
773
709
52
242
684
918
126
87
430
483
274
130
950
709
904
154
582
562
137
244
109
972
881
993
830
608
784
671
926
241
622
204
127
453
375
436
600
397
632
744
70
740
989
530
414
699
782
499
343
301
851
927
341
612
19
297
737
696
611
805
621
485
692
216
357
602
605
479
582
373
68
323
935
958
335
775
226
551
874
181
383
56
599
833
347
541
949
760
980
1000
994
583
206
670
336
595
846
204
744
374
20
495
395
325
585
867
55
502
795
612
773
957
252
586
469
624
279
685
307
481
34
540
901
285
34
706
196
699
291
926
344
69
911
832
27
365
846
559
420
89
452
302
478
29
681
827
257
818
972
276
791
165
420
417
390
495
354
623
337
477
251
490
636
594
824
962
860
465
180
232
167
98
218
516
237
651
761
955
224
556
526
572
821
38
696
178
176
182
713
596
718
701
955
356
907
454
99
310
566
599
301
192
697
982
823
281
651
985
367
699
93
613
141
817
450
18
693
446
454
21
594
227
918
449
346
658
134
259
315
743
121
485
32
95
511
32
981
655
21
206
838
893
312
660
197
459
527
135
9
786
958
968
319
71
110
833
389
385
862
617
988
410
597
631
426
446
908
580
904
885
946
861
901
292
557
775
590
618
105
199
744
830
287
90
187
417
282
984
617
821
334
271
539
829
198
627
130
347
927
442
80
807
172
471
849
628
482
212
313
799
108
717
490
648
465
633
877
311
712
282
940
226
870
486
492
233
540
693
993
492
534
628
288
499
692
394
968
923
731
406
290
860
233
67
574
372
763
355
87
840
692
835
689
771
498
685
941
159
196
466
938
418
70
286
870
188
90
925
213
43
188
242
459
225
121
910
541
65
765
95
433
657
503
217
924
722
835
341
252
286
474
51
70
995
942
903
253
398
147
657
136
513
482
563
104
354
759
867
899
845
685
600
594
761
635
441
983
877
213
109
22
530
459
312
45
182
564
755
717
359
684
85
60
575
746
936
440
452
150
429
105
257
936
602
708
524
264
198
283
248
65
220
291
383
297
414
682
17
549
611
417
656
661
464
509
497
617
661
443
445
217
135
804
895
943
141
15
970
973
333
373
998
547
112
994
502
729
619
827
867
154
677
655
134
528
913
883
130
493
40
936
185
968
983
323
274
217
142
757
304
729
579
236
622
425
325
674
555
882
331
467
923
972
801
397
51
823
775
386
723
40
883
920
923
904
105
402
950
668
238
317
688
102
538
840
387
202
631
438
305
299
389
97
953
871
921
45
482
20
219
201
980
942
274
159
23
685
681
191
897
171
847
623
272
743
914
941
9
497
429
162
956
232
609
330
290
190
767
459
972
626
102
918
367
910
583
11
927
37
113
486
124
388
498
785
473
107
991
131
596
676
377
957
742
172
581
767
87
179
809
227
438
534
70
209
676
936
729
510
370
913
440
217
549
833
402
996
497
421
368
145
826
731
282
867
768
639
710
103
810
695
458
184
325
618
919
759
831
796
692
705
850
908
8
189
123
189
282
676
126
918
937
410
385
413
240
837
100
215
514
500
985
139
517
181
6
582
196
438
951
808
279
235
337
916
390
72
198
875
447
867
740
299
117
847
650
606
18
911
108
834
162
195
198
652
880
113
438
60
62
730
656
833
130
167
246
42
553
639
153
864
114
878
599
467
336
923
625
964
697
699
54
316
275
369
338
559
483
179
65
963
394
409
629
534
986
78
648
767
280
254
265
753
987
183
368
493
759
951
123
785
557
80
935
152
964
257
98
55
503
412
970
81
143
468
424
877
202
389
739
353
835
615
828
76
81
564
899
844
274
646
206
143
217
159
572
542
127
513
720
154
812
443
279
926
938
292
527
891
507
944
551
509
885
738
530
873
796
507
256
856
718
921
862
268
19
480
953
680
992
828
992
879
672
525
815
837
947
87
664
666
16
848
924
299
668
203
71
509
244
850
996
455
365
945
944
178
669
480
823
292
911
790
494
704
687
803
1000
322
981
558
364
613
497
548
718
306
411
636
37
739
825
673
694
134
651
439
357
554
124
198
523
420
406
1
98
244
5
831
9
663
849
832
763
969
879
164
279
39
2
453
23
27
46
450
727
174
159
232
487
874
726
232
83
458
457
438
715
202
768
348
173
761
966
640
669
547
19
76
156
600
905
849
3
114
606
439
295
119
852
61
887
791
598
950
562
440
54
73
288
561
808
297
635
234
209
737
867
748
711
753
67
590
330
35
952
831
712
333
705
502
550
621
217
765
272
946
641
575
985
729
42
22
604
90
248
770
26
586
683
810
950
840
112
272
655
730
720
174
661
148
897
812
663
872
421
939
585
746
457
33
883
203
982
700
476
138
732
719
788
279
790
314
445
486
243
981
91
896
152
614
661
378
224
724
177
585
165
273
809
770
704
982
517
623
639
64
38
614
79
948
399
716
269
943
383
933
977
790
602
733
464
667
907
381
476
571
877
146
523
920
47
539
965
873
339
69
65
135
899
475
200
935
148
35
918
481
438
344
362
412
76
914
860
714
908
33
165
65
836
609
908
860
862
129
308
977
278
429
85
919
610
735
836
122
824
281
815
70
38
888
195
372
743
75
404
65
60
615
46
274
142
997
261
777
174
886
122
170
780
523
787
108
870
984
704
508
61
340
120
720
875
74
485
409
840
556
150
278
473
967
901
844
883
852
481
190
388
376
216
972
106
458
276
19
969
158
907
503
955
112
143
54
668
331
169
142
538
388
502
725
46
878
566
473
374
39
114
832
789
602
150
830
876
249
669
784
493
560
583
24
913
941
647
322
176
845
82
980
102
535
849
411
788
732
208
633
643
797
283
280
177
452
832
653
858
679
338
797
272
130
810
843
765
286
414
650
462
640
166
282
317
379
424
41
402
406
852
547
157
41
875
838
755
417
359
604
18
416
414
403
584
967
757
190
115
654
46
548
402
908
943
770
153
463
438
336
100
413
164
410
810
912
978
661
265
540
104
130
812
377
526
841
599
98
91
594
951
774
34
665
452
598
224
190
685
481
444
603
686
299
476
863
151
583
560
140
378
632
61
252
726
339
807
440
84
500
628
988
502
22
61
791
659
244
80
222
264
513
962
549
878
288
63
719
863
305
408
530
333
724
431
99
78
809
134
54
351
367
237
56
342
102
562
113
923
53
57
640
931
516
351
352
884
178
676
932
499
713
312
828
820
776
467
695
54
131
628
762
458
636
994
831
747
968
539
724
510
231
638
726
91
67
931
975
224
484
315
825
462
376
497
907
121
640
566
995
4
858
401
805
660
753
582
543
303
5
614
371
815
573
963
931
429
347
355
736
811
839
262
561
235
602
311
893
498
261
602
172
992
361
553
781
107
695
948
719
761
453
342
466
375
291
795
783
81
382
232
125
271
633
355
868
862
483
155
795
828
140
527
151
580
694
417
87
797
241
206
532
144
85
769
335
131
100
731
51
51
533
995
870
522
913
521
12
685
202
674
386
494
40
204
397
880
711
60
613
773
492
790
398
103
133
245
730
941
550
674
156
879
236
30
253
597
526
550
22
317
586
186
332
520
942
503
950
843
425
28
678
575
641
853
825
524
466
479
577
343
609
544
828
565
990
42
684
718
518
125
160
879
902
368
572
960
259
636
713
808
629
342
232
941
995
928
513
384
14
851
985
567
497
246
26
733
595
679
510
625
774
103
651
482
914
194
948
538
287
754
986
289
755
746
290
756
244
825
700
859
449
970
500
798
765
886
88
51
643
407
89
149
919
37
647
954
182
113
87
528
919
786
252
25
991
204
629
253
983
788
764
676
108
488
609
690
634
237
152
902
258
626
102
36
459
961
462
826
614
490
525
902
598
527
217
272
643
649
729
460
480
898
70
726
172
153
496
127
574
453
811
300
84
48
126
24
181
415
37
561
271
287
94
709
530
981
89
346
751
976
966
905
700
722
67
916
91
124
46
234
138
37
26
60
524
316
446
168
794
722
668
34
413
998
546
719
136
952
122
417
955
294
53
566
571
222
639
274
263
528
101
644
45
53
287
220
229
875
126
415
828
520
976
270
804
834
439
306
765
886
396
555
603
418
732
64
510
906
703
311
958
268
964
9
514
599
25
706
839
100
326
428
778
538
135
416
267
159
260
589
651
958
858
22
122
619
722
123
190
230
58
622
497
88
152
762
845
515
274
250
971
658
866
664
498
624
344
979
478
172
810
817
119
415
604
815
631
622
902
263
559
255
482
747
678
876
406
128
253
354
576
565
459
141
48
695
851
24
548
308
24
841
830
9
46
170
417
464
800
850
762
754
115
546
83
274
453
230
942
391
951
595
151
756
842
930
721
788
599
911
415
319
704
94
887
841
565
636
554
72
971
924
90
815
424
327
894
197
854
261
955
403
485
111
302
998
104
321
599
727
553
163
558
484
79
244
496
782
28
823
780
609
518
408
916
64
889
886
726
521
169
659
378
349
313
883
77
446
663
895
827
888
966
390
11
59
272
680
506
486
209
675
655
460
464
807
707
218
773
225
265
120
374
997
882
758
641
966
185
409
611
144
801
567
178
214
947
562
26
802
726
423
766
663
72
214
342
815
803
44
470
968
418
845
801
293
135
767
505
708
148
769
204
337
233
552
515
796
659
512
998
200
808
774
946
625
41
711
313
809
117
558
23
508
917
875
73
823
306
632
104
209
722
647
597
648
469
951
431
615
777
405
318
96
375
564
546
857
725
336
527
600
71
478
896
418
161
331
275
172
816
494
383
45
549
326
839
522
57
264
904
498
747
946
386
21
402
49
119
452
727
559
740
427
794
919
993
97
321
124
385
553
350
387
867
227
77
417
108
304
565
713
84
894
551
532
925
756
843
359
431
896
627
737
176
206
557
349
931
677
685
68
947
360
104
505
742
421
714
278
204
106
645
810
184
406
682
984
283
513
515
380
171
901
765
147
642
25
476
786
560
176
257
235
1
982
296
712
190
413
243
683
282
929
356
189
632
569
366
524
985
370
226
894
910
503
281
291
893
894
442
248
731
903
606
559
257
857
919
306
971
822
481
744
849
40
725
680
459
877
41
13
534
956
153
969
306
400
398
432
245
740
323
454
318
107
964
695
524
789
745
32
256
71
192
75
998
589
570
630
951
61
73
427
463
386
477
592
563
541
962
390
441
653
404
776
492
884
578
125
386
500
579
342
710
598
248
215
900
481
563
481
540
620
735
591
638
445
255
559
140
970
222
590
764
387
75
434
234
328
303
512
127
447
767
913
826
324
38
296
540
503
551
598
952
595
428
162
808
22
560
615
710
914
873
350
400
102
779
953
113
937
455
312
912
873
949
402
507
369
131
959
711
691
121
338
602
603
158
854
408
797
850
838
364
128
336
429
56
367
203
857
301
264
908
622
209
125
63
466
897
17
187
528
248
955
418
381
238
109
255
927
610
172
607
278
73
479
300
817
821
401
717
624
847
821
443
296
469
209
602
22
470
934
117
424
521
949
212
303
840
959
349
917
624
458
211
845
394
795
502
785
279
574
71
882
197
232
346
294
50
601
118
759
357
628
497
838
174
195
218
398
762
158
594
611
251
310
73
447
427
949
769
174
880
152
334
863
962
637
257
293
397
303
976
900
931
172
224
647
112
454
658
759
128
895
142
286
687
409
15
378
28
202
300
939
546
296
89
102
941
345
270
539
466
159
359
217
642
167
433
584
742
348
85
599
480
825
866
189
569
398
897
953
260
798
203
947
541
309
871
384
392
739
280
960
404
410
525
292
95
956
653
659
463
234
443
829
671
594
331
264
282
69
498
399
107
798
284
15
582
130
868
949
550
425
580
515
472
505
310
31
391
92
223
823
402
321
393
880
10
620
23
139
507
793
649
992
428
174
78
210
206
84
852
941
398
639
714
806
222
159
882
426
700
51
949
891
408
49
872
781
661
122
817
353
27
207
608
442
167
150
139
389
381
878
381
104
691
899
573
931
927
665
748
566
104
205
17
712
286
706
916
482
286
393
705
841
774
150
695
534
810
795
576
994
374
851
236
740
221
911
743
594
258
453
9
904
672
27
154
584
291
301
726
432
939
336
769
664
135
844
167
14
95
858
837
97
861
463
115
899
343
716
104
457
203
897
862
764
798
567
38
923
864
687
983
402
216
237
402
988
500
332
351
729
967
865
747
691
296
54
576
841
741
100
681
751
255
378
357
110
781
160
963
188
623
935
419
559
646
793
782
320
67
160
22
10
789
455
794
239
521
828
229
725
451
245
741
129
831
594
404
552
661
398
743
42
602
951
632
796
339
393
600
986
892
314
35
315
796
974
662
461
633
113
177
567
131
629
138
774
949
113
23
615
298
341
882
776
739
352
154
301
880
647
28
866
189
402
204
112
809
314
24
386
97
847
711
438
580
185
919
754
161
191
852
247
711
987
978
976
617
588
769
388
478
160
947
370
888
90
430
20
188
6
569
638
111
331
248
911
512
700
167
631
721
827
902
586
653
983
386
444
452
310
79
568
355
566
417
675
428
787
84
196
40
558
296
986
220
226
530
765
574
471
101
316
20
72
560
966
451
597
131
363
334
999
323
875
399
799
404
201
818
579
635
972
680
47
48
135
178
798
60
936
615
207
426
174
257
594
847
188
86
926
69
722
712
832
443
443
54
630
751
349
930
413
529
743
339
961
294
771
68
416
799
712
211
181
930
385
367
478
919
26
526
370
294
977
139
806
402
331
467
439
402
476
57
532
323
105
119
288
172
854
659
300
104
190
431
637
333
543
201
295
825
994
310
341
806
977
258
112
753
596
886
244
879
131
712
160
58
241
203
858
768
163
26
515
925
968
860
439
386
520
948
406
510
355
378
235
415
129
42
753
452
618
301
982
1
535
682
436
897
562
311
935
658
89
412
222
245
105
870
979
220
569
815
525
71
389
160
641
908
820
281
421
929
681
344
37
859
310
325
600
997
591
413
52
692
680
342
173
771
313
138
325
944
679
952
525
262
899
903
814
455
83
325
615
407
790
431
15
41
466
127
424
647
104
681
111
28
933
987
458
879
410
418
629
494
185
631
501
247
978
256
385
276
516
73
16
464
751
160
775
105
626
502
901
639
516
700
715
422
341
781
503
806
22
563
778
730
621
671
76
607
22
106
329
546
453
207
105
853
496
955
708
303
512
843
177
907
518
926
766
761
684
280
315
90
530
792
298
787
829
113
964
594
991
656
181
561
382
688
41
573
657
961
263
552
675
823
736
397
966
395
299
850
75
283
983
266
273
213
506
674
314
151
779
637
921
761
504
145
614
491
778
179
392
193
727
663
476
949
834
207
19
677
581
451
252
190
419
805
996
595
916
119
852
306
91
95
688
511
600
316
201
596
439
357
459
926
253
808
318
363
186
960
524
89
443
563
125
620
363
309
553
383
889
671
345
853
740
262
23
63
478
192
107
227
938
735
543
346
137
249
129
893
897
437
657
149
876
963
566
275
622
951
854
976
540
47
925
499
394
625
770
724
72
155
626
342
853
955
830
441
349
310
88
355
648
453
811
287
873
993
455
50
574
170
66
239
887
733
318
307
359
363
401
286
705
263
48
369
545
988
831
149
309
598
614
105
134
993
728
802
515
592
976
406
909
611
65
282
259
829
441
876
635
109
778
605
804
910
584
198
535
701
462
756
916
481
592
841
741
587
895
67
316
584
157
975
631
319
135
475
945
150
268
766
232
949
170
439
865
733
529
422
122
676
362
533
827
809
856
654
490
942
174
993
811
214
665
429
302
180
917
719
100
573
927
175
725
680
508
526
674
783
685
823
255
279
475
642
983
888
921
332
213
822
695
731
400
936
855
595
541
615
611
969
899
640
63
867
63
315
903
923
767
925
28
112
658
972
870
274
392
703
964
908
993
176
993
636
435
446
54
816
769
522
426
2
937
400
444
346
633
835
408
581
148
508
628
918
200
883
820
47
151
394
55
463
846
520
390
468
565
971
114
568
208
466
280
440
886
512
814
285
565
198
29
187
256
270
815
29
518
628
124
653
730
978
640
182
656
565
643
857
322
803
202
323
127
126
748
17
394
593
1
202
293
589
991
238
178
503
603
880
887
371
686
751
497
321
269
649
361
99
822
5
966
84
845
663
341
982
266
104
244
816
275
388
368
930
247
382
120
462
356
292
346
144
337
114
499
364
582
403
386
116
452
648
574
848
222
646
954
262
580
475
753
759
954
81
510
632
240
997
116
27
705
462
66
418
909
23
486
598
538
740
329
194
902
264
381
301
711
417
359
131
443
331
425
504
257
895
926
600
923
22
998
615
721
202
975
914
567
916
193
782
897
761
892
129
20
529
371
359
680
78
486
136
570
567
858
985
415
496
863
488
12
46
612
339
333
428
627
677
375
279
869
923
948
680
72
810
21
23
116
435
533
794
297
897
835
298
895
585
26
531
423
205
505
636
281
421
993
899
329
389
128
793
52
496
498
367
588
354
626
196
871
474
4
164
533
49
722
624
27
989
660
799
617
667
445
920
525
850
601
208
507
936
426
733
598
918
96
161
573
480
451
565
911
241
698
835
713
437
25
651
45
279
718
685
680
807
926
424
24
300
668
18
332
229
995
608
961
273
519
910
501
144
639
184
124
854
889
360
379
553
799
766
950
283
534
830
625
824
366
152
832
283
741
554
593
269
269
60
723
285
501
281
379
418
754
340
850
575
562
321
595
234
561
154
95
176
737
63
58
693
8
918
847
564
66
343
815
463
208
10
366
539
715
309
176
617
916
522
973
839
707
685
691
602
737
569
601
325
854
577
234
916
695
933
526
825
511
200
634
195
380
49
307
961
7
198
511
681
187
619
262
548
861
426
264
257
365
353
1
391
167
351
369
528
872
633
847
569
735
469
418
642
282
90
172
534
872
375
585
805
215
386
960
600
907
381
423
717
43
711
145
675
820
832
196
354
854
767
530
289
602
513
141
837
914
258
327
277
191
790
367
320
111
147
629
683
112
372
286
114
132
226
359
719
176
860
778
511
339
727
500
872
859
453
502
995
608
38
654
466
211
466
29
817
599
758
236
301
426
566
725
135
205
633
839
154
421
846
567
165
170
130
601
265
43
154
299
73
103
671
582
111
772
306
629
537
393
809
495
71
23
90
370
211
745
841
315
797
423
196
712
534
344
653
566
385
662
470
51
590
866
798
361
674
795
139
49
991
842
84
462
250
95
894
848
967
100
198
943
1000
837
988
620
144
283
119
232
279
606
729
868
696
672
356
596
47
9
26
172
845
814
273
370
528
898
869
284
906
676
16
469
250
463
903
764
334
336
822
2
537
818
475
578
485
426
726
23
776
936
810
327
51
836
925
722
58
43
208
48
358
396
340
624
19
850
397
747
11
552
117
566
950
215
452
93
569
240
122
533
530
117
918
965
221
478
658
634
750
42
20
753
667
393
968
782
859
154
129
603
653
686
251
862
425
853
852
35
887
757
243
457
831
600
411
598
264
995
618
423
797
104
198
498
637
963
725
862
750
245
640
367
568
463
445
295
142
350
795
608
781
726
168
91
22
666
290
983
261
213
184
449
470
171
527
369
225
766
978
481
706
64
278
876
394
93
226
203
971
553
75
718
306
829
497
474
494
814
44
553
598
666
930
205
150
224
56
187
480
275
410
359
615
224
373
833
858
31
16
570
126
455
147
345
804
756
751
418
159
991
451
107
341
983
829
659
615
814
705
499
736
475
39
968
341
875
666
115
775
992
956
996
81
370
365
169
716
527
13
785
172
74
636
743
873
528
714
844
575
867
134
832
59
818
490
441
74
805
987
335
313
211
996
909
731
344
472
436
650
71
830
16
907
598
364
38
768
289
985
700
460
721
856
185
933
415
517
721
929
794
179
648
487
958
226
30
800
831
340
88
703
50
352
907
179
745
600
490
924
8
566
162
455
422
600
781
205
496
766
968
789
229
276
811
921
300
457
96
504
605
961
125
24
932
732
642
717
568
304
196
940
578
117
506
787
269
926
58
281
103
806
207
411
953
929
497
849
113
59
817
464
938
680
236
632
320
769
67
892
476
487
791
751
676
484
932
259
606
90
922
562
40
391
238
771
373
84
849
373
347
36
97
865
10
691
667
484
524
803
222
685
965
512
630
501
651
417
414
39
869
159
239
139
81
985
784
662
818
908
293
965
534
368
499
865
582
774
342
793
389
865
114
912
599
644
224
679
661
518
783
694
876
372
587
738
409
532
895
543
147
965
595
225
556
587
959
262
916
282
240
594
367
66
752
702
243
855
924
495
64
459
72
478
373
757
247
909
327
474
606
641
599
646
174
882
655
615
754
398
943
384
11
563
845
248
420
214
541
871
855
514
52
432
105
865
829
995
457
471
200
25
834
294
907
841
659
52
696
842
717
329
679
552
852
84
717
875
207
617
650
478
103
528
541
860
342
340
477
533
904
200
660
689
535
554
649
870
699
741
679
464
704
225
898
299
626
563
215
185
786
307
223
73
144
697
306
355
961
429
612
949
472
776
54
31
107
33
858
655
23
604
504
64
306
42
51
171
240
2
977
576
443
388
636
465
536
918
372
929
210
991
131
568
243
976
144
698
42
5
876
153
748
941
979
442
819
425
431
986
258
810
378
262
354
390
474
924
849
464
651
445
987
751
328
323
737
109
60
691
830
750
462
28
943
963
90
703
458
874
594
323
784
875
100
158
111
243
260
489
850
855
828
331
690
86
941
869
414
719
496
881
113
156
147
578
433
289
507
588
825
153
32
257
572
877
964
37
506
505
434
515
938
997
499
536
302
62
442
954
422
517
163
785
89
566
843
916
861
701
350
56
618
953
83
355
409
859
997
913
555
830
592
475
828
556
561
738
732
721
581
23
590
582
491
582
161
880
695
390
999
156
200
119
608
799
110
913
731
45
764
698
777
698
958
16
488
587
846
801
411
614
184
91
678
798
573
387
846
898
192
267
305
32
364
921
843
216
911
441
494
902
941
90
724
381
125
253
320
420
12
486
126
591
193
854
872
547
371
768
925
922
523
653
736
638
385
76
123
139
395
410
303
465
137
720
756
173
26
329
597
784
680
405
115
836
962
50
534
654
163
519
846
605
179
675
802
970
807
249
711
570
498
232
776
897
976
551
73
861
177
211
147
188
820
234
408
150
799
79
196
578
247
681
381
49
815
906
881
711
188
989
299
494
349
509
170
311
415
520
993
448
147
746
287
555
391
164
416
491
762
863
810
853
886
811
524
152
351
39
777
489
357
810
227
40
694
514
255
835
323
432
477
128
299
958
10
96
224
617
772
760
702
965
241
782
511
502
647
210
336
820
528
382
936
527
945
887
564
937
431
934
307
111
910
510
765
605
414
444
169
197
422
834
557
946
19
378
171
156
906
763
545
217
466
674
95
838
730
933
191
867
104
970
784
792
128
90
682
976
393
31
471
904
967
855
897
986
333
560
235
1000
890
694
843
854
529
854
568
157
655
198
178
39
308
24
309
764
700
976
668
946
568
722
419
587
252
763
714
744
277
589
338
363
525
579
289
683
817
878
916
697
799
992
921
317
575
964
149
273
449
859
560
277
471
691
224
655
210
89
472
476
351
768
585
191
229
282
492
912
405
672
37
802
717
320
274
438
56
761
109
660
239
242
391
167
984
550
162
33
948
982
397
396
205
376
998
819
316
810
215
182
399
884
934
531
157
549
469
996
900
54
605
759
996
908
622
58
17
735
963
373
92
501
21
290
636
870
219
994
646
405
237
996
250
890
720
492
19
316
289
687
866
973
993
545
991
646
624
680
448
129
444
509
376
150
977
384
838
318
461
141
532
897
457
391
309
52
889
923
580
687
478
794
203
201
139
26
365
226
410
360
306
946
400
167
481
664
44
455
895
97
703
888
890
302
247
867
639
218
822
26
952
574
421
929
770
294
250
391
911
621
617
569
203
860
740
921
131
44
437
196
531
834
145
833
644
666
64
567
75
482
552
550
803
390
52
21
406
248
944
404
99
480
735
723
22
384
876
402
429
845
356
830
107
599
907
568
380
172
302
699
532
185
780
624
320
966
33
554
553
318
581
50
356
852
589
242
852
500
360
759
450
712
777
976
865
347
978
944
248
482
402
213
565
170
133
840
425
705
166
58
129
80
829
429
594
162
74
842
168
541
773
360
82
162
495
761
430
607
418
599
118
337
207
732
180
291
677
586
243
1
63
849
652
756
502
907
988
431
131
94
269
316
859
757
113
627
420
186
553
433
808
722
977
407
565
725
893
161
683
629
816
894
69
17
606
774
621
503
5
752
983
223
964
498
918
892
580
736
122
739
109
585
947
77
589
390
192
935
36
164
638
947
68
984
425
662
68
591
753
542
681
15
613
158
503
245
440
551
350
850
622
258
346
982
806
272
397
358
773
56
323
706
506
814
22
592
693
392
581
759
574
546
151
875
499
838
762
84
992
77
968
852
437
51
379
386
727
281
673
358
323
658
654
720
244
133
268
171
420
53
270
239
704
382
427
981
593
761
682
44
359
327
747
179
874
252
940
351
874
211
924
261
789
366
179
421
562
14
674
964
59
724
222
972
774
657
425
450
551
786
948
30
930
878
103
112
575
443
372
412
930
329
545
856
908
287
603
312
937
617
356
923
139
952
101
697
759
360
245
585
218
185
926
456
336
488
154
309
310
512
881
525
52
325
722
206
315
683
748
440
874
223
891
860
681
247
24
15
546
765
697
854
359
944
847
124
336
799
555
592
20
772
27
766
67
838
586
241
899
903
365
895
422
577
786
867
871
816
684
709
764
569
82
112
637
317
244
355
957
302
591
987
114
323
474
266
923
224
615
609
407
556
188
572
933
466
190
971
975
553
717
309
858
291
219
74
848
626
633
369
881
538
517
1
7
664
990
411
392
577
288
772
302
938
248
173
77
552
862
48
511
282
329
913
414
918
724
39
401
312
449
912
82
561
151
170
923
564
687
277
18
1
989
359
873
713
432
461
106
457
387
986
663
243
167
250
732
800
537
865
50
238
232
140
715
646
713
833
930
169
525
326
317
126
158
763
584
832
291
765
361
95
641
90
959
830
439
3
657
793
701
189
873
242
58
745
251
241
913
179
239
370
55
351
227
885
700
985
687
717
99
736
42
255
508
749
181
585
290
370
646
658
391
905
508
936
229
338
869
182
298
525
747
417
418
661
809
530
629
741
75
684
166
351
214
434
844
345
537
431
419
886
101
705
191
885
632
759
202
77
91
150
839
858
830
783
592
533
198
901
981
804
389
622
394
170
76
920
694
413
82
169
953
487
941
689
624
953
690
280
777
548
667
373
772
615
387
277
887
895
801
953
960
604
377
916
89
838
469
125
759
56
386
209
574
832
424
955
929
109
881
747
529
893
719
591
689
726
137
410
693
274
750
521
348
80
497
628
20
840
640
167
107
599
449
567
883
865
228
833
89
2
386
891
498
194
125
263
880
895
158
9
480
988
599
342
149
773
773
923
725
509
256
708
146
510
876
96
27
637
772
285
112
657
853
979
115
97
155
19
921
138
684
82
42
587
276
325
504
180
906
742
79
277
664
28
835
551
293
983
569
370
795
798
554
441
123
110
394
696
362
375
520
569
150
927
992
545
284
74
834
350
627
732
93
183
408
366
149
196
14
485
614
776
175
534
305
295
216
774
365
664
720
689
602
437
481
504
515
204
150
656
250
732
303
426
983
626
986
500
799
290
965
917
174
625
11
720
609
203
563
649
753
629
7
367
653
411
642
45
361
965
124
620
202
276
795
660
473
370
868
579
194
959
847
892
798
560
944
297
349
917
482
654
921
804
447
322
311
115
428
918
93
731
131
274
385
780
564
261
358
801
755
209
660
774
560
812
438
166
735
816
571
930
916
251
50
871
599
684
204
918
511
744
583
600
973
196
893
487
29
966
313
428
94
782
903
159
869
607
573
290
86
580
264
700
409
998
572
108
489
756
45
965
729
756
761
805
775
15
618
938
169
601
950
642
840
63
726
53
325
721
584
602
720
44
391
123
342
346
860
770
3
221
970
467
635
420
612
911
686
422
909
67
385
509
133
717
468
19
995
823
430
354
369
418
703
456
160
258
410
699
155
715
521
602
128
237
289
295
419
251
834
447
470
551
602
226
531
70
236
906
856
424
62
953
224
765
21
756
561
300
359
707
759
291
807
970
527
474
301
146
268
626
518
976
518
408
629
407
434
759
699
600
196
808
138
946
958
699
403
721
138
803
961
823
463
459
146
902
116
800
126
314
786
238
667
524
183
846
760
3
807
245
469
179
367
588
537
735
268
872
398
358
21
155
250
103
235
178
733
688
136
547
610
325
146
893
533
254
163
363
639
688
604
392
231
759
143
949
267
938
362
349
702
551
200
299
2
260
153
31
307
787
702
291
778
755
307
434
646
246
626
92
358
538
323
722
3
573
941
806
885
869
829
677
728
960
60
709
466
962
590
108
43
541
650
642
885
347
518
439
11
21
364
405
819
952
821
924
649
308
288
222
166
289
760
201
435
159
153
615
348
386
650
134
687
127
624
276
705
372
59
162
560
310
198
756
337
835
369
605
645
685
531
58
19
384
126
631
404
39
230
472
38
21
849
848
945
769
418
224
76
245
242
725
853
73
629
784
499
22
964
296
86
294
810
897
660
14
391
862
160
448
517
687
94
715
53
638
119
194
569
405
696
390
657
560
24
771
740
657
268
954
887
706
953
676
267
194
30
195
395
36
749
91
246
593
976
984
663
412
997
340
194
417
166
352
669
102
987
888
355
678
342
605
515
230
626
656
518
696
462
843
464
866
563
672
430
671
21
557
45
737
990
315
84
567
281
164
162
732
881
697
436
125
760
660
377
699
643
927
362
95
601
760
792
200
415
290
895
24
681
181
220
213
517
604
41
164
578
958
544
968
775
286
740
355
756
943
467
391
716
882
756
946
573
876
59
837
865
87
555
100
1000
673
795
105
648
528
474
48
129
832
985
909
614
824
721
153
867
89
802
278
992
695
19
826
406
734
303
597
795
141
943
667
349
220
148
224
987
951
237
383
582
963
920
925
422
84
684
326
290
475
231
541
566
660
311
741
695
236
41
637
232
612
987
38
403
934
866
55
811
240
719
687
459
971
794
601
748
213
189
558
489
395
497
314
245
768
337
794
523
626
644
19
426
138
39
540
376
648
422
135
459
468
185
122
698
536
59
931
374
751
701
504
50
488
542
697
560
543
320
91
631
733
958
528
173
482
155
241
504
974
120
688
967
881
370
30
447
258
421
757
258
906
497
137
788
414
73
7
26
123
215
905
835
457
174
736
395
424
622
924
770
601
270
503
961
595
314
717
107
772
338
463
735
67
818
355
101
779
364
284
660
596
174
84
696
512
953
326
956
907
736
309
890
848
628
60
788
562
461
491
628
118
766
918
973
583
271
819
582
314
323
46
738
581
263
717
439
413
796
651
747
438
829
527
547
466
79
915
907
777
991
946
53
346
158
668
665
776
487
61
872
303
797
295
812
60
427
41
120
716
668
559
6
725
552
844
865
689
572
327
528
733
416
502
308
389
708
377
986
217
17
825
764
256
132
767
971
464
705
601
50
505
867
455
893
581
399
635
148
536
303
139
498
129
420
187
251
170
849
521
790
245
490
671
564
839
985
444
353
4
698
668
456
136
150
621
316
61
486
606
855
363
152
909
437
832
950
675
964
972
4
331
59
734
18
822
696
48
378
303
911
252
284
893
410
222
102
783
9
866
580
270
837
664
367
286
131
83
556
573
296
49
577
982
606
118
844
261
557
638
17
324
419
980
583
221
987
873
759
928
853
981
378
670
816
123
496
644
163
951
982
955
656
491
204
40
25
661
250
81
625
800
841
745
743
237
172
51
693
188
482
373
452
577
35
349
115
919
574
960
805
50
6
150
62
338
248
150
889
975
708
86
815
85
840
565
348
684
555
651
128
990
73
79
961
152
940
580
641
272
559
944
156
486
534
777
429
945
548
982
201
793
283
634
85
583
109
299
61
180
874
814
911
820
156
221
158
926
749
834
117
248
13
418
528
74
938
32
117
598
416
422
97
986
288
741
292
351
160
985
86
610
878
772
840
171
793
5
772
492
658
508
563
810
38
949
82
792
645
222
722
372
881
12
790
839
187
427
302
85
484
438
268
971
135
356
320
983
356
735
54
705
936
895
27
123
462
726
721
490
983
555
122
252
190
647
779
567
747
314
340
52
353
752
599
704
503
407
26
377
651
131
607
832
698
409
566
100
271
689
222
847
269
174
771
494
553
513
289
86
442
478
603
264
889
61
988
278
843
441
827
647
291
895
458
947
942
61
478
208
297
913
626
579
148
440
242
241
139
284
980
37
106
543
112
905
366
537
271
22
984
552
948
498
317
530
386
572
815
177
786
517
147
235
879
898
188
475
20
385
327
558
892
52
839
34
821
8
774
649
472
209
941
582
396
539
66
406
494
579
154
379
963
4
396
132
713
222
718
942
549
682
198
557
649
277
155
972
972
383
627
669
317
389
379
527
625
17
302
79
36
332
256
801
921
106
13
856
789
127
917
84
524
118
287
62
903
142
391
727
702
790
21
423
999
968
330
198
455
808
579
856
490
82
907
570
238
516
49
810
83
562
160
10
433
522
576
611
41
381
355
110
900
371
948
297
186
49
158
134
242
659
869
616
889
614
667
522
638
240
574
179
524
300
606
230
354
428
742
940
133
304
236
729
311
323
852
495
288
508
775
764
299
673
431
873
389
142
388
184
727
899
859
809
879
654
36
442
1000
193
658
672
129
316
749
582
895
825
437
539
968
330
107
815
560
51
934
97
99
455
2
991
973
276
810
339
896
427
951
568
8
362
133
263
315
687
545
910
435
218
733
30
903
190
811
976
502
81
831
279
153
311
542
760
935
123
653
580
687
126
904
41
487
275
917
196
7
576
863
291
388
426
397
644
800
289
238
806
314
377
977
750
39
84
426
419
746
209
871
143
369
417
98
340
812
940
941
416
506
296
429
992
995
638
282
398
656
436
652
900
317
368
505
248
171
660
981
975
846
625
385
321
947
833
223
775
664
143
818
31
295
841
617
568
640
234
239
146
272
380
692
294
629
37
945
233
714
579
223
742
960
331
991
218
458
733
550
525
330
812
589
250
492
649
843
708
450
959
178
335
16
391
93
133
87
910
598
460
663
437
886
809
334
964
44
131
355
512
266
926
240
631
722
574
548
630
227
335
156
352
381
17
835
100
647
574
417
297
158
789
163
524
701
769
212
885
391
175
144
54
73
1
768
908
354
242
198
432
492
955
199
421
60
94
517
574
420
955
649
781
583
260
89
724
920
693
569
482
559
168
274
443
20
253
270
684
794
921
661
961
117
257
86
572
163
831
204
654
222
202
790
953
219
404
867
660
100
346
95
723
186
758
272
921
602
697
381
101
266
650
91
156
741
955
995
785
439
604
159
536
316
490
740
409
169
815
553
90
127
671
422
955
707
804
135
98
94
146
561
14
910
30
276
4
818
897
634
39
745
912
769
605
388
157
464
981
917
963
155
550
496
505
609
959
291
5
962
405
148
750
882
859
24
670
589
814
517
406
345
992
604
626
819
516
762
860
406
233
201
265
210
251
842
556
871
252
19
782
847
806
627
780
80
761
563
874
187
737
879
879
463
905
18
497
995
532
868
991
163
196
134
402
610
227
710
625
564
633
326
405
14
754
703
664
842
904
890
590
463
535
217
640
919
820
524
909
655
99
952
338
403
360
574
885
674
724
596
81
410
991
682
375
203
400
192
275
357
142
768
597
746
605
773
36
100
984
509
886
835
687
49
991
30
910
750
872
476
855
212
585
986
356
526
50
313
52
147
464
102
866
608
950
249
245
616
783
954
533
761
347
514
869
192
510
608
218
132
238
420
484
24
62
450
196
453
534
284
882
702
849
894
115
969
672
272
176
801
570
346
409
287
605
130
653
884
331
28
582
553
889
63
384
26
925
526
976
644
795
239
880
156
851
177
941
301
694
650
316
770
904
665
546
369
133
336
68
810
429
426
215
581
332
194
620
770
550
731
952
558
54
868
71
320
977
570
27
945
53
454
794
2
211
680
289
871
557
20
995
802
230
352
483
141
491
155
206
642
998
863
229
858
411
68
965
105
361
661
546
380
329
943
228
924
179
646
76
805
919
561
252
59
770
190
396
389
777
419
991
393
989
726
60
602
725
832
268
361
545
48
279
718
340
760
239
55
367
663
364
133
178
348
922
609
107
828
345
831
399
415
811
915
126
115
398
676
744
384
840
974
520
636
976
453
82
387
225
418
42
279
802
834
968
536
944
27
985
574
95
697
939
600
882
273
369
45
697
476
487
565
903
200
8
179
974
456
924
841
380
187
286
349
663
207
599
66
939
400
740
326
21
564
166
789
445
978
759
238
965
846
871
478
500
260
1000
77
60
226
51
627
967
594
341
140
516
435
314
922
296
542
465
994
598
224
102
728
662
519
389
845
68
260
592
368
199
178
543
413
581
382
154
937
835
80
210
688
157
393
795
644
505
461
419
164
139
811
340
919
763
141
631
438
275
258
255
764
58
876
776
257
816
414
370
101
192
700
500
404
783
708
916
96
740
76
691
20
790
170
614
693
440
873
607
233
66
131
754
863
825
509
212
200
584
679
483
287
623
777
530
931
420
67
748
472
690
179
106
512
761
481
615
541
490
805
914
577
183
853
902
174
401
62
281
155
111
646
357
448
366
801
669
252
599
779
815
563
647
655
391
776
822
128
55
683
717
619
597
675
927
269
309
399
549
185
110
398
143
396
634
530
824
587
944
43
282
583
598
268
831
945
585
802
37
825
990
898
72
363
375
576
717
528
516
574
848
289
564
863
313
368
675
912
345
678
882
280
41
707
290
359
982
763
699
351
758
986
384
595
49
485
109
401
884
767
369
458
902
883
527
682
750
356
750
116
233
994
612
99
484
180
801
488
186
61
626
129
861
345
927
141
334
106
534
824
730
44
657
166
802
167
444
988
949
755
485
749
28
740
214
899
931
390
13
457
961
246
307
202
237
833
101
438
698
554
223
809
826
528
982
61
828
872
102
947
881
60
551
710
17
559
315
700
339
893
286
725
592
647
136
665
529
696
501
741
141
134
819
584
562
928
896
891
411
350
669
63
361
611
606
633
13
930
940
748
484
473
210
175
708
225
626
563
126
869
400
742
290
167
503
876
953
181
281
176
340
916
980
714
659
594
492
596
371
830
608
373
383
452
611
122
123
547
317
58
396
597
564
889
46
258
721
396
689
384
974
844
222
441
71
951
365
282
670
63
257
628
684
95
972
250
809
581
910
995
938
849
179
308
326
964
473
831
156
562
434
982
651
121
183
186
967
539
504
537
918
89
174
246
976
980
34
193
119
774
742
235
821
841
527
735
896
907
952
906
953
488
383
198
954
670
836
902
720
252
901
555
274
768
726
559
583
247
376
574
606
899
471
934
556
63
691
286
933
891
569
125
190
213
60
722
874
974
481
161
689
418
794
864
223
935
646
46
994
123
250
963
93
136
962
723
909
839
361
669
362
650
767
32
604
181
370
643
378
979
568
956
83
709
697
571
143
114
58
699
438
953
41
764
413
916
175
413
977
205
155
763
438
50
235
604
565
973
903
633
292
976
401
535
744
192
516
856
1000
722
4
172
480
552
181
27
915
429
499
463
604
576
360
741
69
918
60
22
297
292
483
384
428
746
100
497
182
614
916
725
283
513
213
184
872
814
337
507
219
390
334
695
39
672
918
438
379
113
117
709
353
187
971
291
964
940
805
127
863
954
929
3
204
284
119
176
651
568
828
972
221
47
928
259
849
678
670
979
525
857
717
598
342
543
318
388
76
721
137
993
745
212
823
579
135
822
134
212
488
685
311
767
345
450
452
847
79
670
839
647
768
303
504
670
895
807
865
530
817
653
906
782
63
456
215
910
305
107
170
129
284
433
699
617
55
960
341
166
664
280
775
5
788
367
597
725
896
969
895
830
245
834
66
394
366
114
433
762
736
758
403
949
22
85
345
693
600
12
874
645
89
618
942
271
253
799
989
415
953
798
435
340
806
288
928
282
803
517
135
208
444
737
301
524
864
774
464
915
28
126
5
405
301
436
156
938
632
510
190
519
119
320
308
993
961
600
611
40
659
695
170
879
872
297
892
442
501
600
812
520
436
174
449
477
869
554
75
646
268
146
122
474
871
548
434
778
69
806
758
249
143
423
691
455
590
184
281
182
749
989
613
863
475
891
13
262
398
522
941
305
693
913
269
151
327
469
385
183
514
529
488
563
419
507
523
418
234
85
425
516
400
294
734
481
107
634
181
253
188
543
565
465
194
656
68
885
727
270
181
873
86
366
606
52
898
339
775
45
698
330
154
162
320
656
112
404
607
400
944
998
142
641
570
943
633
178
553
754
151
821
345
629
610
527
62
795
771
681
704
656
577
842
434
687
796
109
433
710
823
85
887
312
935
80
876
688
513
820
259
104
495
409
207
532
829
724
657
716
796
714
830
113
860
335
899
663
139
936
57
339
674
1000
519
752
418
33
444
909
294
283
358
331
693
715
451
393
530
306
4
677
332
333
301
563
873
768
611
67
528
276
194
149
909
630
856
324
281
499
261
444
963
708
58
907
193
50
920
446
925
649
732
822
631
688
506
441
468
41
87
935
109
980
332
227
112
650
256
454
968
478
584
383
851
995
252
658
680
832
668
273
284
790
947
162
366
976
938
711
470
951
567
267
347
719
916
452
957
184
500
200
831
380
423
940
699
383
409
296
48
323
259
997
810
321
939
421
423
493
312
368
365
384
535
179
622
337
268
297
709
322
127
722
549
704
288
575
975
271
719
193
625
603
321
711
771
520
142
122
937
919
927
179
246
772
490
306
79
461
771
897
985
880
15
994
782
951
170
367
443
298
493
411
646
808
347
165
881
743
336
933
573
867
279
689
4
792
964
458
725
358
292
350
754
412
215
775
88
794
786
634
981
665
806
981
978
611
747
700
930
60
113
255
70
676
928
460
769
312
796
519
779
35
860
286
594
477
34
816
79
498
68
806
645
711
390
430
91
947
150
433
661
144
579
60
18
455
610
570
603
598
651
603
269
603
592
668
197
145
368
337
836
589
898
549
991
737
785
560
284
2
955
689
901
406
316
989
904
376
603
364
446
758
791
458
883
881
869
855
123
766
285
732
570
771
102
135
638
85
729
478
160
440
133
691
945
385
587
686
389
217
340
446
303
445
94
117
67
251
765
916
805
979
858
544
529
98
687
62
88
457
808
869
343
888
281
490
179
387
794
393
850
161
274
929
688
807
325
803
371
763
723
180
804
975
247
673
164
390
329
932
792
497
348
532
460
662
918
149
965
368
189
788
165
834
991
933
320
687
659
82
52
497
480
55
316
13
35
849
538
902
117
568
470
611
563
151
359
755
44
182
768
77
830
77
746
602
577
327
60
76
447
266
919
165
247
81
921
178
806
341
987
247
536
387
675
45
948
329
585
63
937
235
541
440
790
338
831
114
228
731
108
805
241
66
434
969
131
243
596
395
984
929
32
561
712
24
611
209
929
863
103
869
204
21
345
199
611
105
14
97
120
764
440
506
61
498
57
706
817
529
964
695
912
114
538
921
896
202
203
252
752
272
271
575
87
507
239
800
18
215
36
399
516
534
508
803
919
31
850
127
491
742
800
725
184
591
129
18
207
856
412
889
635
579
66
681
13
345
405
530
875
896
817
283
139
394
174
769
587
995
323
540
20
556
786
508
232
956
845
75
621
503
803
473
158
335
553
19
393
559
529
904
389
106
745
971
776
932
909
621
615
233
530
671
375
827
519
462
157
679
55
12
208
864
361
325
913
899
614
233
678
478
429
307
574
130
212
437
153
221
233
674
610
4
422
767
311
154
760
658
812
316
620
869
625
740
563
303
397
968
919
512
658
922
937
874
955
414
398
456
41
317
405
539
745
137
444
951
290
688
945
333
133
979
300
475
849
128
688
633
158
354
150
569
14
637
29
637
527
659
310
889
624
6
369
574
542
431
382
833
663
190
935
656
727
44
419
363
173
599
392
981
190
9
472
873
121
977
205
903
965
164
66
235
112
796
946
583
880
315
463
365
92
341
23
736
701
127
772
944
442
916
521
778
581
311
261
133
99
842
115
899
79
410
432
420
607
172
273
770
276
744
706
945
230
303
190
888
744
289
793
923
543
907
178
797
403
583
77
27
115
858
445
657
523
910
607
845
215
88
499
933
399
357
516
775
646
529
608
147
465
513
958
968
142
587
42
976
865
880
884
183
934
817
42
153
754
292
262
676
411
715
726
919
843
880
536
469
2
819
394
24
971
409
450
630
678
534
937
497
703
13
528
414
721
357
297
691
238
643
821
391
656
438
202
324
148
778
744
907
480
634
620
527
704
189
73
510
597
503
645
107
827
825
456
194
94
900
773
544
912
100
5
570
255
104
762
442
67
156
802
341
458
651
560
418
519
876
407
682
845
305
978
694
215
724
695
395
425
833
84
844
886
692
610
945
479
518
522
462
93
919
656
756
438
577
202
729
24
775
224
358
606
927
91
115
64
460
71
263
390
947
30
712
407
426
546
689
923
190
820
925
222
169
381
472
224
207
1000
521
155
184
147
806
291
903
52
268
179
151
687
655
774
116
969
654
64
634
128
960
123
335
409
419
980
860
286
1000
344
732
878
901
16
364
561
525
776
938
661
419
621
564
640
517
521
239
455
193
244
560
603
699
419
116
901
532
689
704
256
153
731
299
485
282
959
753
777
658
896
776
514
776
604
644
3
615
34
416
111
759
845
202
943
670
73
141
455
48
989
321
352
398
650
823
703
897
915
430
437
663
178
329
320
316
638
287
41
519
731
389
764
829
230
401
881
755
627
214
724
405
610
644
665
464
870
44
397
559
981
836
182
233
835
43
474
858
927
375
692
832
843
225
820
307
437
185
193
499
522
331
47
385
390
570
407
199
97
838
426
679
251
734
559
464
2
522
867
389
11
49
282
674
468
248
901
173
636
359
236
903
962
922
886
74
548
870
266
677
646
776
891
522
898
428
184
272
229
400
959
640
666
242
507
411
871
227
716
359
838
343
737
469
26
357
525
56
201
332
1000
551
371
932
643
725
509
228
151
66
216
465
92
912
45
454
652
636
37
809
199
896
850
265
824
490
33
683
11
863
139
172
287
665
838
946
42
57
668
167
695
664
804
28
63
147
79
781
65
405
473
204
883
296
490
303
316
601
157
630
341
682
842
688
828
905
757
332
954
435
785
964
103
463
217
547
934
258
116
193
880
713
257
117
533
193
36
274
259
567
292
853
912
296
751
156
686
308
654
36
12
181
185
244
875
857
546
497
108
701
820
63
995
229
346
939
25
228
940
474
709
328
163
429
208
290
792
990
896
419
798
247
118
539
439
999
135
907
494
496
638
303
319
948
291
274
120
173
476
188
785
773
772
296
695
608
746
500
140
143
304
897
384
457
198
438
942
309
290
261
359
673
799
334
594
611
105
58
188
126
624
396
492
950
887
895
623
805
265
712
247
761
671
369
950
771
210
501
755
302
946
320
279
293
906
835
132
305
960
155
441
840
458
343
778
289
365
358
359
850
170
616
106
85
22
541
61
462
393
311
680
375
64
657
718
626
379
190
814
297
531
239
350
276
96
581
866
415
171
769
104
487
225
999
774
605
241
551
236
789
779
924
598
658
375
691
207
72
61
957
67
652
872
65
522
750
919
859
438
390
965
359
213
114
495
203
146
464
921
576
117
47
940
628
48
728
39
600
330
532
786
935
256
254
893
697
497
618
946
510
851
50
387
46
813
789
538
821
970
111
465
689
906
886
1
961
64
578
556
493
969
29
197
496
330
91
76
993
802
210
468
90
587
598
587
233
660
472
848
645
118
202
433
967
34
862
889
967
257
830
929
829
786
584
811
158
718
779
456
336
257
14
925
262
966
441
23
852
260
520
544
875
112
758
138
844
92
252
839
716
144
202
73
82
969
331
339
409
475
343
840
615
518
110
37
941
102
288
484
654
229
441
320
557
889
565
500
720
6
113
152
61
738
225
477
667
218
896
250
783
674
242
283
453
887
856
186
675
112
483
386
756
910
883
629
294
823
826
140
815
464
589
196
655
375
207
117
104
984
15
595
187
58
652
810
696
357
824
40
283
572
601
303
434
234
889
131
189
996
70
731
279
592
472
662
209
800
449
614
437
958
409
66
471
930
990
392
138
920
981
440
748
230
287
756
170
839
387
382
49
719
299
596
547
884
12
72
8
498
712
645
905
813
902
318
262
300
694
165
503
115
124
525
349
956
346
248
939
429
941
779
836
301
394
556
944
374
979
527
674
281
932
608
859
191
798
539
29
281
254
911
681
829
569
114
53
957
86
547
761
393
750
751
361
71
770
31
541
67
965
721
178
115
186
531
933
941
499
259
417
736
484
774
205
352
80
335
150
233
908
227
488
664
887
202
242
647
275
384
266
613
953
187
101
209
907
229
461
612
378
427
814
170
56
237
984
676
56
505
141
284
144
455
854
841
807
201
99
459
349
525
255
234
118
808
147
343
351
725
147
190
904
721
186
877
276
349
284
49
967
260
875
67
152
19
762
544
84
928
7
515
423
756
462
903
894
569
910
456
314
900
984
85
10
121
141
337
114
191
959
775
36
936
941
208
656
622
837
34
417
866
194
428
572
873
514
768
279
563
881
473
94
411
422
376
717
720
265
861
478
606
936
265
176
198
300
456
334
418
210
79
867
240
993
679
422
509
816
830
394
245
713
395
710
852
788
296
7
799
688
485
749
171
940
342
171
917
176
393
662
791
570
61
365
711
41
145
301
738
912
871
296
939
736
624
366
161
956
970
942
139
917
115
552
419
483
790
114
306
193
392
3
399
454
347
452
321
731
864
641
921
88
628
37
589
715
555
170
286
261
408
41
588
904
926
791
314
88
157
91
294
763
823
947
457
792
902
276
682
908
57
635
808
226
222
970
768
867
401
95
91
674
745
896
882
378
6
923
974
776
805
114
160
721
515
906
271
699
148
843
421
824
400
136
879
917
833
311
930
120
281
198
523
219
724
50
712
413
247
487
647
796
216
308
410
219
459
950
29
522
87
512
869
337
543
815
952
812
630
951
916
631
550
87
19
640
442
114
36
261
499
883
931
602
537
342
909
856
771
901
833
133
658
740
7
359
881
560
26
232
943
511
710
541
385
631
166
321
335
142
654
421
958
402
249
94
389
117
261
72
897
671
985
472
355
84
656
558
574
131
379
20
693
655
441
996
615
934
618
455
420
253
21
968
816
501
574
90
914
698
435
781
70
856
527
341
88
443
920
307
818
64
921
654
69
647
642
402
805
545
251
465
782
503
313
125
154
332
402
61
78
503
650
262
22
575
25
448
302
559
880
888
366
825
789
596
453
162
750
945
592
924
578
670
315
4
749
90
89
524
972
116
223
730
503
296
937
560
603
704
339
760
533
936
298
211
197
904
597
348
863
346
263
162
407
205
710
302
156
113
168
206
747
226
869
49
347
552
664
499
232
760
48
961
988
143
41
3
534
88
52
128
749
883
590
941
755
189
695
993
783
817
16
290
131
712
764
532
923
227
172
625
265
809
657
911
907
209
641
873
714
211
841
770
94
643
916
756
9
148
524
598
376
777
228
994
446
974
191
841
240
931
258
559
224
624
883
684
194
40
279
535
772
254
389
687
10
44
484
375
334
677
717
688
487
343
519
626
154
471
510
659
703
827
507
398
834
856
295
436
944
199
50
146
716
714
698
503
791
592
19
560
339
366
47
249
50
716
115
611
332
955
972
375
496
19
496
58
314
573
930
393
630
606
976
965
624
468
775
360
916
896
569
28
982
964
782
309
189
273
402
764
395
952
760
23
207
187
258
862
904
61
159
102
549
488
277
250
990
872
308
476
306
932
576
670
737
800
172
810
293
141
817
826
70
492
296
462
715
478
985
386
662
861
799
931
510
581
898
417
328
125
592
960
826
550
221
18
1
453
193
729
331
27
1
237
618
90
794
811
311
641
987
545
494
66
476
808
781
577
270
438
17
869
707
863
43
245
998
956
760
668
526
450
417
286
186
166
310
980
58
135
86
415
902
934
438
867
243
227
278
828
341
500
401
49
945
497
227
161
552
689
493
527
810
385
630
250
846
792
149
595
535
379
557
170
152
424
206
342
441
490
11
293
836
903
135
19
486
989
610
363
760
960
339
868
119
850
82
806
593
827
845
299
619
555
546
789
653
996
968
506
815
204
772
739
786
216
788
897
323
90
889
340
64
514
506
952
708
181
233
216
318
297
36
367
200
170
312
811
770
835
386
598
878
29
81
193
292
680
688
174
444
238
980
776
55
812
933
386
1
112
458
194
589
571
765
218
466
918
932
815
528
673
902
631
524
678
376
638
553
863
23
567
252
864
25
557
306
3
199
287
830
395
870
233
298
640
202
896
958
611
925
62
67
376
273
183
894
159
456
969
126
560
188
130
247
957
645
36
454
130
687
705
923
669
380
178
555
642
617
801
866
362
139
376
354
786
360
442
490
274
175
188
459
947
385
605
951
865
445
546
534
607
993
288
646
586
17
52
832
644
604
671
586
23
878
288
138
813
160
499
537
368
382
859
650
986
469
34
84
365
772
163
559
927
587
206
990
183
499
132
361
667
557
814
519
869
280
422
158
776
95
892
602
323
114
802
476
80
51
609
991
962
714
716
360
630
727
315
810
500
45
271
780
967
390
587
126
529
948
130
603
990
548
400
452
809
42
50
657
970
843
786
320
456
361
54
660
519
618
579
316
458
446
480
25
563
511
129
223
176
834
383
817
613
647
90
174
776
156
43
383
894
256
636
949
751
305
553
415
126
820
737
812
976
381
744
478
12
50
346
540
958
362
906
260
731
303
605
536
205
714
83
78
990
255
452
159
909
399
886
392
429
917
225
683
346
985
105
363
443
327
135
520
681
812
570
716
703
497
712
602
104
432
32
426
944
448
608
65
467
758
29
3
815
420
342
637
852
663
983
390
830
579
871
369
749
950
23
747
748
813
97
595
754
925
263
637
902
444
664
291
990
17
526
390
297
934
668
195
648
165
752
652
524
933
137
360
344
906
584
406
791
228
405
16
208
402
859
973
614
443
721
898
886
835
4
755
981
565
737
425
872
895
568
767
29
629
706
384
863
305
377
193
549
144
536
1
37
608
63
510
845
93
30
557
462
649
933
947
781
584
953
937
26
483
438
280
32
493
771
753
600
647
722
260
872
678
191
941
326
12
981
169
24
582
847
982
233
679
638
290
384
336
760
119
592
604
552
302
680
665
427
248
684
937
767
875
339
194
662
346
923
258
530
977
147
990
540
600
488
183
566
669
468
404
60
628
907
39
854
409
108
565
402
426
261
563
382
126
93
95
879
954
935
847
637
594
933
888
944
484
89
964
794
864
165
17
883
128
285
998
867
786
220
123
42
169
930
430
293
880
934
853
701
101
475
89
691
81
228
184
969
524
541
122
793
132
778
713
307
280
388
686
773
624
714
252
537
483
425
335
471
988
661
298
464
333
661
289
245
920
654
222
458
858
293
59
443
36
748
249
622
980
849
119
732
765
363
568
406
556
553
599
769
751
660
156
772
271
858
191
962
286
514
136
289
547
306
737
293
536
870
762
756
852
144
194
459
596
541
366
226
55
377
950
810
619
749
830
540
723
183
672
817
564
948
439
734
501
855
178
74
315
754
184
937
980
713
4
54
196
4
845
617
678
652
646
126
154
263
440
292
50
244
683
550
127
334
881
68
660
591
225
464
366
549
897
619
907
334
404
70
732
914
578
471
959
504
861
541
236
402
111
701
783
142
441
361
347
942
543
420
414
854
541
97
822
900
648
644
865
743
834
842
102
123
240
433
317
374
314
817
525
816
504
386
481
717
872
864
873
835
185
883
284
228
866
829
42
172
709
666
271
507
381
63
836
696
577
633
358
193
144
532
162
446
604
952
850
44
305
286
148
26
846
872
850
354
525
250
942
909
289
818
461
146
98
606
233
695
634
668
426
824
46
227
734
620
758
289
107
182
409
917
180
880
694
724
924
984
177
445
581
555
195
631
683
507
573
604
764
201
225
835
410
741
648
785
477
389
959
111
591
169
394
810
564
765
122
562
978
300
825
8
987
416
740
202
337
382
744
770
714
596
659
607
786
968
141
76
736
119
385
753
631
270
445
734
749
961
97
396
824
464
69
304
250
878
910
614
459
382
968
974
78
92
714
371
930
260
158
841
674
332
181
216
658
474
419
368
562
804
763
484
536
434
610
984
845
873
771
608
466
62
337
70
708
506
858
406
660
542
908
828
228
797
497
457
572
243
786
759
978
101
282
933
629
19
5
744
222
592
129
495
142
288
248
970
707
292
723
113
44
587
549
186
320
871
776
935
350
505
822
15
139
772
938
561
486
193
674
340
638
455
446
331
878
863
217
969
73
817
834
500
451
957
825
94
309
91
288
407
919
903
51
260
624
763
486
998
34
650
153
851
236
324
998
333
161
397
948
320
597
890
574
913
847
184
941
658
708
10
915
968
263
294
937
833
973
192
747
48
672
620
599
190
382
969
283
549
315
428
651
58
10
541
414
14
356
205
694
42
132
293
191
348
791
495
828
737
455
755
459
292
446
919
545
869
248
786
690
776
487
799
609
80
374
47
384
15
56
48
856
856
514
57
586
454
949
276
145
340
88
382
376
943
477
269
907
10
641
759
404
731
890
275
994
463
729
214
799
159
28
766
797
798
560
460
39
167
88
615
828
325
909
135
616
959
637
850
234
607
90
678
569
467
288
416
936
47
993
901
229
455
667
619
374
539
456
542
751
380
574
188
28
892
499
367
258
390
478
113
217
40
179
608
697
45
741
701
841
252
100
803
726
650
225
513
52
859
827
317
215
300
154
118
47
205
747
120
193
993
403
838
445
838
127
598
334
449
589
899
956
161
401
475
295
473
616
681
291
38
946
114
504
984
570
976
530
93
877
782
223
84
100
446
404
692
625
652
967
761
692
692
187
841
308
612
619
104
470
620
170
493
189
165
810
139
425
21
913
4
714
989
406
645
215
555
738
715
913
944
187
572
922
544
169
916
189
580
34
915
429
273
273
664
749
450
225
162
295
704
108
199
204
779
659
682
278
792
751
958
121
281
98
660
900
826
581
399
515
189
749
447
706
467
812
151
585
785
782
437
94
410
452
208
190
993
605
828
882
854
160
171
845
822
981
900
988
189
712
761
251
726
322
643
881
593
13
106
638
164
737
876
688
459
892
525
425
933
668
205
108
813
106
814
983
44
204
440
523
181
281
258
509
230
386
326
955
547
743
867
287
349
109
715
760
348
437
563
850
259
430
524
203
680
402
325
820
955
382
115
311
125
506
509
437
25
617
937
653
906
389
846
53
711
463
557
924
256
840
850
108
148
219
447
506
211
43
626
356
562
789
121
366
239
415
315
367
491
962
509
972
371
991
669
563
321
948
668
89
781
549
484
319
694
968
189
624
971
957
892
895
585
19
927
895
5
421
742
212
98
111
905
986
446
617
561
753
291
581
517
73
945
894
827
98
564
307
379
862
639
12
558
871
425
900
451
542
796
133
440
107
685
221
294
899
376
1000
984
329
366
788
573
468
440
530
460
828
898
912
161
895
569
272
587
938
381
648
474
876
744
427
221
311
983
889
887
340
329
410
528
475
761
183
348
753
120
134
383
177
464
107
557
699
603
499
978
298
108
286
314
130
864
763
883
345
397
377
915
925
831
789
45
808
257
609
692
661
754
342
463
871
62
711
65
725
123
909
532
286
345
301
737
187
427
751
286
396
36
85
863
49
452
131
35
589
536
425
333
789
20
942
133
714
177
134
526
328
369
180
863
206
870
555
135
826
581
970
678
953
987
272
948
943
740
108
292
182
777
38
679
466
752
320
348
860
881
732
220
440
994
701
661
405
721
447
939
205
221
35
268
711
844
36
856
975
405
953
783
757
496
692
851
867
439
148
780
329
988
397
230
503
874
81
205
618
662
325
288
604
114
912
52
712
492
531
718
202
753
591
789
253
632
503
988
373
970
330
268
782
456
413
45
638
168
903
127
541
896
145
952
412
272
490
891
741
128
444
343
169
373
16
292
584
895
747
784
192
632
193
522
541
42
552
415
79
626
729
420
668
35
386
498
369
569
394
831
972
542
717
703
965
70
919
617
96
351
393
281
218
356
929
71
856
203
422
464
845
152
355
708
376
311
205
708
53
619
55
681
863
646
524
658
522
48
576
312
279
266
890
920
145
218
285
463
431
251
65
37
669
612
314
751
255
45
853
252
618
893
25
841
305
255
491
943
167
347
968
292
719
196
208
827
837
181
512
714
189
756
809
314
172
891
633
215
691
364
337
601
787
96
549
372
10
107
169
397
425
527
170
223
310
326
116
364
936
93
551
12
295
200
363
665
296
207
838
677
702
161
325
203
89
784
377
324
164
152
762
445
70
602
972
164
713
65
724
917
729
937
478
664
429
879
168
752
972
666
208
896
15
317
314
895
347
239
834
311
318
71
97
829
426
225
766
448
60
883
267
943
262
328
197
297
302
55
992
892
55
77
279
317
408
166
37
576
422
593
137
335
537
59
850
590
919
122
674
825
916
403
142
263
705
254
381
308
428
364
786
659
494
5
602
842
285
206
126
128
196
195
962
863
792
855
17
298
881
779
924
851
482
743
193
608
964
81
664
566
146
465
775
740
764
87
743
837
512
70
21
577
817
236
265
152
606
15
640
537
598
371
486
518
61
104
248
410
549
795
86
357
891
945
808
46
540
587
543
397
500
740
134
521
182
622
341
822
952
445
778
631
616
954
948
152
757
615
904
846
684
501
783
592
709
473
962
63
625
208
620
857
540
13
258
793
684
95
152
685
398
176
734
632
287
892
646
540
439
419
565
137
674
171
929
251
36
201
385
463
124
150
124
559
381
214
229
383
195
603
884
814
499
396
526
545
579
549
46
326
948
18
728
84
517
637
930
86
712
419
397
957
876
420
742
857
68
169
837
606
306
927
773
876
448
724
613
813
119
217
370
647
554
861
517
868
773
843
868
570
252
459
836
404
125
393
955
389
22
413
988
520
821
547
168
701
966
742
866
50
500
304
481
16
662
187
471
92
673
338
187
97
372
847
662
164
450
621
538
581
375
658
112
595
491
769
848
111
451
771
792
17
832
770
10
465
774
115
578
75
485
28
644
434
751
707
800
710
943
890
322
418
551
514
828
634
5
96
591
993
372
901
10
859
544
808
735
932
697
981
564
395
128
167
493
421
60
414
243
479
631
533
192
448
100
448
854
940
229
846
992
624
917
268
973
583
433
778
213
894
996
938
429
686
40
609
934
916
226
496
397
982
158
989
345
53
783
1
166
736
698
32
528
248
885
581
940
792
969
399
658
262
707
786
231
677
285
301
803
5
957
791
681
157
708
608
795
954
901
259
412
835
350
476
876
901
834
906
204
664
846
173
73
513
293
71
121
491
923
35
511
443
510
846
379
980
184
720
129
980
879
563
571
553
519
185
484
484
473
687
562
185
783
78
628
79
853
422
634
184
625
441
244
358
710
574
731
318
634
933
508
79
104
477
866
887
176
975
382
91
315
29
37
629
574
498
290
987
578
142
221
546
530
235
396
203
226
154
289
36
927
704
926
576
1000
4
924
927
413
336
255
582
563
226
859
291
396
410
706
743
461
52
37
136
368
717
270
951
85
188
514
354
682
138
712
694
368
53
186
528
184
565
758
409
262
536
680
469
352
818
327
473
255
575
976
583
818
517
15
553
449
100
620
454
440
57
287
310
964
151
572
229
299
125
83
692
693
215
53
692
282
434
793
310
679
86
960
127
127
593
820
629
630
794
679
335
98
302
168
969
335
413
386
418
657
280
776
542
17
789
154
206
806
619
562
29
879
493
468
414
970
478
358
426
362
552
966
920
578
297
221
151
902
755
484
759
737
957
808
639
174
586
756
702
632
564
787
938
132
86
333
538
566
777
475
13
324
193
557
415
761
857
170
777
289
362
680
852
340
873
888
57
23
515
453
298
106
723
450
15
808
624
768
338
43
911
134
735
908
473
180
909
658
249
348
976
914
402
410
158
575
907
31
334
744
93
132
773
11
502
737
295
577
677
657
938
52
122
609
909
240
737
313
239
840
498
705
98
813
993
640
165
99
721
380
806
477
721
698
45
624
187
673
506
864
214
91
545
630
709
925
778
449
827
532
88
112
952
60
974
729
418
33
810
610
630
266
174
222
217
47
904
14
137
1000
960
562
447
154
491
316
536
551
711
194
231
110
349
444
87
608
430
441
591
353
142
578
730
532
334
984
590
291
994
593
212
303
690
987
922
958
526
513
772
345
650
424
487
864
724
143
568
673
52
353
773
130
249
244
263
95
450
167
73
229
44
921
459
397
836
83
858
930
364
107
890
740
812
408
840
258
589
285
558
716
195
320
539
572
421
851
244
770
282
220
396
74
348
756
49
952
283
889
738
348
477
323
913
195
641
1000
139
747
91
386
282
586
246
735
991
724
569
140
332
330
757
533
319
424
500
357
458
374
550
236
151
126
135
849
916
880
7
162
997
377
513
332
827
27
139
862
227
880
898
82
951
828
797
582
405
485
371
31
906
933
927
714
881
853
705
191
766
621
652
734
189
635
875
556
214
434
119
416
54
244
823
876
662
162
394
326
55
549
344
943
36
149
864
875
250
76
193
296
124
95
898
454
308
546
791
465
695
855
748
401
955
841
138
179
787
897
935
849
781
714
793
161
853
413
605
694
707
838
36
409
689
268
591
227
668
23
579
114
323
248
174
189
306
677
437
604
278
324
776
259
738
856
817
959
908
876
79
272
672
464
150
190
699
89
305
650
457
465
614
135
754
986
643
852
841
155
779
452
844
787
69
833
497
857
219
371
729
571
37
801
620
596
219
81
674
435
788
778
141
604
934
914
313
610
259
752
366
729
610
706
315
242
837
411
81
77
737
992
513
799
441
767
430
480
245
916
415
299
667
148
116
608
101
17
297
835
997
364
728
820
934
268
275
81
297
42
237
77
531
28
50
754
97
409
970
503
334
787
251
237
395
44
612
425
301
867
540
807
970
368
28
977
726
449
923
194
437
879
966
592
905
599
918
406
548
428
942
976
750
158
535
54
452
27
847
383
706
669
220
604
935
976
87
284
605
708
202
291
843
328
302
756
298
292
910
632
209
945
968
175
198
232
393
754
796
694
430
41
77
591
919
992
61
520
167
28
753
642
171
466
770
438
342
576
510
961
723
590
757
708
935
621
377
558
719
727
562
709
12
283
623
185
931
432
940
278
928
602
83
223
623
16
469
550
520
654
184
778
892
357
763
551
585
624
770
904
426
193
13
65
194
673
104
71
826
334
849
565
652
673
658
290
959
507
765
194
140
160
538
538
972
801
588
99
353
60
685
367
935
896
739
612
675
46
193
856
255
559
263
61
702
591
358
289
312
95
877
230
149
61
347
207
975
716
513
733
462
416
558
735
931
42
109
820
661
364
74
316
11
179
619
394
244
48
805
257
918
88
498
246
172
587
174
727
53
201
133
790
260
68
485
107
357
498
970
807
513
810
309
821
340
478
327
976
209
991
524
66
735
767
118
203
784
960
852
66
434
290
988
25
815
824
26
751
656
226
598
603
653
138
935
11
499
206
33
85
509
784
367
912
320
453
598
333
43
366
213
518
607
828
459
319
752
706
244
223
277
984
896
675
718
270
826
726
565
90
132
194
505
616
182
52
947
825
997
281
264
178
73
260
754
608
898
638
344
987
1000
729
414
263
849
696
961
149
296
177
497
581
532
561
720
166
730
795
983
483
647
501
52
430
463
148
437
744
19
237
857
479
497
741
10
480
218
563
906
833
961
380
444
865
665
55
806
511
854
740
505
772
479
903
577
542
105
774
531
305
537
123
135
65
73
859
998
421
494
673
252
846
838
826
303
114
748
245
763
290
898
267
178
845
595
749
103
292
151
762
410
193
54
758
446
491
248
926
801
936
99
438
23
775
706
412
533
994
300
729
399
113
380
274
371
980
97
796
767
41
161
325
380
276
194
22
568
397
13
394
80
875
833
60
976
122
713
617
210
417
904
719
48
220
904
169
533
151
159
694
607
202
334
64
365
763
998
416
136
604
379
934
729
288
576
547
250
398
229
927
338
547
213
872
540
399
333
106
817
841
355
628
841
973
988
20
841
838
554
526
226
653
168
307
123
861
239
988
272
476
956
513
411
56
224
376
410
141
208
478
944
115
232
220
393
302
298
976
20
535
891
724
199
588
57
472
614
613
963
70
910
185
283
158
219
629
781
280
369
52
417
651
335
930
137
666
674
112
267
9
286
876
110
133
794
995
872
953
282
835
568
851
874
164
890
435
909
714
341
80
18
518
113
961
475
710
291
140
610
781
969
294
877
242
778
828
466
284
135
453
925
284
257
779
373
956
611
131
296
535
989
548
811
610
882
944
541
156
114
432
916
856
22
149
823
10
563
301
976
231
853
717
314
626
562
963
16
360
532
923
421
340
698
820
279
250
164
835
269
320
801
849
633
35
321
345
129
427
121
164
234
757
565
650
685
127
547
693
966
26
353
311
359
910
842
725
485
622
921
297
82
920
146
357
898
385
22
651
206
744
235
108
390
971
637
676
485
595
257
210
342
309
996
788
282
311
958
368
748
830
556
420
454
903
621
981
976
820
774
641
564
595
201
113
173
452
801
357
375
576
417
731
875
360
454
268
768
901
763
968
606
812
83
954
540
270
694
443
537
820
196
742
738
627
469
904
483
785
956
253
472
792
386
712
808
484
905
767
358
585
410
934
32
498
543
798
44
139
412
65
188
410
612
537
478
376
526
660
231
351
205
41
847
834
354
376
52
729
65
326
367
316
7
202
898
225
677
746
342
62
221
911
246
377
30
319
179
404
38
972
432
357
154
875
273
107
791
476
589
743
794
187
944
856
374
821
694
396
841
467
853
594
42
182
769
752
378
888
571
674
237
49
542
129
454
2
221
22
153
323
124
867
955
222
381
777
60
776
493
391
179
752
663
109
600
865
834
525
979
607
650
179
554
179
52
642
593
626
110
434
825
51
990
486
516
610
675
716
606
84
165
729
36
998
396
871
993
622
68
624
287
703
862
826
514
436
329
312
944
24
799
340
326
141
297
627
913
763
332
881
53
116
843
478
635
950
336
344
522
943
420
138
869
815
542
564
869
637
703
24
57
906
339
818
758
188
344
808
649
501
433
805
709
187
642
918
989
690
798
769
766
536
196
789
632
801
592
761
985
550
814
429
202
36
967
223
505
926
262
137
157
481
938
352
161
384
623
449
73
876
752
972
902
977
332
656
308
788
422
840
484
356
196
470
163
88
355
622
185
494
926
659
902
874
250
971
536
653
5
755
243
231
696
438
288
599
928
152
186
471
129
153
127
349
123
174
285
767
104
495
850
960
103
956
740
291
22
201
14
131
638
216
905
280
773
626
282
645
19
242
90
670
936
114
955
902
698
686
764
170
495
673
433
88
856
997
522
956
218
425
594
729
712
565
431
346
150
536
320
659
611
919
613
126
875
578
676
671
191
556
193
402
484
529
455
362
200
233
954
142
419
877
101
961
730
802
332
782
635
528
241
133
953
931
598
556
721
471
301
53
637
276
355
437
949
425
966
256
3
948
700
838
390
897
455
34
714
355
677
463
549
385
861
400
69
749
871
956
175
670
34
896
669
62
269
237
187
399
754
753
139
857
739
682
881
431
178
176
683
490
757
528
853
638
799
784
537
795
218
149
304
133
406
455
614
895
480
111
663
112
789
114
894
957
975
134
692
792
160
222
357
974
8
362
513
127
552
993
512
912
620
590
219
278
670
601
831
806
609
336
4
39
927
903
617
621
88
906
982
663
671
443
131
984
182
845
130
819
823
762
12
92
736
416
15
615
430
278
304
409
141
14
248
908
859
253
623
951
644
637
826
349
624
633
287
270
759
833
804
879
90
755
439
446
629
749
951
622
534
213
480
691
470
190
340
397
309
392
348
373
452
818
28
286
86
442
462
564
623
901
262
984
436
703
363
429
752
246
889
881
211
872
362
47
197
217
882
76
487
407
750
489
167
973
177
792
44
954
361
244
976
332
229
892
624
804
546
313
178
903
975
450
457
669
851
563
670
369
126
595
790
269
967
173
149
82
960
78
415
527
727
243
510
358
45
259
421
370
223
912
81
105
574
500
674
424
333
559
780
704
222
132
748
101
214
921
569
261
718
493
307
870
550
209
825
642
547
706
172
718
630
554
469
927
459
191
558
71
524
368
2
180
719
82
228
700
941
451
767
685
261
39
537
381
542
921
96
28
179
138
627
317
782
306
164
689
237
803
237
615
557
375
692
20
305
999
883
309
234
546
855
767
920
121
391
725
845
943
997
522
377
307
17
186
500
446
32
756
44
116
656
341
324
305
631
325
812
790
852
633
471
161
575
586
863
551
633
672
1
544
864
533
178
635
377
536
692
190
468
589
470
39
216
273
71
757
818
936
457
159
709
114
221
764
407
560
652
804
775
176
165
848
118
367
102
280
122
669
879
660
126
45
750
491
666
880
231
989
511
553
342
294
667
448
401
940
924
376
53
526
583
710
574
258
932
957
270
448
873
120
974
114
900
936
196
530
233
34
522
957
528
97
199
814
24
360
678
236
397
168
94
283
846
849
260
104
149
863
777
968
530
55
311
415
153
822
881
735
16
221
284
599
783
322
390
962
865
618
122
262
655
937
378
571
381
102
19
567
456
504
313
106
600
915
923
756
205
67
576
830
621
995
70
374
86
684
151
43
12
309
110
38
189
236
640
68
302
995
623
828
796
648
35
630
772
313
69
633
58
143
932
573
47
688
488
42
184
450
93
119
225
359
480
594
509
92
555
139
532
408
288
488
44
154
691
133
739
179
16
73
380
176
915
878
828
369
292
709
55
67
944
952
650
300
932
819
748
183
802
593
562
150
391
225
918
959
991
594
277
154
60
100
737
752
493
198
418
50
721
104
453
773
549
196
523
295
683
555
525
265
371
687
467
800
431
708
155
320
227
201
566
237
815
465
73
970
567
156
830
146
92
122
702
464
118
838
116
402
370
955
45
852
122
377
169
786
252
753
927
298
150
413
771
681
730
618
444
738
160
421
519
180
639
607
739
804
721
892
940
105
204
70
457
138
595
831
945
717
502
740
509
503
87
285
862
137
878
927
997
329
845
845
529
745
605
389
408
594
35
339
194
72
371
708
462
175
71
175
197
969
355
271
201
80
315
25
691
51
974
161
200
184
436
833
871
708
583
568
5
384
345
325
464
186
688
525
170
304
881
505
458
517
469
80
494
950
685
822
318
307
661
205
328
959
921
982
167
671
105
55
70
337
784
595
677
810
507
380
202
824
963
137
659
17
211
198
488
297
490
906
585
127
36
37
191
832
643
955
534
679
486
352
434
343
837
193
297
308
864
927
53
926
676
114
640
140
115
360
566
308
592
867
943
212
427
952
117
49
738
615
725
175
910
594
510
386
83
400
779
817
886
471
692
867
856
963
912
155
603
670
309
166
788
225
523
139
423
36
184
733
821
401
513
211
777
831
838
155
197
928
265
266
442
58
423
394
126
693
672
761
948
510
665
283
440
246
467
7
151
888
697
928
915
960
334
904
288
565
879
908
191
362
538
649
50
832
989
426
458
60
63
171
491
699
369
794
338
6
499
333
806
593
926
907
641
28
169
146
290
538
61
591
917
851
220
541
26
630
930
977
980
61
688
445
107
908
613
294
829
715
751
197
427
950
82
720
650
557
682
562
364
766
68
196
811
55
223
875
891
827
188
334
37
699
374
73
919
321
961
827
188
278
840
635
927
941
554
997
308
97
615
714
167
825
388
380
889
332
449
956
19
443
966
483
500
979
183
807
267
542
524
128
235
117
191
291
371
456
383
1
630
426
416
564
25
389
107
327
996
182
739
735
548
484
830
788
325
169
674
744
920
760
372
109
215
235
613
304
506
267
1000
927
467
428
133
180
769
16
949
862
304
942
77
328
526
543
69
915
364
304
417
662
545
161
210
600
912
536
124
460
534
252
206
456
937
224
550
693
829
183
576
818
57
723
36
790
320
652
302
9
424
937
756
600
421
583
290
339
29
391
28
585
147
870
399
556
111
554
574
508
576
570
127
647
568
611
479
130
264
375
330
124
574
148
821
689
407
435
585
209
803
455
236
191
801
879
62
534
949
401
874
758
910
602
14
285
468
98
511
585
569
160
249
896
711
798
792
243
154
852
208
727
882
735
847
371
246
316
491
337
484
878
767
15
100
229
963
267
201
786
678
142
468
939
800
471
363
33
407
83
575
110
77
789
443
910
966
945
303
718
775
105
256
355
356
247
880
966
316
93
773
320
418
303
627
971
980
683
750
39
733
124
557
285
836
650
569
892
788
855
893
595
32
971
994
834
921
25
785
179
564
838
747
585
761
111
794
949
895
478
97
47
171
208
931
165
26
172
866
650
915
813
318
156
884
115
555
589
551
984
743
619
149
20
492
149
275
418
703
339
870
594
190
588
721
189
685
410
501
307
340
273
936
190
783
278
197
64
109
36
37
527
918
208
505
711
679
954
275
405
228
988
803
486
187
999
497
262
428
965
97
840
513
289
249
171
181
735
52
245
567
870
7
787
796
78
352
905
27
256
265
356
787
965
771
502
678
176
488
547
111
721
555
376
802
234
141
141
119
669
988
784
273
439
312
832
532
856
241
130
303
822
643
672
994
665
889
311
992
580
570
925
989
423
684
582
135
465
108
338
192
314
472
563
935
380
670
123
535
198
346
311
567
371
648
149
560
154
414
581
761
491
770
116
838
835
784
672
828
234
434
743
519
968
640
516
808
494
544
226
315
577
510
890
669
262
563
493
454
769
103
903
725
513
777
18
419
149
314
151
702
997
12
231
515
219
272
184
133
877
290
765
565
321
538
180
998
442
163
92
297
968
820
968
795
331
707
285
199
649
811
801
461
988
424
960
923
420
27
519
818
303
538
633
513
894
740
991
475
638
417
38
21
427
387
996
361
714
114
162
310
615
58
921
309
36
264
22
91
407
922
927
374
848
832
448
503
437
727
485
805
795
437
397
772
389
701
413
851
768
253
569
769
494
503
817
824
628
711
337
500
479
68
581
100
777
516
262
841
552
454
296
971
773
679
727
62
261
78
773
542
445
593
431
944
303
932
541
81
229
360
795
543
615
643
966
516
668
874
522
884
338
512
891
982
285
391
853
171
467
871
940
618
295
581
265
269
294
380
879
22
851
291
657
552
956
132
680
48
793
517
272
383
678
677
186
869
94
316
882
803
541
317
513
482
472
650
9
207
865
307
592
79
869
396
199
78
521
806
490
964
752
20
616
71
775
698
409
934
454
643
479
989
483
649
502
313
990
488
107
470
720
15
905
48
86
957
602
420
183
450
632
557
348
810
422
505
936
344
216
246
798
202
383
239
347
453
255
878
223
547
845
484
281
316
246
209
54
469
107
400
896
347
361
581
718
305
285
157
613
699
53
388
687
919
182
945
101
268
635
587
667
806
926
103
348
449
232
696
640
714
402
395
163
511
755
934
715
297
730
755
684
704
773
454
1000
516
328
37
718
451
448
810
940
783
312
576
11
254
916
123
843
88
273
611
765
167
766
594
536
597
674
874
991
951
496
296
372
457
412
883
527
277
117
429
37
800
302
763
812
588
269
457
861
176
497
618
731
480
521
801
602
917
130
774
127
727
729
21
894
154
685
444
814
299
612
652
838
495
864
600
155
992
921
133
411
578
987
119
562
541
875
496
688
9
169
496
472
310
726
740
50
413
822
679
665
952
623
72
859
584
222
816
967
616
153
434
293
982
189
989
706
594
212
2
305
56
126
199
478
511
103
563
911
134
950
193
70
412
992
976
261
871
686
898
608
380
133
110
209
489
728
544
281
523
498
958
326
304
56
752
206
466
703
845
576
266
916
146
269
700
383
904
100
517
737
306
35
399
408
246
829
192
303
76
50
576
581
507
868
953
448
572
111
685
710
686
867
1000
806
406
351
40
215
459
837
549
358
940
213
650
641
392
113
998
828
625
642
353
742
729
423
295
177
722
80
342
13
676
271
227
716
947
105
464
834
368
90
620
618
857
773
891
601
930
872
702
838
16
26
35
501
324
236
103
714
244
718
821
822
894
130
231
774
507
113
672
945
789
638
28
505
234
925
829
402
695
590
317
121
126
237
865
663
549
936
262
585
754
881
508
529
152
85
645
409
492
105
133
282
872
678
973
10
586
619
539
994
852
488
645
627
424
349
878
627
401
413
667
77
283
466
835
824
496
768
646
872
123
552
445
541
571
330
73
458
231
958
138
900
13
845
103
603
741
695
888
929
50
954
349
200
363
445
579
61
948
745
410
8
849
522
943
553
696
389
126
92
5
856
694
206
612
562
799
993
302
345
712
51
530
616
875
889
377
152
396
870
509
709
810
273
991
768
550
712
233
334
121
906
230
949
404
801
527
982
857
85
2
830
658
469
665
862
975
468
139
818
627
19
402
918
365
8
652
87
888
652
895
580
505
730
928
761
10
865
950
956
993
403
938
111
252
957
260
435
436
354
745
360
332
535
569
895
441
958
866
914
635
173
935
983
689
557
286
109
465
610
511
161
337
854
184
806
221
135
532
493
238
16
655
413
588
63
422
364
704
41
3
168
125
419
207
596
817
135
376
768
857
266
651
666
513
125
820
663
726
277
797
986
941
183
41
618
34
479
834
443
816
373
424
358
214
304
471
673
775
790
115
382
573
326
240
752
960
326
211
285
841
355
403
286
323
305
372
161
662
762
392
91
387
533
381
922
379
187
959
925
456
519
485
621
723
29
454
975
510
887
537
100
285
348
914
68
270
254
259
553
865
98
890
796
177
87
173
835
76
802
178
24
272
313
1000
600
804
101
893
491
211
703
566
589
404
790
548
440
908
291
543
672
726
252
79
516
541
359
548
452
348
433
975
358
913
750
415
531
622
749
956
613
404
530
688
756
403
571
856
322
998
265
640
47
566
179
660
879
136
448
356
608
683
340
842
36
367
820
699
641
462
894
460
639
47
629
190
855
827
991
663
74
569
79
125
392
736
889
536
616
867
502
454
967
115
439
479
141
176
12
248
329
501
662
518
910
290
664
787
358
290
61
246
381
804
391
580
395
661
561
306
261
86
236
857
620
585
224
602
240
953
645
350
582
486
126
652
135
303
845
397
188
460
54
774
379
186
578
679
753
135
908
13
88
47
706
144
934
546
947
3
134
141
454
902
629
644
291
174
953
347
327
170
182
291
309
990
35
874
941
534
459
864
789
140
307
601
324
108
650
821
45
860
864
31
421
377
859
858
339
802
754
102
850
770
822
500
279
146
777
352
162
280
336
259
77
860
503
150
134
664
235
705
815
294
966
17
856
36
978
80
111
534
745
242
640
900
206
301
836
187
377
308
15
923
826
483
769
528
333
846
330
997
474
327
341
184
978
117
734
397
421
5
852
773
265
258
551
80
273
388
821
187
77
778
320
423
24
742
355
434
463
40
26
970
326
253
672
220
192
731
276
952
15
988
197
693
357
537
463
675
273
163
848
32
970
527
157
42
965
831
426
796
765
983
277
772
16
343
249
217
659
653
782
127
887
210
415
867
582
682
924
178
496
221
352
356
630
696
317
928
159
925
546
6
758
777
350
828
390
858
578
674
448
336
713
505
627
104
889
136
88
94
50
733
241
79
895
724
994
679
14
961
380
628
359
134
297
575
244
946
508
816
163
581
144
405
26
286
701
16
867
729
926
790
667
914
43
158
714
67
487
270
846
844
698
261
959
666
521
30
463
726
495
600
676
483
608
418
758
9
106
129
442
641
619
484
708
758
143
14
526
369
408
44
994
440
768
410
499
508
40
996
31
209
643
812
390
784
983
877
853
509
289
630
794
251
977
908
858
36
216
823
576
598
554
1000
689
364
367
718
60
230
384
478
767
780
751
380
850
312
943
497
254
141
303
131
682
193
169
390
451
788
340
106
944
892
104
443
916
825
178
932
763
562
688
834
805
326
734
915
806
125
202
712
228
244
218
334
180
482
35
678
613
96
225
715
90
994
747
128
371
719
824
192
132
145
638
220
362
635
463
319
382
573
270
442
952
852
785
955
668
883
655
16
659
118
682
65
663
938
63
642
672
963
161
578
711
525
665
298
763
51
869
640
511
604
455
101
349
666
347
888
69
534
168
468
738
361
347
612
547
978
151
46
815
94
807
905
927
400
383
178
706
378
290
175
607
329
117
867
166
266
995
628
341
817
841
492
729
212
659
588
166
780
513
759
882
103
933
765
204
118
287
626
787
29
69
834
491
825
179
188
309
580
986
937
216
484
380
771
387
715
77
979
35
852
177
699
1
530
297
821
328
425
690
506
268
438
402
739
570
200
874
548
428
594
402
764
187
24
502
280
737
602
560
758
559
228
83
669
550
804
528
350
59
459
918
488
99
703
439
86
264
901
755
477
746
325
56
416
749
287
755
619
720
568
287
370
92
405
712
995
619
832
667
41
999
2
752
993
187
497
632
248
682
272
948
819
147
33
661
974
888
358
577
581
91
800
630
456
229
529
963
413
716
842
951
35
704
971
123
396
918
219
332
132
547
366
659
238
503
686
237
961
820
677
622
983
559
758
382
840
367
824
284
209
727
472
848
220
47
170
47
474
926
396
638
788
376
1
925
986
264
679
770
267
981
409
322
739
188
201
224
761
498
280
54
602
122
113
342
775
835
286
827
108
115
336
499
261
905
74
623
913
283
796
130
309
264
73
708
184
40
464
457
349
271
590
210
388
410
499
475
965
672
133
487
232
930
36
56
701
765
118
721
730
908
428
224
460
513
405
473
651
71
990
966
363
282
330
130
823
857
546
126
184
74
154
470
33
873
329
247
719
410
111
787
522
306
41
413
708
256
489
293
296
276
106
452
166
636
396
759
762
431
444
52
247
831
162
578
405
280
292
653
992
294
538
740
512
53
886
172
583
699
122
396
172
85
50
901
963
744
688
992
48
21
1000
171
939
623
346
165
642
338
896
598
120
297
699
858
70
963
970
997
321
963
439
371
555
7
254
309
278
373
45
303
146
889
225
101
804
886
506
578
395
354
912
492
735
402
266
30
982
173
271
573
286
575
787
247
519
530
867
656
686
954
428
625
35
380
178
944
191
922
563
852
868
279
64
440
850
620
100
265
954
475
201
179
636
206
841
800
761
260
535
128
796
125
358
478
346
879
54
324
548
267
296
649
271
477
429
80
477
172
302
442
384
899
325
353
244
660
985
127
679
323
433
593
480
541
596
352
743
19
529
670
966
303
342
454
517
744
96
689
472
910
527
318
366
548
324
801
868
113
926
462
690
5
538
323
358
923
82
334
568
141
346
755
971
124
449
16
176
581
63
527
649
995
546
782
962
677
214
561
565
604
570
240
815
651
160
968
527
355
117
992
727
1
158
483
573
649
961
37
673
713
397
441
132
827
48
359
704
31
809
409
367
774
142
418
495
809
720
780
542
845
797
500
824
726
620
920
552
986
579
122
736
861
631
705
967
217
708
968
367
422
440
525
194
852
562
44
673
626
777
85
649
117
700
19
554
23
728
586
12
48
346
962
102
760
421
129
970
820
490
923
974
567
915
403
26
900
62
67
115
494
311
9
264
671
819
330
336
641
409
988
164
415
901
785
462
431
449
399
841
804
211
189
62
172
743
9
321
296
62
413
988
944
245
450
710
80
746
712
204
73
367
408
379
450
974
43
663
702
575
682
519
783
349
891
197
257
591
198
684
479
289
297
682
794
226
305
192
541
107
69
944
515
166
935
477
663
135
356
158
979
242
469
783
991
100
61
731
750
8
368
787
933
153
793
889
541
656
936
30
681
249
316
479
81
577
757
273
324
788
704
708
262
127
677
117
709
693
649
819
310
386
378
535
430
364
647
924
9
965
901
145
605
172
3
510
250
167
693
369
330
418
870
330
424
48
1000
810
944
944
777
680
417
175
704
488
518
809
352
305
245
143
927
784
201
712
198
404
584
139
979
199
314
92
133
496
723
113
500
312
350
71
243
112
701
354
854
531
261
670
458
574
663
520
128
506
688
980
616
329
678
423
309
326
16
203
209
586
575
126
464
849
412
748
274
250
528
140
25
787
227
799
144
375
439
787
485
411
421
43
1000
642
375
18
113
980
893
467
442
590
579
240
497
267
867
418
535
584
829
960
18
792
726
339
34
777
159
284
566
623
940
860
749
530
219
581
101
855
984
170
251
51
783
860
874
149
386
853
379
217
188
664
397
913
305
596
262
850
713
521
501
20
275
467
800
893
163
270
46
156
24
669
818
271
202
797
135
165
495
961
358
383
171
989
901
12
479
161
794
491
438
958
204
218
494
410
754
486
533
833
817
887
808
133
33
763
597
669
938
682
755
848
972
204
911
278
105
371
729
281
992
500
519
36
851
798
509
432
262
302
228
949
672
398
810
543
685
942
488
556
155
619
190
126
676
705
940
446
330
860
732
484
432
901
631
452
596
793
124
404
650
217
183
821
787
181
37
942
904
87
427
906
220
553
960
473
138
80
273
193
806
351
860
449
972
523
833
690
554
414
338
514
800
868
76
13
47
909
156
924
856
532
519
684
729
76
292
443
737
199
739
470
81
393
911
128
70
819
718
797
16
35
898
696
281
799
285
544
81
735
846
392
681
121
191
775
291
402
653
525
326
375
568
199
685
127
103
118
349
948
804
412
928
425
98
321
727
845
98
228
545
832
422
544
690
905
216
643
620
223
178
453
231
375
220
234
39
458
311
284
418
93
184
46
614
225
836
127
470
769
168
264
665
189
694
129
805
95
979
227
889
815
350
766
506
680
470
579
614
471
558
631
933
43
416
608
746
685
909
406
417
154
224
77
14
655
81
940
250
263
999
101
330
394
921
616
443
5
739
854
350
101
753
425
924
13
675
185
574
640
568
435
179
533
28
412
558
232
980
559
499
788
703
872
75
726
92
828
320
55
680
11
306
53
681
567
354
721
142
69
392
747
323
165
456
785
582
668
934
620
373
359
460
558
441
837
265
977
941
213
414
539
11
297
582
971
242
213
939
715
654
37
269
963
987
154
660
768
587
495
989
9
700
747
924
923
759
884
388
826
97
121
246
434
592
474
471
852
939
645
217
946
598
877
16
275
987
750
803
207
150
633
569
126
965
664
255
891
922
646
886
818
668
256
94
500
768
282
878
725
620
399
865
593
57
169
417
687
907
527
617
833
745
2
551
526
104
329
333
582
680
905
999
969
418
735
746
35
942
156
975
560
465
629
263
139
205
310
694
444
297
970
943
770
416
42
130
138
600
241
745
925
291
246
866
628
194
394
501
898
415
192
115
440
226
735
316
698
952
796
238
522
720
409
355
173
240
309
357
57
348
420
230
609
791
958
873
577
599
352
430
763
466
360
993
985
716
234
519
585
840
747
580
352
54
203
45
114
31
306
924
590
765
907
367
286
515
187
250
391
928
817
874
636
686
976
56
14
548
880
274
149
189
690
612
804
48
175
946
724
303
586
200
550
156
512
524
16
868
343
921
46
332
149
205
616
559
410
166
467
126
38
459
839
493
580
65
420
120
296
117
576
471
82
516
796
334
811
43
972
344
750
604
770
256
165
829
910
299
58
509
573
882
304
242
538
64
85
230
894
407
622
374
323
314
706
705
33
473
390
688
388
795
552
157
155
111
703
438
94
928
555
759
271
767
380
156
131
927
112
933
804
73
476
165
591
684
182
882
852
234
345
335
759
957
863
179
510
198
430
520
623
615
242
485
878
989
194
405
337
969
584
756
593
855
882
702
111
460
145
488
23
120
30
913
292
216
172
855
470
890
901
108
601
251
880
816
6
2
272
443
775
329
470
514
800
868
253
344
107
757
476
567
43
98
50
600
606
628
997
61
848
57
868
791
785
291
618
350
734
748
362
782
301
51
64
979
543
654
322
221
939
387
896
310
926
455
511
262
683
194
789
705
749
742
842
963
856
830
208
317
23
143
303
66
573
971
510
847
247
488
329
119
983
563
803
838
251
919
519
149
64
376
82
332
918
85
900
333
925
940
469
986
390
816
151
384
880
869
583
972
632
924
454
608
777
860
367
237
451
22
920
834
307
870
900
968
352
507
748
677
298
251
7
332
822
103
547
841
220
863
719
829
936
602
502
421
401
422
871
846
361
711
306
405
679
623
407
223
154
131
24
842
490
784
178
942
951
281
341
371
619
50
288
247
405
298
840
84
119
420
296
792
10
215
254
911
112
111
813
635
643
459
865
4
487
35
301
179
464
59
465
810
714
409
127
376
17
224
575
798
267
758
169
776
665
161
831
52
400
851
526
272
705
302
713
172
259
310
130
594
781
320
53
208
570
941
316
913
468
582
998
568
388
36
649
112
127
931
334
122
650
177
557
580
402
953
374
940
520
302
567
583
969
105
816
399
761
67
209
576
402
364
259
581
622
752
871
9
271
286
289
199
983
257
169
480
830
617
329
496
744
930
625
301
911
856
661
819
693
272
707
827
893
406
309
836
343
765
533
108
844
223
702
592
485
368
787
718
224
87
294
872
428
420
650
825
729
905
563
572
179
1
793
848
175
689
80
28
46
1000
740
273
507
93
552
530
403
411
144
465
313
667
27
456
599
635
779
560
446
212
691
747
265
807
305
759
625
887
923
673
487
408
96
618
128
962
537
106
600
685
691
163
930
354
390
739
586
663
665
906
911
354
775
987
306
741
967
97
995
176
289
491
66
170
39
802
329
229
77
466
253
909
245
624
865
264
658
326
25
648
432
163
966
768
733
307
288
4
667
539
891
278
665
35
470
162
439
561
276
489
553
258
804
487
895
380
973
304
78
187
123
872
903
698
864
234
538
156
407
836
985
871
505
770
761
568
558
656
433
494
725
644
813
318
156
34
157
282
531
105
680
163
174
87
55
352
939
620
344
743
891
667
969
219
600
630
940
198
498
282
519
99
319
273
911
614
133
143
372
345
843
194
333
723
320
104
741
103
525
866
857
596
78
511
169
516
737
42
908
256
158
236
896
62
126
241
108
441
168
408
365
852
97
424
61
966
562
617
654
977
124
231
956
386
739
608
910
229
757
445
643
922
739
735
56
790
436
567
119
861
263
692
344
699
473
648
594
877
24
293
543
208
826
772
566
990
655
325
823
333
517
839
584
112
667
729
621
197
805
537
612
396
183
650
56
994
496
649
186
831
466
104
679
651
977
92
781
809
441
296
622
531
864
333
62
602
727
855
439
743
350
66
948
970
912
498
190
905
646
312
669
351
49
907
569
442
99
326
234
339
619
825
133
733
873
948
987
410
454
649
921
717
291
316
186
102
346
33
30
764
213
57
765
108
340
278
927
908
59
377
719
983
949
521
572
776
325
669
783
425
769
1000
634
777
743
558
327
348
249
906
357
406
403
511
644
181
585
598
883
732
484
412
66
122
1000
204
75
397
441
746
571
291
868
862
139
730
768
287
809
994
450
139
603
777
695
436
736
558
214
383
454
357
438
597
261
432
975
44
474
461
859
248
602
529
356
209
86
576
658
587
258
996
297
898
257
778
446
905
788
891
606
867
256
657
333
85
818
451
787
958
324
428
871
861
947
925
639
245
551
786
487
741
481
177
350
514
513
362
750
731
174
505
102
837
473
840
102
258
400
394
387
256
187
84
900
943
425
155
560
858
630
845
903
103
717
665
341
752
181
887
544
143
458
649
269
714
72
610
617
217
694
224
333
538
154
508
233
825
793
666
286
336
276
33
170
206
131
587
365
329
830
713
963
710
197
1000
410
886
268
585
359
519
532
970
621
835
629
302
5
360
178
807
449
316
394
466
464
125
563
11
337
692
202
48
945
523
7
422
329
294
239
948
334
166
261
289
759
10
352
57
424
730
760
208
527
998
180
378
416
100
524
141
686
31
857
52
92
617
870
968
341
262
95
368
247
845
366
288
88
400
681
85
261
494
710
407
489
600
709
657
906
391
443
754
312
553
82
179
773
648
691
137
539
579
90
152
915
419
346
590
364
713
118
386
573
889
374
738
677
68
782
636
107
396
166
898
780
2
40
782
483
824
113
374
302
837
91
663
940
664
830
652
576
170
89
876
691
385
706
451
950
33
10
123
779
16
700
830
775
429
178
957
445
78
572
831
60
9
291
980
626
259
952
332
27
908
974
856
448
485
950
98
64
19
161
693
814
269
213
213
800
214
874
644
471
495
609
369
308
283
179
805
151
26
974
706
658
617
378
742
661
777
583
163
315
901
746
218
28
151
277
553
124
334
348
974
66
990
427
813
866
147
750
629
980
417
157
134
619
442
669
32
863
234
490
938
425
613
863
658
206
757
370
896
987
887
807
871
788
235
706
456
392
723
976
140
542
256
881
582
100
124
750
535
283
770
406
656
682
107
285
96
396
637
622
766
47
857
857
897
846
834
654
816
148
343
518
885
140
726
22
183
403
400
89
840
82
37
595
871
324
558
805
22
453
416
808
363
81
143
148
350
968
751
326
639
8
392
695
182
128
611
570
62
267
643
998
44
827
480
788
86
177
828
821
872
833
659
600
1000
935
819
285
618
499
987
176
155
725
383
699
282
325
781
500
395
444
763
158
723
229
638
368
634
546
165
183
812
634
979
60
798
723
664
974
771
758
506
872
582
439
292
59
775
686
937
901
732
526
348
404
156
120
694
800
806
350
171
280
775
897
409
393
629
281
926
431
415
649
412
351
883
445
145
357
259
219
594
340
565
15
62
747
799
690
280
321
237
512
3
380
748
143
8
935
305
862
348
34
787
516
376
132
768
201
846
197
243
157
326
487
140
654
292
654
9
960
524
873
527
593
832
225
306
169
733
410
27
92
431
222
107
244
313
874
949
595
263
417
315
374
250
991
531
1
39
579
16
521
359
285
127
682
555
867
400
93
551
419
68
165
963
656
172
623
307
187
648
454
558
559
548
56
770
594
950
249
67
737
148
514
67
710
468
536
747
764
392
649
798
193
725
295
785
615
210
952
791
688
349
307
773
579
166
619
562
513
323
308
297
137
306
857
86
310
339
962
876
114
343
728
801
585
503
417
809
655
975
891
970
315
806
402
664
819
448
876
818
52
99
126
453
857
684
733
59
188
519
461
754
455
546
172
737
320
565
138
295
507
94
574
501
884
291
963
778
217
899
462
731
480
324
268
959
571
745
314
138
574
655
110
250
495
314
821
750
494
418
934
366
237
673
962
417
901
108
705
794
779
652
496
234
155
954
735
82
333
446
750
532
263
393
703
245
213
19
806
314
316
858
603
782
641
137
449
306
616
341
599
99
289
133
503
996
889
424
45
328
600
708
396
314
292
757
140
841
192
370
89
847
109
165
963
958
906
335
721
738
339
863
880
625
279
975
585
652
576
467
556
89
511
143
293
468
881
782
60
823
216
959
263
576
556
541
806
236
509
884
860
938
997
587
316
932
244
171
835
299
62
178
42
537
421
25
904
195
617
388
733
357
105
40
592
651
196
804
93
404
372
771
701
717
942
976
714
539
103
496
10
231
266
334
516
770
669
514
88
460
883
516
195
960
811
568
306
510
172
330
408
469
264
201
438
648
14
793
685
507
924
157
450
932
555
960
306
209
617
134
339
799
550
504
638
699
756
484
144
492
228
249
658
675
454
694
484
490
846
108
661
275
881
714
244
313
364
147
385
239
919
490
264
364
907
718
47
653
422
254
150
701
958
881
21
777
618
434
572
868
429
553
151
740
476
234
650
200
66
119
937
111
59
245
312
234
847
432
85
621
194
651
716
123
299
432
147
556
988
870
115
198
916
827
257
592
1000
705
766
78
100
553
191
82
120
344
761
957
300
959
234
78
452
793
875
985
281
939
609
594
758
562
811
864
687
451
439
894
254
697
447
74
337
140
490
814
817
488
945
360
921
28
183
386
906
431
845
377
23
457
605
292
735
281
502
646
654
770
523
920
508
275
475
202
706
410
621
17
777
855
738
593
20
416
461
248
194
481
826
108
981
504
902
145
244
356
277
393
823
213
965
231
725
155
976
849
64
795
385
345
63
75
283
439
751
828
331
422
718
814
40
826
444
755
43
255
282
276
828
956
104
795
368
17
21
120
90
513
318
945
428
545
954
457
975
859
544
26
924
670
736
290
25
379
282
980
795
107
919
534
62
359
367
869
238
671
381
680
893
797
800
300
311
846
976
454
695
797
790
210
626
977
703
46
183
434
941
241
846
590
954
730
951
228
758
138
1
628
628
981
561
643
885
904
840
611
176
399
285
232
775
647
719
1000
863
28
572
333
694
331
760
264
816
916
642
469
251
903
265
446
637
969
792
827
865
475
635
229
653
465
284
477
867
549
265
779
89
784
945
216
135
471
173
881
719
198
814
193
463
571
332
138
800
799
472
692
72
717
961
260
337
900
912
733
946
208
246
698
971
493
54
379
925
244
247
160
62
582
281
892
713
412
962
758
743
497
599
142
248
895
802
832
13
496
293
893
96
370
953
688
163
255
183
892
793
797
368
800
90
75
851
869
329
559
384
231
292
872
447
877
170
646
184
288
604
309
946
588
530
869
619
687
966
628
952
461
781
278
97
759
787
30
434
911
208
265
558
438
689
675
989
888
518
51
751
77
699
640
509
493
783
506
310
351
178
410
352
543
739
526
367
767
37
749
393
219
630
410
692
545
54
13
561
192
1
948
592
904
328
253
724
878
141
177
65
8
175
679
45
713
76
22
940
101
25
328
157
582
310
254
1000
593
109
7
785
820
726
503
313
123
992
852
669
410
330
257
277
867
260
78
907
272
755
72
100
604
889
757
74
805
715
441
716
326
134
704
738
63
823
26
365
384
944
802
238
202
445
223
338
476
249
351
819
116
538
256
609
956
627
271
515
388
619
254
359
274
190
241
369
952
313
37
619
528
713
104
871
118
141
542
521
432
313
128
714
851
489
115
902
194
244
944
236
449
915
124
244
88
584
252
167
6
236
588
190
729
883
619
540
325
63
794
121
336
71
964
870
154
714
100
540
483
163
542
980
900
670
378
242
122
579
532
84
214
16
824
510
897
126
542
975
92
533
58
842
3
927
622
452
389
364
757
913
134
871
618
338
881
443
251
797
268
369
948
701
280
91
804
661
317
475
122
150
844
481
536
434
920
664
610
311
470
878
175
184
881
828
863
848
428
835
133
188
33
286
596
645
109
776
570
939
547
853
641
11
461
635
436
581
953
282
969
23
978
481
677
493
395
619
704
360
404
307
84
39
880
272
219
264
547
394
461
691
563
855
634
461
835
951
102
38
305
93
307
183
521
934
760
407
55
353
153
637
678
233
578
84
807
591
864
540
371
641
680
379
156
771
363
587
666
300
394
22
724
56
86
953
354
527
290
620
972
323
904
211
546
213
515
180
177
798
791
262
526
212
117
915
575
870
543
145
517
401
317
844
963
374
158
853
237
327
944
902
260
904
684
496
412
633
475
567
808
953
639
441
618
674
408
230
424
924
312
291
114
8
900
803
486
330
551
805
554
677
900
301
550
710
851
134
714
471
221
384
299
85
836
984
649
583
261
99
808
988
458
561
902
342
328
318
425
381
505
427
675
943
784
592
768
994
240
612
101
363
455
429
620
912
256
607
10
861
16
222
728
428
891
103
839
775
321
319
792
495
760
579
570
509
858
977
151
305
265
111
856
904
821
174
937
804
136
10
718
416
468
542
724
200
365
160
455
770
763
886
933
749
89
154
675
24
465
36
518
387
267
617
581
216
163
25
702
1000
233
292
906
14
931
826
775
376
457
797
151
58
583
131
237
159
85
124
5
902
719
928
794
337
110
273
113
750
28
839
983
72
237
621
562
402
555
486
442
927
783
889
749
77
885
342
95
783
200
832
519
65
450
838
775
4
35
990
711
354
422
681
47
643
430
151
519
679
898
657
265
745
479
348
299
658
328
368
109
52
27
538
733
944
394
681
152
646
752
302
476
573
813
842
192
352
602
196
692
918
737
521
403
928
919
604
123
954
753
256
547
365
838
212
586
725
640
50
783
831
794
470
30
216
387
97
834
70
207
645
571
41
141
881
540
303
693
339
125
632
67
138
52
931
373
579
551
844
314
417
208
590
112
841
443
163
554
222
834
365
774
630
957
936
783
990
18
207
827
468
335
299
371
374
602
857
870
410
5
735
531
582
425
822
926
455
409
424
700
754
87
218
574
449
953
833
514
622
245
515
259
368
717
195
339
932
716
490
356
70
837
829
579
374
909
947
823
898
674
450
197
4
352
991
525
731
202
925
174
399
330
917
562
362
219
122
851
31
911
9
182
309
316
798
367
602
879
809
105
413
712
690
650
321
333
639
355
857
377
239
662
366
983
447
917
451
72
630
868
28
415
264
807
306
205
57
116
256
825
829
388
252
651
404
409
603
17
179
16
629
922
761
256
817
664
264
338
292
345
453
566
554
119
867
837
964
124
504
299
952
272
407
452
287
450
720
322
61
252
405
339
189
37
803
174
370
972
676
142
433
745
190
714
903
787
534
312
456
165
523
838
638
804
579
336
862
327
945
738
232
586
853
953
186
921
631
400
291
293
421
681
792
671
244
306
669
518
675
235
14
755
227
541
542
335
917
690
901
436
123
762
239
342
16
439
197
260
333
742
68
697
193
304
390
511
5
437
634
446
235
369
976
774
960
799
373
628
684
375
268
791
846
764
307
957
814
745
395
966
942
156
242
84
425
590
332
199
283
437
905
707
785
264
80
914
38
524
769
66
238
305
367
445
314
128
525
566
304
845
470
167
808
312
474
574
312
817
38
16
993
247
305
640
863
546
9
297
752
347
998
671
681
553
4
917
643
260
855
828
652
654
794
444
222
410
879
160
92
689
725
637
92
53
6
247
563
457
181
338
609
55
912
377
769
695
489
867
425
845
401
16
342
185
844
324
286
248
593
598
574
305
137
439
760
162
417
904
379
634
797
860
834
286
141
551
59
412
998
24
538
347
917
347
649
960
867
16
33
539
603
555
915
387
531
48
838
135
329
316
293
152
131
456
117
472
546
759
316
333
173
363
206
768
570
565
348
676
803
404
806
481
822
4
653
751
900
144
510
165
291
724
117
804
81
107
605
28
923
792
167
142
984
532
307
649
956
774
686
110
451
280
872
570
413
870
978
31
465
511
239
708
258
367
84
644
952
42
155
798
946
932
1
918
830
526
935
329
359
523
592
285
890
840
299
671
363
925
265
654
397
338
950
362
473
185
689
766
512
857
827
748
372
476
124
741
902
617
206
448
266
137
149
878
145
418
78
333
311
931
854
62
804
774
467
995
606
783
779
345
277
874
633
904
490
504
163
535
784
530
322
702
128
298
304
882
109
481
493
358
621
42
73
188
961
726
196
132
143
632
893
921
57
761
536
547
822
901
718
170
310
868
877
846
373
883
836
519
712
861
743
619
710
442
520
176
791
913
60
575
22
534
856
937
755
389
691
657
71
627
269
809
676
792
417
953
672
45
575
398
336
250
816
124
618
246
591
358
597
169
682
291
522
324
617
521
403
955
947
601
323
238
321
508
788
944
253
915
446
543
862
928
489
937
610
336
839
642
257
475
42
989
822
538
398
832
340
528
462
338
596
81
498
653
818
64
874
626
516
200
633
328
270
979
721
798
306
742
394
291
94
153
385
338
61
244
274
90
746
822
362
720
362
322
48
183
788
111
341
227
468
856
700
378
566
794
793
535
988
667
153
965
558
626
955
699
733
641
275
790
704
814
302
445
657
514
906
791
249
474
877
899
63
767
903
774
929
147
96
164
516
341
416
452
520
706
889
375
115
141
917
990
70
245
284
137
72
510
694
619
365
763
811
484
758
155
803
43
417
757
323
756
650
221
733
692
35
15
110
39
855
467
247
76
780
226
417
61
126
761
161
759
845
226
719
689
566
341
27
730
678
950
382
426
420
554
982
180
380
448
561
541
662
34
227
965
188
525
455
740
266
514
895
270
599
840
280
517
372
741
283
241
922
565
571
572
748
196
695
607
325
907
683
954
237
578
372
568
661
96
592
820
108
252
264
449
640
670
381
939
491
129
618
918
131
122
994
362
320
680
631
759
664
265
149
881
459
35
642
495
416
874
509
179
939
385
623
355
238
459
477
824
476
137
936
377
528
228
228
479
711
531
600
659
994
598
845
1000
821
672
574
14
612
805
661
298
462
197
761
574
325
480
192
114
179
14
755
91
295
241
247
103
751
837
544
964
744
653
101
874
112
468
673
259
691
135
830
870
794
33
600
247
144
637
183
252
60
624
226
219
534
178
587
158
155
62
855
610
449
575
174
995
352
742
50
686
970
945
913
667
712
746
148
331
157
809
238
859
745
709
392
694
485
880
765
792
388
119
955
711
283
878
975
92
978
31
308
785
480
938
965
654
152
385
696
128
194
450
639
657
841
388
700
550
992
420
951
127
791
681
120
698
837
670
57
680
277
227
680
35
57
472
498
351
952
141
274
52
861
441
765
651
989
916
766
512
219
767
883
238
952
754
555
722
142
127
842
858
74
948
416
112
684
853
20
452
856
537
344
647
189
184
952
554
177
686
387
824
615
693
40
399
328
491
718
291
956
216
101
370
660
174
426
350
80
864
834
684
752
873
754
864
540
954
592
462
298
483
801
334
132
940
57
572
118
259
898
173
283
668
691
898
984
124
158
444
545
554
77
925
179
915
938
574
759
496
499
782
963
994
206
826
687
625
396
140
382
960
38
540
160
205
533
617
81
389
745
413
43
275
16
565
64
840
367
345
577
873
509
408
556
557
516
605
880
906
266
906
417
594
809
358
677
6
841
998
763
308
388
805
553
967
592
124
727
428
248
457
268
567
338
150
546
169
377
326
961
888
791
322
378
81
940
41
265
442
611
860
546
599
994
155
649
694
215
113
126
503
471
177
547
825
689
410
47
741
429
83
45
791
426
987
148
323
788
339
213
38
343
666
844
241
64
696
351
432
806
152
351
627
817
277
726
260
609
104
627
602
819
735
575
355
630
380
462
526
165
488
456
704
29
83
393
602
831
313
208
101
92
328
375
40
401
806
117
698
93
848
366
253
964
496
43
504
785
853
278
766
417
604
598
207
384
779
945
819
650
753
643
857
149
816
47
858
376
109
686
275
942
375
168
375
564
761
951
256
362
869
402
804
740
329
192
894
324
474
196
428
630
83
543
621
199
740
345
506
881
98
957
793
873
218
319
79
861
197
30
886
341
492
355
157
767
726
269
665
700
247
975
244
527
400
99
873
648
287
866
420
243
772
161
308
867
637
297
417
158
68
703
335
882
123
499
413
383
423
114
198
279
79
675
492
879
783
896
682
388
72
579
984
427
990
644
986
784
790
833
132
576
823
806
872
239
494
408
800
805
14
296
422
976
665
939
185
395
509
259
993
332
753
818
724
735
489
520
201
213
167
218
663
70
927
546
6
937
905
489
2
908
697
948
241
334
457
597
755
591
504
835
169
216
893
533
748
757
155
570
881
585
261
864
404
691
947
725
644
183
712
856
227
798
176
292
508
256
972
847
931
680
54
444
768
637
77
783
442
570
543
401
108
522
498
113
206
98
879
199
507
539
68
452
523
637
801
417
245
988
340
689
873
709
764
160
585
352
274
484
412
191
650
844
965
449
413
298
129
321
737
598
787
839
913
417
350
721
968
312
124
348
105
616
547
944
766
659
938
816
453
409
672
275
932
614
640
448
75
51
454
773
384
291
61
361
211
716
390
800
763
141
182
208
283
539
360
511
174
808
203
982
446
432
91
64
578
206
768
366
768
862
933
516
614
602
449
243
440
7
622
660
857
769
802
229
656
980
33
285
793
502
598
342
63
27
86
592
26
51
33
170
913
891
292
769
485
272
28
152
332
766
633
944
651
546
933
835
329
503
740
21
82
760
223
218
455
12
558
129
740
923
15
553
247
27
992
673
903
183
491
206
862
655
191
225
672
330
562
453
528
396
478
749
353
65
344
314
730
551
93
886
224
587
292
793
251
195
228
305
455
314
62
139
488
149
56
338
220
771
443
989
657
612
705
407
238
950
930
501
817
396
397
962
295
705
785
856
825
918
190
938
494
966
651
723
637
403
55
950
263
832
64
559
593
948
217
733
392
845
437
867
579
387
992
548
607
989
358
757
213
125
560
555
464
219
271
433
449
378
392
384
579
574
876
474
243
482
274
396
449
166
848
8
178
200
159
371
414
605
668
160
184
214
275
612
496
657
693
373
762
213
220
700
156
180
766
470
345
255
986
391
237
651
954
574
690
340
127
403
598
825
259
242
456
358
525
52
227
326
366
438
355
844
458
14
837
237
777
189
516
211
941
674
231
960
897
60
967
392
521
801
936
929
917
793
374
63
12
563
894
955
568
735
435
877
857
80
211
260
84
910
559
376
82
45
260
506
948
854
754
517
48
117
619
363
264
577
836
985
456
95
661
417
825
254
374
714
318
107
766
473
219
531
11
295
841
294
468
553
551
527
52
197
443
740
26
138
610
933
468
981
344
623
205
450
568
785
704
919
457
841
277
838
543
800
947
717
515
583
523
555
602
380
733
236
661
601
743
486
46
640
56
423
942
156
546
621
44
86
353
846
428
886
456
332
968
799
29
528
899
86
71
743
992
235
401
4
319
124
830
759
801
14
216
759
544
3
134
539
481
306
133
504
986
283
846
474
935
671
812
939
165
874
446
972
386
481
511
933
388
422
351
590
832
271
327
318
981
284
179
325
496
648
480
688
804
330
969
108
633
606
291
913
991
56
628
808
267
369
730
269
138
748
132
289
680
132
703
373
374
694
232
324
754
295
447
342
43
664
715
424
476
67
707
860
942
166
453
868
214
553
554
65
326
201
792
498
563
677
22
451
139
514
26
75
884
572
938
189
169
579
996
244
826
279
596
562
97
799
67
414
444
885
168
428
641
667
7
98
728
453
5
889
241
875
549
523
639
370
200
596
17
606
636
545
965
954
91
365
936
500
637
192
596
461
566
18
396
27
36
359
48
833
336
647
701
271
385
487
303
811
560
703
114
338
518
240
318
272
474
608
460
901
306
522
769
912
908
795
471
604
485
344
872
617
845
366
350
320
293
374
358
171
420
789
242
501
977
205
932
121
981
312
579
110
408
642
803
949
142
15
504
861
332
561
123
895
935
678
833
777
39
149
391
47
488
897
255
286
452
558
192
567
848
110
738
348
915
294
822
158
863
476
336
357
197
869
644
146
252
766
866
801
484
543
255
774
273
706
152
917
375
187
802
593
616
435
798
834
156
569
15
43
429
18
699
940
862
630
802
601
620
173
737
459
911
529
485
97
825
653
386
481
319
528
3
79
683
955
166
929
767
997
673
320
325
268
162
205
40
112
332
847
212
860
65
499
613
29
952
90
719
306
439
3
394
594
50
33
105
255
173
517
904
885
478
461
778
639
323
186
399
143
440
682
979
519
803
353
722
884
782
321
297
982
636
767
892
254
932
70
648
772
707
647
698
912
38
487
621
573
249
314
829
13
145
223
328
130
493
406
296
70
509
276
161
624
210
898
182
759
353
148
90
981
91
419
965
967
668
15
404
43
173
611
964
631
884
264
44
772
771
509
649
162
492
24
905
921
627
179
856
522
945
546
770
829
213
120
163
241
435
547
766
296
430
144
953
921
360
877
474
682
123
735
933
50
574
139
110
679
142
135
124
147
751
98
396
421
905
618
598
565
436
19
40
855
655
722
480
484
634
276
948
563
885
401
975
908
994
867
582
446
629
350
461
706
944
672
91
949
576
992
888
7
341
592
123
759
223
852
33
496
483
917
456
147
507
323
359
406
546
545
837
381
637
49
501
266
801
901
695
885
89
424
664
707
174
697
591
67
942
931
429
862
992
859
578
1000
47
332
754
176
993
270
849
377
717
918
183
671
928
169
322
408
890
335
533
970
350
328
59
600
992
704
579
620
407
365
660
588
937
38
505
531
726
820
30
435
981
182
147
568
734
838
154
94
392
774
283
607
965
587
797
944
124
957
511
596
227
765
238
579
977
839
460
429
677
819
474
282
926
930
377
685
150
730
502
846
602
57
343
525
326
477
596
687
98
475
641
301
563
558
717
409
599
187
54
686
478
161
447
247
498
690
102
360
609
859
98
83
999
650
490
569
742
947
881
929
375
235
294
95
725
771
298
87
365
99
646
448
872
674
125
383
410
252
934
319
267
416
654
171
670
311
806
611
558
187
75
18
61
861
473
579
80
563
154
258
729
920
95
900
379
42
581
836
708
747
271
706
475
994
660
110
684
476
890
894
443
166
213
552
98
321
879
257
146
82
855
510
34
337
601
238
199
972
27
468
592
970
936
358
504
73
438
467
723
897
310
619
923
434
808
627
710
881
183
434
941
574
50
936
772
639
780
881
381
616
305
732
481
955
79
337
519
752
443
561
965
529
317
788
170
161
961
333
90
299
546
370
583
736
388
940
87
232
4
936
230
236
620
789
329
801
316
705
803
729
814
899
211
669
798
296
36
433
732
498
346
284
391
688
138
325
696
300
533
401
981
917
966
127
537
887
196
748
128
554
230
533
175
857
265
344
487
267
341
794
748
689
693
188
421
21
718
12
411
478
73
321
585
712
642
781
213
975
62
498
508
286
987
6
689
620
565
945
424
651
408
41
71
461
893
959
889
918
830
492
249
174
338
325
945
791
300
312
892
582
895
797
852
138
550
33
360
359
64
120
658
61
849
268
310
845
951
343
122
1000
974
836
136
143
134
410
774
681
380
119
641
935
972
255
110
962
907
524
582
675
354
908
210
865
603
163
988
105
56
334
290
357
495
102
385
249
189
3
953
676
389
809
340
331
441
421
176
252
32
646
942
276
56
128
281
525
219
544
152
731
770
871
424
208
677
187
123
779
168
973
363
806
805
364
921
763
142
113
537
427
607
306
274
913
438
17
705
191
394
161
242
684
477
791
690
801
93
938
963
996
920
897
971
52
241
562
860
787
673
988
167
351
998
879
957
567
307
115
663
540
761
736
203
897
70
28
909
565
207
503
939
957
984
566
161
808
856
643
911
648
708
369
675
121
476
189
469
884
127
408
635
867
920
257
847
19
894
65
324
517
216
945
674
567
350
754
314
603
15
231
100
650
562
322
697
86
693
747
188
856
410
710
616
425
729
525
472
415
941
630
625
911
158
88
815
888
456
228
648
64
202
498
961
778
15
979
543
132
404
225
445
756
336
305
565
17
838
944
723
409
291
653
218
147
249
636
701
702
447
9
294
131
181
592
29
572
369
113
94
209
441
190
825
327
641
833
119
837
476
565
707
785
804
458
744
919
492
518
299
321
680
889
634
523
404
294
575
247
776
966
944
107
938
89
716
212
741
426
551
559
486
385
358
533
62
221
850
619
521
501
374
640
476
189
881
457
675
948
598
65
799
321
799
485
803
473
118
641
116
99
973
682
612
885
49
844
562
665
213
994
699
45
918
456
130
776
914
608
64
624
62
959
230
827
122
152
442
486
685
363
937
386
799
114
35
826
459
360
160
10
804
45
468
409
826
19
161
323
359
330
59
536
389
405
159
579
27
591
732
593
35
833
947
226
453
20
158
296
686
670
759
179
415
184
947
8
826
848
819
821
925
119
987
716
196
539
291
937
423
742
248
559
299
648
592
104
323
907
645
1000
611
54
258
242
426
636
782
19
651
785
838
345
982
331
669
929
282
538
513
606
416
26
730
685
919
226
398
437
972
969
703
803
515
487
737
117
824
88
244
236
468
311
446
64
401
145
335
841
870
233
712
958
945
628
816
289
708
746
605
211
595
677
622
530
936
878
905
523
480
601
575
180
557
100
613
503
629
782
781
443
99
989
841
608
688
19
4
433
142
331
41
872
728
616
560
4
794
574
788
180
660
756
590
453
234
829
561
61
29
967
784
715
755
821
237
241
198
741
888
909
921
480
260
458
206
583
577
342
744
104
678
257
806
59
526
344
28
243
516
765
460
650
761
548
269
767
190
685
305
431
622
469
763
757
914
992
369
918
924
499
799
173
317
71
547
599
137
687
111
458
716
290
108
966
679
911
952
516
757
237
758
101
648
306
460
722
386
116
523
107
578
64
190
915
345
43
976
943
47
967
972
524
661
221
574
454
221
270
484
271
835
239
122
664
669
784
181
118
673
982
644
612
27
299
481
388
991
892
168
296
343
677
345
234
624
560
203
525
191
259
653
877
471
901
925
718
872
425
19
301
511
388
341
967
308
437
934
318
15
89
949
903
431
921
384
183
400
496
667
173
179
596
348
194
434
380
49
567
403
133
798
934
755
164
61
118
292
226
122
99
900
556
920
700
128
275
94
78
314
412
800
942
472
256
793
712
34
99
380
505
90
681
119
909
15
814
545
15
221
721
795
41
297
614
726
219
15
891
2
299
477
151
682
147
214
886
41
433
184
330
702
341
414
440
668
543
528
397
541
449
493
328
992
864
713
188
576
741
32
856
87
706
287
528
966
332
816
474
710
984
722
12
839
179
738
362
763
5
293
673
758
149
699
99
406
447
458
255
11
701
331
793
957
699
188
92
471
990
621
272
972
995
976
832
59
446
777
208
157
5
450
485
78
115
910
275
1
825
832
539
932
337
370
723
276
530
673
138
3
531
809
961
797
717
582
546
710
170
320
35
93
725
907
397
8
217
210
83
873
436
574
472
862
598
264
169
437
859
538
974
449
493
566
72
436
899
552
555
121
509
208
921
600
7
225
585
393
30
484
775
363
618
549
385
472
296
386
513
495
567
387
426
103
10
488
652
164
905
591
733
748
527
556
952
50
786
742
971
374
925
458
925
427
355
693
960
350
506
211
602
339
814
391
609
251
528
247
188
268
89
664
500
566
226
224
452
955
773
959
613
592
416
976
972
245
275
205
935
20
225
416
604
118
347
286
935
6
771
498
771
287
415
813
145
717
823
546
460
23
392
164
341
649
741
546
16
87
898
987
47
215
270
232
116
924
63
633
374
387
958
45
519
502
332
226
406
403
274
297
469
458
964
317
647
817
712
118
859
428
133
340
239
396
435
37
520
711
815
322
972
656
264
248
242
672
894
552
292
37
61
922
401
512
141
176
820
993
801
128
300
309
21
906
106
522
893
211
588
477
476
325
611
900
542
685
364
27
132
472
159
631
212
7
842
285
591
679
338
910
482
777
680
958
738
857
596
74
849
227
340
691
242
704
21
859
285
65
91
505
678
512
34
449
584
4
523
780
932
572
498
591
820
569
674
647
838
342
959
318
443
9
149
963
199
861
41
19
841
388
830
242
633
114
193
894
389
204
49
202
917
294
311
63
314
102
337
811
753
173
953
836
906
521
99
981
126
48
139
936
884
354
856
312
693
951
984
664
976
960
885
512
869
98
640
308
990
98
396
407
537
776
285
287
957
623
591
679
561
120
165
822
124
29
235
713
522
495
902
138
852
162
582
225
365
440
579
477
735
690
797
538
866
377
319
432
467
165
200
669
103
539
371
379
276
751
989
612
368
836
916
27
970
958
264
468
170
602
100
345
895
963
494
305
280
444
23
405
349
339
779
914
980
628
671
882
274
294
518
829
942
747
43
266
250
733
353
274
423
578
939
20
111
734
498
931
690
384
168
232
724
276
818
660
851
82
153
512
741
280
267
578
535
3
171
164
359
325
558
142
71
197
727
898
411
593
169
121
112
482
781
600
315
893
49
605
870
712
842
935
697
837
644
457
393
948
140
796
741
506
100
832
552
508
386
878
555
185
757
675
676
96
844
884
104
995
304
335
996
462
716
141
533
511
193
688
338
312
62
648
895
701
197
420
733
409
763
811
617
749
202
357
865
94
243
407
238
621
620
992
547
654
962
525
223
432
9
602
641
277
898
515
900
964
794
598
90
527
517
216
835
904
173
4
16
554
970
971
177
644
595
207
18
499
496
217
788
716
408
385
140
799
283
647
198
198
545
230
148
344
259
233
695
683
362
893
66
699
572
622
101
620
997
275
134
850
721
669
17
134
847
60
621
171
601
139
620
635
44
146
161
583
938
832
278
821
33
356
550
95
852
668
560
885
618
578
161
204
539
486
427
20
93
731
429
841
311
584
664
554
309
203
48
833
478
275
844
292
810
643
845
92
819
959
382
905
382
268
468
964
620
509
484
433
638
73
348
480
521
964
25
256
508
580
578
433
667
815
678
92
723
35
671
512
887
395
823
872
698
191
334
936
906
149
64
566
376
66
720
301
816
796
371
289
945
330
805
597
296
666
178
276
505
211
836
598
327
708
972
558
72
61
8
88
382
968
174
411
512
990
819
624
329
528
373
922
290
188
752
799
544
199
200
249
131
860
233
203
968
476
401
409
960
892
19
556
81
516
913
665
739
660
469
695
67
184
983
865
61
615
345
398
618
410
641
295
614
547
88
232
141
392
72
895
874
671
737
895
353
408
689
897
654
919
922
752
491
261
961
246
356
104
598
523
637
621
289
367
51
827
456
335
889
793
491
108
740
284
179
587
375
665
690
953
425
374
974
342
336
873
656
836
830
732
48
198
775
441
905
123
913
606
970
850
409
419
106
612
506
697
74
795
913
287
591
624
714
386
341
891
687
147
33
517
934
960
439
725
644
976
573
211
594
760
835
994
756
445
966
542
992
380
164
367
335
95
526
550
843
311
280
520
305
869
949
12
389
684
656
313
936
280
283
805
198
998
76
308
793
742
621
949
4
984
774
93
877
810
303
387
213
989
461
112
204
377
685
852
923
541
913
958
306
73
775
393
591
974
40
346
388
403
277
403
687
266
614
207
149
387
868
214
974
479
90
627
474
712
724
606
249
455
183
572
512
690
629
814
688
653
134
619
871
513
199
841
131
270
841
145
905
594
22
196
944
55
279
676
355
7
775
353
298
445
884
365
806
295
610
537
1
924
829
789
727
166
363
661
228
749
369
547
51
853
387
496
778
440
669
332
565
136
57
400
700
671
815
471
564
334
251
206
432
468
907
109
549
741
361
78
780
848
427
514
909
315
621
434
385
298
303
200
874
611
823
266
517
738
339
834
182
249
701
422
316
867
952
115
240
417
553
715
851
23
373
111
730
199
885
901
600
972
748
735
929
724
141
894
220
251
820
331
207
430
811
779
716
971
105
570
460
948
471