200000 779 180
499
751
528
242
349
952
906
173
184
186
254
932
679
671
306
692
668
762
287
292
772
597
571
809
693
890
415
820
561
589
690
886
934
230
445
211
430
995
751
315
869
210
91
222
126
491
149
692
179
76
892
247
864
461
823
135
421
917
194
593
804
396
75
187
691
330
819
165
268
778
522
703
923
210
198
657
974
21
293
519
628
468
685
211
924
882
357
498
695
950
909
694
918
600
939
77
968
972
40
807
121
975
802
13
365
286
200
11
268
850
152
320
89
753
143
388
63
623
541
507
508
484
353
968
87
755
470
834
352
662
199
59
121
777
538
436
802
887
400
563
215
191
76
160
631
456
706
520
882
823
374
91
622
945
171
595
442
967
517
959
937
166
83
946
833
70
174
214
458
596
854
105
491
662
747
117
202
608
849
796
622
471
41
0
941
601
895
298
737
111
259
712
44
89
821
120
193
111
384
673
99
603
506
335
802
880
157
320
6
927
362
599
167
539
226
905
433
266
343
23
176
910
809
987
229
209
624
288
679
677
637
998
1
938
100
70
689
733
269
63
786
215
226
668
297
650
921
76
858
489
347
866
694
640
329
884
477
867
280
271
517
17
56
486
600
176
0
760
554
34
187
869
813
611
852
849
938
987
903
469
278
628
642
170
791
627
560
512
384
549
746
758
138
160
698
460
304
670
417
181
392
723
883
197
734
562
687
151
624
29
476
82
141
27
256
282
736
919
775
949
50
781
892
949
28
39
18
167
966
400
855
488
751
487
355
200
837
528
930
847
216
731
952
117
0
767
365
337
130
410
457
828
986
225
937
40
84
274
216
469
133
196
209
633
564
772
586
455
886
833
44
724
738
661
406
723
359
287
805
263
853
969
153
642
473
949
768
189
300
656
561
627
244
663
553
477
222
153
925
347
100
832
277
17
673
801
903
175
253
548
925
862
246
211
18
423
592
757
560
662
807
421
53
602
205
529
970
907
834
632
907
320
216
524
604
461
453
283
532
243
610
213
618
390
873
974
696
504
90
433
911
492
921
563
771
694
646
744
820
633
537
465
186
390
696
572
462
779
774
182
850
261
498
203
332
87
976
204
102
456
303
158
905
47
921
985
721
692
306
727
284
296
414
637
936
167
357
940
758
366
672
786
118
451
507
101
855
811
507
597
690
460
896
71
920
592
383
5
278
873
438
688
190
372
757
442
801
619
976
956
728
712
360
467
499
639
49
158
915
304
872
149
623
337
461
857
164
451
426
358
933
603
519
377
797
598
307
542
810
901
344
192
962
823
450
171
877
26
785
175
98
250
371
401
956
517
507
734
363
102
402
725
355
402
491
955
321
882
898
785
418
342
609
535
600
416
185
878
473
541
311
681
174
65
620
1
108
944
535
163
12
166
606
293
330
121
867
583
373
924
153
885
606
505
321
43
42
674
782
525
444
787
968
545
672
732
43
312
350
915
187
483
33
556
781
26
251
120
718
71
661
849
122
151
401
328
389
453
744
366
400
389
727
711
717
971
510
271
726
750
105
868
825
404
20
178
170
19
261
793
559
349
552
384
12
900
414
159
126
940
472
653
326
811
405
719
559
305
36
599
341
949
660
901
806
779
275
984
620
36
458
781
81
456
651
336
215
422
361
986
154
636
780
940
914
899
823
332
635
318
938
916
300
22
748
131
538
899
191
308
495
835
724
270
20
246
341
983
359
774
503
859
987
582
235
229
801
888
59
450
459
432
615
585
436
279
435
164
614
801
488
298
159
237
988
8
280
735
769
719
651
319
514
716
290
918
571
486
734
434
441
544
493
735
421
867
121
215
851
528
489
275
802
17
606
450
381
7
340
719
187
567
709
318
491
279
962
400
10
356
651
357
721
727
27
93
903
679
823
504
435
317
610
221
117
908
339
681
523
634
204
729
257
476
360
94
418
0
929
989
30
863
590
73
639
527
317
456
512
46
657
961
777
319
30
900
614
583
109
692
785
945
15
495
799
115
464
881
641
221
840
307
494
33
342
421
735
685
156
136
115
467
966
413
700
886
467
389
213
327
94
525
424
292
717
710
338
954
889
651
317
126
812
397
825
184
461
904
697
180
621
733
563
543
680
464
352
442
618
257
32
464
834
347
20
306
863
802
415
67
409
365
702
791
861
818
365
961
90
201
320
80
474
667
27
645
574
612
785
775
928
101
133
7
695
719
229
179
786
869
953
31
772
391
152
655
726
580
173
415
695
771
691
482
530
177
874
131
815
548
921
45
278
502
363
132
335
834
935
279
172
499
216
692
324
786
800
918
392
530
333
865
421
865
946
300
372
943
705
924
882
675
260
29
323
14
61
605
747
733
984
958
372
610
103
307
498
217
50
70
807
517
496
471
85
638
232
172
318
355
946
755
559
586
369
183
288
29
320
816
982
747
241
888
293
273
313
442
663
254
33
889
100
988
393
660
381
821
567
611
123
742
188
297
337
360
995
935
719
684
925
859
313
612
922
463
469
340
429
831
855
131
754
839
418
360
966
55
111
476
109
613
174
202
690
175
116
36
149
150
691
970
201
223
757
889
567
130
109
734
208
748
251
959
233
744
124
15
790
91
293
945
548
466
806
260
698
838
346
325
952
298
533
336
826
812
167
811
272
181
434
377
936
135
744
287
430
964
854
688
437
364
365
3
692
341
51
313
563
179
409
119
169
575
477
910
856
573
903
787
691
620
599
390
504
404
583
510
936
109
386
550
681
468
956
804
239
14
182
565
468
940
77
885
805
778
339
918
25
428
380
144
567
670
578
305
887
879
540
584
337
182
666
310
721
205
978
168
866
471
253
495
958
528
352
405
316
987
712
883
657
29
12
28
630
652
675
489
705
647
297
190
305
956
755
780
998
304
755
800
641
364
685
413
542
526
951
710
443
269
431
850
105
731
933
256
538
339
393
194
199
146
337
921
1
218
568
148
352
931
865
528
326
60
172
4
647
0
358
193
211
884
403
559
384
215
794
413
24
504
201
990
412
214
42
231
302
313
611
781
652
956
518
48
111
504
10
445
562
911
915
429
526
952
217
124
211
366
484
860
162
821
58
451
748
653
577
512
746
61
982
619
770
222
364
159
852
10
80
942
397
971
615
475
563
166
854
737
863
542
146
488
459
158
177
503
576
447
337
376
633
767
416
48
892
406
309
605
643
865
974
109
323
432
81
902
154
543
787
498
439
341
951
1
105
759
691
798
159
10
471
206
57
603
523
157
953
596
771
750
632
981
981
111
505
650
172
4
90
36
235
376
498
188
835
926
196
977
501
525
802
894
359
102
974
457
128
492
351
915
880
689
500
406
318
297
536
731
333
711
543
697
931
785
665
296
36
175
828
597
17
962
530
80
355
247
353
637
818
645
606
415
373
153
303
673
195
296
850
561
348
206
221
794
28
297
605
857
846
494
672
588
444
154
96
140
345
517
928
991
793
310
634
813
130
922
403
291
299
947
976
379
327
293
927
734
775
783
572
32
109
573
932
396
576
980
386
365
531
808
416
557
478
802
755
970
123
304
945
346
957
855
551
324
212
232
636
355
820
543
921
104
669
638
197
452
793
313
1000
165
92
334
951
106
588
60
653
541
563
865
827
914
194
179
124
854
486
497
21
8
821
568
535
900
659
644
831
995
990
226
421
115
17
470
434
985
449
746
354
102
461
400
828
98
937
761
744
313
9
439
843
397
810
404
776
627
573
653
105
997
438
16
454
148
962
647
865
859
40
884
548
705
579
695
131
31
301
311
972
964
54
675
117
930
372
570
222
327
672
305
959
472
11
958
328
230
27
574
713
626
565
400
757
145
374
209
490
594
384
41
751
544
364
56
381
416
109
531
601
424
936
202
828
5
777
891
652
485
378
883
363
902
438
509
757
473
640
512
191
547
758
492
389
656
747
772
376
114
989
739
410
708
712
278
184
751
656
525
759
891
332
691
853
940
189
755
868
349
271
536
909
665
143
416
710
722
656
748
1
234
51
161
842
857
662
617
178
719
671
798
50
903
74
971
67
99
374
924
262
768
683
652
261
746
251
645
887
20
650
129
114
852
498
331
767
848
925
187
323
587
795
181
653
321
410
956
57
593
847
959
79
369
728
716
827
399
394
787
761
710
22
112
321
266
380
516
213
189
639
903
616
235
66
358
690
884
94
154
732
537
299
732
792
229
219
379
975
552
412
418
211
176
44
226
540
47
705
674
811
313
425
150
937
805
36
409
794
902
987
61
641
15
486
332
249
829
321
201
241
268
987
917
223
20
732
591
139
997
65
73
4
644
120
129
967
891
308
576
724
176
146
575
499
371
121
912
587
954
183
951
710
498
412
240
706
83
303
806
458
256
359
403
592
590
774
732
619
204
453
146
202
91
709
404
268
225
478
655
226
32
784
32
420
329
344
571
426
330
843
982
451
692
683
610
494
862
716
740
411
950
62
855
89
162
936
347
448
490
349
230
194
342
100
673
353
322
747
316
844
72
680
610
668
676
700
710
567
412
984
821
278
582
855
705
975
164
737
798
351
12
599
11
848
597
866
242
965
587
24
651
605
283
301
552
554
595
340
299
943
443
393
660
862
957
171
718
877
832
117
604
856
601
997
621
932
814
803
117
333
532
709
612
860
974
466
240
179
808
656
657
117
431
269
189
592
407
28
972
155
745
503
778
708
450
61
997
43
825
245
604
509
74
889
884
860
672
597
879
875
170
671
511
374
867
634
666
597
883
399
297
352
247
930
155
684
537
640
113
712
970
369
981
285
135
518
143
499
620
735
718
385
561
656
963
339
905
760
249
466
228
59
331
951
784
758
141
53
57
259
976
609
442
583
636
937
512
988
558
662
248
328
496
200
411
38
564
406
624
472
102
326
391
63
969
65
140
367
379
393
959
569
189
771
975
299
698
971
349
202
332
823
117
232
780
226
294
477
293
875
735
839
751
939
878
148
495
928
815
477
298
239
312
160
356
380
432
205
839
380
839
786
793
864
247
930
207
2
592
995
244
434
628
10
779
430
453
297
265
486
749
313
917
700
644
234
859
571
816
116
130
936
386
806
50
301
694
253
693
82
845
636
514
591
118
434
530
170
88
50
539
958
990
661
225
610
109
165
559
946
528
868
696
230
774
308
866
582
77
822
138
847
256
80
541
40
818
76
202
14
84
129
405
131
463
26
29
658
252
174
414
709
464
691
437
25
825
868
265
647
421
98
19
438
500
271
851
539
759
835
104
906
289
812
289
643
920
314
193
501
799
50
465
236
429
444
105
295
454
856
478
261
570
270
323
471
805
65
283
99
904
465
583
588
349
215
921
906
882
862
144
43
979
291
712
668
959
398
579
869
665
637
846
290
591
951
665
670
545
707
53
160
132
251
554
664
497
524
728
334
426
390
582
606
168
720
42
962
61
502
815
304
768
501
724
68
794
342
879
492
432
396
24
625
612
965
442
512
980
851
725
660
862
438
965
709
599
253
665
765
682
873
144
226
716
688
901
165
833
870
39
577
647
150
734
40
788
51
338
979
776
49
321
729
842
745
264
888
209
699
500
37
324
162
782
267
226
966
208
763
368
591
661
16
509
900
706
114
454
767
936
320
383
269
4
336
334
938
262
446
729
193
781
231
833
732
371
424
270
49
699
893
566
922
21
327
957
396
592
473
89
195
867
360
15
701
116
970
417
351
237
929
271
924
485
444
229
430
108
903
587
137
166
103
108
279
567
472
148
986
751
619
450
836
302
505
37
601
948
441
788
701
994
970
88
677
651
853
957
779
162
728
196
404
197
115
399
329
505
58
583
138
666
74
518
7
248
643
821
210
373
335
722
961
828
834
721
214
110
554
995
291
528
678
2
663
449
56
86
875
875
215
115
853
127
857
909
634
910
366
605
639
60
407
179
984
903
897
703
452
579
693
940
917
54
627
826
222
664
277
533
565
955
849
397
595
257
884
284
748
873
292
129
292
262
394
963
196
581
422
30
586
361
114
612
336
277
16
363
35
689
117
979
469
596
342
446
692
893
118
627
675
140
578
161
775
64
227
257
329
799
364
689
964
838
117
423
275
641
540
364
53
244
606
42
119
978
923
225
14
888
417
896
716
441
588
31
980
584
654
322
416
315
419
507
335
13
313
598
587
530
56
119
553
555
434
880
505
208
338
86
704
665
148
50
82
71
802
555
933
653
844
199
237
237
255
398
283
155
761
825
275
189
41
875
748
262
930
376
209
549
685
878
764
108
998
816
391
268
904
279
751
752
336
678
26
322
123
296
325
479
9
643
833
298
794
220
863
273
165
678
36
282
394
267
241
951
851
991
110
97
764
463
628
984
79
414
483
464
220
859
865
328
575
882
538
407
521
163
476
496
146
746
724
966
775
573
75
925
758
491
25
855
758
138
29
633
860
310
596
255
435
455
760
368
46
994
489
18
118
223
307
318
554
481
184
360
951
926
796
844
471
593
711
798
499
228
139
76
519
127
855
721
744
87
509
130
388
187
884
346
507
551
893
979
354
731
246
939
707
893
483
430
853
485
304
296
268
452
508
832
560
423
900
69
474
328
650
805
647
64
499
517
128
64
953
908
475
819
976
78
275
920
377
223
430
248
795
175
674
782
222
417
821
158
711
146
269
747
396
234
740
241
791
363
382
662
911
470
825
858
368
936
805
708
717
998
702
254
692
289
485
950
122
925
960
379
337
902
26
621
972
851
738
560
874
802
839
512
22
564
173
376
280
737
810
562
60
553
763
247
452
846
238
744
871
248
762
867
469
210
424
996
921
934
849
240
977
979
361
329
714
257
744
464
149
649
385
959
549
983
147
7
110
750
552
693
237
305
295
310
969
474
745
376
579
880
678
253
763
14
316
821
760
939
220
671
662
89
843
273
429
758
551
459
291
814
696
793
108
38
431
798
233
225
76
7
427
91
655
650
838
487
795
786
131
555
668
925
370
5
2
356
218
304
24
21
820
664
208
843
59
458
991
200
151
365
627
286
772
900
180
239
798
863
220
184
666
227
100
185
741
323
645
210
44
185
587
12
233
873
394
499
58
853
154
156
376
245
13
103
491
80
824
608
270
427
613
587
753
169
734
812
132
744
52
84
3
661
276
74
290
236
913
623
330
402
137
586
203
11
777
604
233
659
581
783
331
782
895
605
648
118
135
835
476
360
185
660
437
646
605
614
623
445
30
123
265
998
34
820
404
348
629
754
853
253
852
967
170
808
761
639
116
537
36
834
784
935
796
840
945
480
666
371
261
313
805
68
835
951
156
729
283
450
770
646
918
793
844
129
123
540
379
752
210
894
560
40
815
269
660
261
680
80
135
258
384
451
868
629
49
833
269
189
302
560
23
741
954
349
260
897
779
277
907
420
9
500
211
783
511
473
720
155
629
379
134
4
552
757
322
318
888
732
716
19
248
336
131
866
881
145
402
84
563
852
199
61
743
23
209
312
471
292
863
41
131
790
511
212
363
307
628
459
775
323
271
194
70
922
285
588
782
241
750
828
234
891
671
109
666
799
701
518
14
800
380
230
963
629
809
775
211
614
57
60
965
4
984
480
903
79
902
403
636
919
48
217
395
647
652
714
727
267
778
410
877
805
228
756
753
514
135
718
342
52
684
153
619
780
507
280
696
937
575
527
600
282
811
632
568
782
872
16
491
641
574
412
776
571
159
342
876
517
875
726
114
427
213
586
352
768
454
825
386
473
82
279
380
526
942
704
552
255
359
422
850
566
987
424
555
997
69
63
49
588
854
132
233
254
417
94
44
495
334
586
964
46
806
577
638
302
305
244
703
880
593
995
336
223
8
129
666
334
70
564
471
659
472
12
426
807
694
369
49
591
456
61
819
243
957
957
661
128
75
755
405
139
984
725
506
788
171
17
666
379
468
673
534
263
399
724
848
738
478
36
706
1000
195
601
472
701
912
459
749
686
434
383
51
519
33
662
327
306
982
481
312
38
255
104
260
538
864
838
879
537
712
804
169
123
452
253
894
751
442
903
161
29
846
496
848
173
833
88
509
688
877
839
240
220
684
533
317
931
109
929
578
417
739
758
891
473
85
239
108
892
227
636
562
609
635
685
894
870
180
23
638
721
92
80
619
259
647
139
869
496
140
537
383
682
188
285
30
674
362
121
455
655
946
72
677
314
703
728
222
721
880
930
688
478
85
578
879
359
822
959
583
887
365
897
44
856
643
388
442
826
924
784
328
579
54
112
93
556
217
452
500
986
702
77
133
884
969
468
640
242
125
67
405
900
876
436
180
662
741
509
822
816
340
74
778
760
568
252
985
109
798
29
804
867
333
316
546
1
67
137
548
853
811
780
783
373
408
160
106
682
776
319
467
962
556
669
577
631
135
529
202
106
768
882
31
923
59
580
224
741
235
690
429
718
636
847
476
294
725
719
996
881
473
810
404
301
67
720
496
897
476
50
721
418
17
547
365
474
931
452
500
100
220
650
233
393
874
950
577
40
955
378
134
638
548
330
891
348
186
939
334
852
120
913
679
452
575
735
993
932
523
861
920
873
982
604
253
612
55
869
27
290
168
474
636
565
780
606
643
675
428
901
270
229
93
340
842
392
241
544
378
461
434
57
387
471
610
535
989
831
71
997
427
269
794
977
423
698
864
266
941
84
46
955
588
484
273
426
536
859
486
526
787
155
124
664
525
638
390
784
538
507
681
685
835
549
426
817
101
939
617
837
525
264
152
355
702
648
335
93
502
914
796
671
605
931
827
551
290
0
373
583
87
850
230
196
290
624
547
838
416
897
579
367
316
1
445
684
797
96
882
578
520
5
279
975
24
487
854
767
133
185
953
785
326
185
805
323
878
520
820
968
995
444
237
919
621
423
923
883
660
695
317
831
373
939
687
831
819
545
117
351
893
391
419
333
344
450
88
974
373
823
362
419
435
549
568
6
358
318
840
127
523
824
639
457
944
107
466
853
695
957
763
137
937
860
266
45
48
877
507
244
450
875
438
691
878
597
209
137
287
274
930
349
829
94
292
399
885
381
319
609
951
77
663
924
438
608
294
528
497
843
247
733
44
520
496
523
139
497
568
890
557
883
11
700
787
601
645
313
506
526
709
484
881
269
954
564
347
826
17
229
52
659
630
927
681
503
766
123
907
876
328
659
124
277
576
90
50
896
775
228
413
693
422
401
491
846
68
987
920
485
899
450
714
754
249
122
444
982
985
439
359
923
498
691
108
116
807
272
104
249
877
851
814
902
822
909
588
734
357
852
84
344
852
715
463
372
400
150
555
180
921
438
172
772
789
967
228
58
398
305
8
881
592
263
136
866
935
98
866
432
687
198
483
330
786
602
371
680
399
355
848
74
7
820
29
170
185
565
436
943
943
259
739
387
351
419
109
28
10
344
60
359
927
842
700
161
684
635
369
457
554
220
804
990
77
803
705
139
126
294
712
554
683
32
838
54
341
784
669
582
503
824
853
947
684
70
835
760
614
689
579
83
456
34
326
334
958
608
745
577
178
813
790
393
225
136
972
404
740
448
383
858
858
957
609
668
917
388
699
627
100
605
115
927
771
224
364
851
792
154
343
380
851
773
222
798
997
336
247
593
428
320
383
481
57
784
17
648
828
619
973
990
585
586
506
149
54
223
590
873
508
53
801
866
737
645
200
650
387
499
944
221
378
916
540
54
325
862
743
39
170
127
226
156
834
495
134
294
186
566
346
698
278
210
245
85
381
827
779
824
645
954
768
322
847
384
561
769
700
586
45
123
627
283
579
857
421
534
597
421
15
545
9
429
740
72
574
812
240
643
930
221
409
409
129
811
756
863
828
269
897
543
480
700
45
891
782
35
37
276
872
892
30
142
158
148
167
520
837
633
631
148
786
499
435
891
803
144
899
741
354
826
791
526
0
755
343
758
834
756
766
789
44
864
553
86
356
484
375
148
623
33
372
589
713
835
121
756
138
427
993
346
5
3
383
659
537
976
825
754
540
516
375
703
179
930
379
692
547
970
331
693
316
69
492
108
752
271
152
670
375
498
907
878
802
368
676
184
314
1
282
460
669
345
359
190
708
731
200
758
305
699
315
564
688
72
419
207
919
207
848
642
926
269
807
967
486
649
600
215
820
960
197
504
180
628
950
126
809
469
280
19
112
5
616
715
219
68
175
931
782
277
332
190
480
819
54
847
515
121
869
185
563
70
506
551
862
198
143
78
569
759
998
310
486
794
241
250
751
781
112
695
285
902
607
465
921
591
897
432
200
96
209
760
355
350
446
999
744
152
980
849
757
614
179
356
368
358
284
160
75
76
331
505
327
880
782
185
81
644
793
124
631
863
841
620
708
54
66
17
784
349
342
53
371
307
128
19
620
725
210
93
148
585
463
240
520
98
661
468
195
746
611
533
948
944
680
546
410
859
804
595
959
481
225
429
945
683
371
352
591
903
14
461
405
661
958
897
666
877
986
241
139
453
95
69
613
294
262
66
101
200
513
773
49
836
345
995
556
28
430
439
527
96
884
944
323
460
482
623
73
687
376
608
715
40
7
184
203
272
440
386
136
262
560
955
577
631
637
666
34
578
27
911
280
420
556
39
800
618
346
788
708
994
725
692
433
365
476
472
15
159
285
146
890
388
766
18
139
489
546
179
887
133
653
513
865
765
100
110
122
921
83
100
915
885
868
182
588
252
208
71
283
239
403
473
809
974
841
812
495
408
573
600
95
964
746
537
667
821
252
240
802
379
788
393
33
698
833
40
240
770
930
710
369
872
155
194
723
518
350
717
136
862
559
726
199
719
889
881
836
110
622
749
319
1
586
972
588
943
610
856
784
163
744
467
312
659
918
877
777
239
15
773
36
298
700
224
305
924
854
237
885
371
614
585
949
412
582
860
78
123
461
775
948
50
455
253
319
510
119
861
22
235
583
6
283
600
700
873
558
415
197
245
745
951
516
835
750
834
688
120
358
924
919
417
613
503
259
89
630
729
330
56
107
375
188
647
835
225
345
198
215
561
123
333
52
502
994
111
968
101
71
437
520
391
742
818
677
429
909
806
499
229
879
238
942
862
328
677
143
310
556
313
831
471
938
468
856
719
938
436
759
3
965
182
254
695
126
49
6
642
529
743
215
366
428
980
960
24
645
535
973
123
292
390
886
513
338
864
770
963
29
730
10
337
407
691
467
679
769
882
745
166
266
81
689
436
543
794
526
856
474
457
741
740
231
698
535
916
223
226
829
112
480
5
962
296
878
536
575
552
134
187
664
649
171
804
572
134
527
611
359
673
508
243
193
970
37
605
940
217
795
922
381
578
534
744
553
504
293
260
109
491
994
664
424
458
18
1000
976
344
234
471
903
295
800
80
720
497
665
437
438
591
67
975
614
864
637
869
559
811
135
449
429
845
139
15
581
220
343
846
106
267
821
975
453
881
735
440
210
123
402
139
460
525
600
817
411
197
17
951
448
778
307
829
753
327
116
891
520
329
20
824
805
727
617
477
172
704
338
573
539
9
921
81
345
398
817
895
487
133
920
731
919
133
119
723
692
536
105
440
890
975
540
379
978
314
792
590
747
335
431
248
509
629
28
787
286
17
734
544
94
412
362
989
906
386
593
869
938
340
383
586
396
491
90
896
537
258
207
715
174
434
231
900
424
958
65
654
480
255
388
699
388
252
316
443
385
514
621
640
825
829
396
208
170
96
865
528
848
703
17
315
606
597
334
999
630
496
666
137
139
841
59
763
783
536
370
578
507
51
735
361
21
95
514
655
443
615
947
966
152
500
277
349
541
286
122
373
890
458
577
169
84
482
493
195
870
170
220
108
875
48
960
521
273
540
959
22
880
78
752
349
421
426
879
918
422
229
808
796
877
540
52
958
980
361
942
246
390
318
12
433
38
909
538
244
750
34
253
382
558
826
908
758
770
536
167
161
975
147
355
931
538
491
229
666
670
741
870
447
764
313
826
1000
487
342
600
935
794
89
311
817
877
467
121
545
918
724
245
22
860
992
775
116
886
597
460
386
545
999
382
275
493
412
788
478
778
420
958
470
233
714
490
727
63
484
631
690
636
337
464
463
77
835
363
218
178
101
199
66
56
293
212
908
277
864
14
490
278
709
164
157
374
646
963
298
885
790
346
665
516
361
10
88
926
405
418
598
854
100
388
351
500
160
247
19
5
44
499
347
407
484
988
495
636
121
111
920
73
140
281
923
554
574
843
388
923
369
929
156
393
334
307
660
267
665
188
882
938
649
316
577
228
249
186
92
885
858
544
704
87
687
257
519
206
441
708
431
59
896
946
568
939
307
263
874
421
3
330
578
254
153
730
278
791
540
438
9
495
509
802
274
51
951
123
505
947
364
609
689
821
382
686
978
161
484
423
50
594
85
1000
580
232
626
491
741
160
373
187
504
864
50
199
765
926
887
863
341
720
791
922
366
571
741
3
391
969
988
323
505
997
162
275
517
222
348
227
220
214
752
189
642
126
33
213
463
347
546
530
501
942
615
713
853
978
489
800
824
8
493
82
688
659
46
416
928
124
784
17
835
532
330
958
977
873
560
677
650
366
183
629
629
956
960
271
45
242
123
596
58
731
473
761
246
777
714
543
533
676
226
872
498
682
169
41
886
666
994
749
85
674
904
387
316
588
36
977
698
672
293
427
558
302
100
181
675
879
838
192
736
441
228
149
894
243
598
234
383
134
673
632
100
586
272
710
575
240
996
265
567
31
446
931
571
966
187
672
696
51
178
134
915
651
752
511
819
246
874
137
730
416
957
314
669
600
129
535
101
571
845
91
321
412
684
456
156
897
192
918
485
797
955
548
78
598
385
654
267
270
980
579
809
454
689
191
672
14
0
380
437
563
228
228
851
600
727
116
23
167
656
39
529
678
73
542
17
327
26
982
988
131
420
652
223
178
895
672
255
57
639
719
699
374
266
175
443
208
341
521
443
386
626
269
517
799
93
203
31
146
293
303
878
66
737
534
302
485
110
990
964
346
416
304
876
898
94
608
106
432
558
454
133
647
495
86
443
771
928
25
49
409
54
335
155
288
983
922
487
711
172
512
530
188
766
275
630
83
914
557
692
669
692
920
896
253
256
632
309
268
391
91
928
95
968
33
609
808
255
183
346
487
506
426
300
771
236
421
421
560
382
398
495
252
665
646
840
56
491
303
577
571
267
579
523
432
711
417
243
328
492
298
656
405
76
746
670
279
153
153
557
479
497
862
992
916
82
67
24
893
65
508
546
843
965
442
686
73
244
297
347
993
211
577
505
196
373
187
509
952
162
434
642
586
697
578
948
741
791
862
298
502
746
763
237
631
298
31
292
131
783
732
19
782
342
149
521
512
233
565
941
868
97
26
538
215
316
376
947
851
242
914
146
655
987
916
194
180
88
650
467
467
441
922
3
787
66
866
407
756
663
19
945
581
815
902
962
979
349
450
496
782
813
285
836
489
641
691
764
805
327
395
537
982
509
665
378
398
358
619
875
204
123
206
742
106
988
215
263
646
650
513
934
314
573
577
612
391
336
227
236
77
446
973
967
214
219
503
179
464
611
989
771
628
103
745
548
331
55
190
492
221
176
154
312
509
15
166
39
728
544
178
296
586
949
842
200
156
71
634
648
814
256
129
710
774
712
829
876
57
893
187
56
200
527
35
183
671
11
138
540
133
812
814
548
376
586
916
874
816
47
308
993
191
564
698
417
160
442
702
446
988
708
945
518
972
359
794
893
976
840
284
378
284
889
481
131
416
186
264
632
912
416
616
288
843
882
685
894
603
367
179
191
991
293
339
91
247
541
832
812
953
213
541
870
750
618
837
243
829
859
214
114
14
326
881
698
18
422
842
323
889
594
80
273
935
291
629
744
426
559
502
234
823
303
91
51
538
4
633
308
811
401
669
978
538
318
234
153
840
175
538
741
280
107
336
973
698
402
46
448
322
789
368
496
536
607
728
615
718
611
187
627
702
320
1
862
835
91
213
125
716
314
609
13
423
358
336
309
151
384
899
619
264
605
339
291
954
61
949
672
652
765
779
278
808
224
358
121
649
795
461
577
528
717
793
611
953
992
160
962
553
43
14
177
456
940
414
3
553
213
109
958
521
858
713
10
618
524
356
295
197
453
226
280
396
650
832
767
83
190
515
995
483
530
523
930
70
111
662
797
980
807
506
93
888
422
547
51
281
483
196
436
206
877
693
701
831
638
184
832
28
213
15
685
920
30
849
498
489
348
909
592
783
600
267
501
236
653
757
749
262
61
880
819
67
212
335
63
823
998
107
648
534
707
91
799
263
824
171
900
895
602
693
974
314
401
665
154
347
780
335
689
327
90
862
39
738
974
194
91
405
262
856
144
773
961
983
774
3
961
432
764
275
215
319
336
103
297
360
857
171
290
289
582
579
579
588
609
191
706
415
889
848
244
637
241
432
947
279
715
260
913
277
186
881
606
272
103
589
109
934
791
507
443
209
124
166
534
983
203
874
536
105
679
309
823
696
90
453
832
637
350
966
600
441
0
701
152
886
847
778
505
248
350
480
841
52
646
253
623
456
471
808
932
306
8
517
758
496
480
473
759
429
827
411
627
193
41
245
416
43
550
691
579
341
567
8
929
237
440
243
1000
662
538
937
95
958
758
0
469
69
436
898
920
669
50
683
540
743
620
54
373
333
164
305
607
880
835
118
956
272
554
989
373
372
808
174
729
242
114
881
62
84
963
744
142
779
183
981
869
268
224
578
838
560
288
149
732
407
898
337
642
59
724
688
346
904
728
521
410
165
559
753
297
323
120
507
124
249
475
990
61
657
440
985
777
668
277
285
819
736
96
14
81
338
128
398
815
963
699
205
729
634
463
325
516
156
479
70
629
304
507
384
170
895
727
596
214
937
67
888
463
365
790
676
218
840
672
253
895
663
299
175
463
227
857
409
196
962
134
388
756
316
935
277
35
662
605
748
304
604
694
798
796
702
795
819
410
247
145
849
481
583
106
641
609
9
23
390
157
60
394
434
31
560
478
813
432
357
920
622
475
228
379
878
868
922
952
106
886
54
549
132
107
930
310
16
939
429
849
125
284
928
928
806
789
931
395
4
879
709
457
676
379
113
507
978
184
51
142
956
792
54
642
51
909
364
761
665
81
283
279
391
747
547
798
959
12
429
907
599
709
420
314
50
868
1000
658
299
583
80
448
372
225
486
158
385
980
39
203
483
689
550
296
818
604
510
439
754
703
959
211
422
401
585
711
664
86
550
110
555
677
864
103
105
286
691
851
655
328
53
262
568
453
999
769
863
333
460
91
578
962
109
282
230
610
298
206
925
368
342
848
76
758
409
483
823
295
713
770
433
378
617
468
398
40
883
172
494
68
748
814
215
332
970
465
896
978
228
606
760
795
875
294
902
979
750
315
83
862
524
309
350
350
224
37
524
178
846
462
600
972
982
631
183
363
120
758
512
364
269
324
269
285
743
188
909
516
93
143
696
812
176
121
442
633
290
620
811
719
513
107
161
90
402
462
921
231
140
825
429
675
921
951
445
819
336
201
641
922
100
511
602
855
248
30
37
913
159
579
30
626
92
954
543
5
433
464
852
760
629
872
840
104
634
657
404
593
564
787
854
956
345
326
767
216
163
295
255
82
319
298
355
595
927
655
505
294
740
821
522
666
605
237
744
51
292
413
35
922
199
193
917
751
720
20
582
594
973
101
849
888
507
951
759
701
773
342
964
641
916
188
205
843
331
86
340
172
210
864
796
574
398
402
753
978
802
313
138
938
180
438
373
737
655
312
843
728
366
750
618
932
66
559
385
619
978
578
568
360
134
979
120
697
899
220
41
859
735
491
263
741
686
499
127
236
662
434
666
159
793
12
891
761
187
386
549
351
251
301
906
202
213
655
580
422
820
261
307
527
874
829
708
13
641
965
237
797
720
838
64
995
720
42
21
971
930
134
795
703
633
870
346
640
688
973
596
17
52
998
687
37
827
210
222
230
938
467
707
321
154
862
946
496
788
225
259
84
931
658
881
339
555
911
215
872
940
697
285
78
977
534
762
417
871
55
363
674
554
916
433
642
900
103
502
409
487
853
887
846
670
69
254
986
495
490
959
748
426
242
50
758
299
838
893
347
669
332
535
124
158
458
971
247
781
89
558
104
606
202
164
242
801
382
398
90
7
639
107
57
975
759
807
975
948
683
928
820
44
0
380
558
695
528
358
89
864
324
4
825
721
240
310
104
991
449
968
610
766
719
476
656
402
622
916
185
377
446
714
245
996
433
618
45
267
965
730
286
64
873
182
34
374
478
815
653
944
754
516
920
801
319
483
988
92
651
536
285
355
84
489
476
672
126
124
446
747
357
439
698
916
249
950
218
129
136
543
96
325
960
622
967
352
470
181
327
830
601
231
865
564
327
448
568
387
420
252
644
59
151
400
388
743
927
630
817
163
88
355
242
106
445
943
658
114
142
342
899
402
654
712
792
603
48
286
812
507
178
51
149
699
36
806
340
317
971
240
992
867
951
484
893
108
387
204
815
540
690
477
188
162
948
798
551
530
388
164
962
845
118
261
603
734
471
506
156
735
61
803
669
839
623
670
902
217
140
800
127
436
315
711
341
582
156
564
75
614
311
122
390
409
926
828
546
831
593
634
907
592
782
283
194
347
940
360
245
120
630
758
171
881
433
362
960
446
810
691
730
493
58
859
616
848
162
47
31
514
383
557
271
736
455
93
103
649
831
55
307
473
143
797
430
507
160
745
330
328
125
878
744
300
249
142
294
769
20
624
208
512
525
31
40
650
220
208
527
89
364
476
288
142
742
987
616
103
9
147
318
100
339
658
384
428
352
184
472
406
793
197
608
700
382
168
450
985
105
608
597
255
152
316
232
105
339
12
483
848
82
405
233
387
70
943
187
5
590
85
387
655
492
826
31
519
594
107
432
860
351
21
44
99
424
688
769
559
206
895
454
867
770
538
456
735
988
92
623
708
512
925
281
142
991
274
817
61
53
978
290
167
116
14
399
985
953
137
825
538
278
37
203
667
946
612
415
83
945
667
59
93
488
386
153
317
93
1000
122
434
696
731
562
777
923
299
826
780
202
27
821
171
760
931
847
477
616
824
367
268
106
891
772
445
675
381
33
784
221
345
928
582
409
65
994
605
583
988
271
362
818
807
600
208
683
403
67
601
234
427
297
138
294
320
146
582
986
990
886
108
530
533
465
919
820
738
503
824
853
457
897
967
826
436
985
261
501
971
200
760
419
439
73
246
324
873
44
53
611
859
762
448
86
931
213
631
92
660
129
810
986
430
980
648
704
455
222
677
702
770
211
124
270
217
888
886
507
905
696
456
448
826
897
11
265
750
263
255
232
417
633
955
678
763
828
513
796
998
125
667
301
26
370
466
849
233
408
366
4
459
440
809
84
751
443
59
582
805
154
294
255
80
877
402
945
512
217
475
496
737
412
23
519
117
40
35
648
310
44
59
410
675
8
129
137
917
298
366
702
224
711
619
867
375
307
510
673
39
45
116
263
189
186
333
663
294
999
550
83
891
541
751
971
548
24
262
342
186
858
337
775
213
292
725
411
502
387
866
338
878
925
81
603
896
512
904
271
278
229
974
620
440
213
459
193
290
71
356
772
713
567
377
895
475
884
768
431
5
149
284
269
932
560
154
207
753
535
233
811
404
501
151
954
694
117
534
603
851
923
337
659
201
237
512
762
98
653
677
196
416
396
932
642
671
518
71
838
869
381
156
180
158
69
64
179
41
432
697
384
811
958
737
442
525
721
180
107
659
836
786
273
117
951
545
281
538
969
654
602
717
116
213
69
142
202
326
316
759
739
793
289
120
245
760
990
399
74
953
6
683
761
442
173
497
436
191
801
724
166
483
6
729
889
421
212
405
814
528
50
873
526
108
281
750
221
481
255
302
793
319
108
630
641
847
704
931
432
560
906
770
933
269
229
61
892
120
482
659
419
536
479
563
236
59
562
0
567
179
506
989
896
590
408
734
682
140
905
876
0
755
432
955
402
420
947
827
15
271
574
855
948
843
112
475
122
253
377
994
372
114
202
694
89
136
302
264
848
776
626
837
571
617
207
910
562
253
369
317
901
398
679
937
356
517
933
661
665
396
872
347
337
332
362
291
739
474
491
381
165
215
148
360
653
93
392
820
985
287
267
940
604
460
5
274
693
775
439
19
386
800
324
448
734
762
566
533
636
495
548
572
943
480
572
845
397
428
713
10
211
32
50
280
476
550
88
958
368
924
21
958
868
26
644
706
716
721
702
781
312
37
722
705
694
891
221
245
163
141
201
275
725
3
190
671
100
145
806
195
580
17
17
229
180
602
505
237
612
161
256
164
540
445
692
375
833
134
540
72
148
710
121
960
969
987
351
548
482
775
166
778
666
349
207
123
470
354
734
55
680
337
491
632
748
436
214
740
136
619
695
327
165
63
333
356
630
673
27
396
328
212
977
976
902
187
761
702
13
970
208
599
26
954
840
564
887
756
801
422
410
175
78
719
769
115
459
491
674
585
367
587
567
588
342
728
465
978
357
279
669
878
244
829
2
688
204
846
170
254
902
652
761
731
282
365
294
867
577
800
420
129
966
819
5
249
417
231
168
630
849
926
198
592
380
376
237
332
435
58
610
1
879
651
519
812
23
174
285
567
309
139
99
221
415
635
552
309
995
170
75
945
535
524
328
354
421
887
961
238
950
17
927
756
686
833
773
955
57
458
23
212
760
822
968
779
145
892
841
817
706
134
743
664
640
907
681
602
148
27
83
968
535
143
614
851
38
961
875
877
253
952
213
571
997
121
303
39
238
322
41
216
887
599
592
671
255
776
894
204
583
686
56
955
762
731
735
8
379
77
923
873
71
4
751
614
666
846
163
313
441
155
912
972
231
476
659
397
146
510
894
290
777
633
546
854
289
736
824
533
69
765
723
878
634
613
165
74
348
463
136
517
652
732
198
354
372
297
892
75
166
584
912
709
61
34
287
257
871
660
866
401
596
528
281
310
310
415
383
186
398
87
865
696
879
292
523
465
607
949
225
314
295
535
558
90
109
266
530
281
504
100
638
638
960
754
133
132
563
678
960
571
673
571
697
271
287
550
200
42
992
651
175
357
405
26
882
617
138
669
632
770
66
659
770
954
559
282
801
252
336
284
32
910
273
842
40
106
991
294
562
696
5
905
996
153
179
905
921
490
241
721
906
470
541
147
618
843
773
707
771
696
77
17
749
306
609
185
789
776
633
900
335
316
724
92
578
107
70
892
151
435
111
487
11
188
511
251
115
614
76
99
163
466
612
211
510
834
170
319
293
245
168
349
726
1
175
271
162
174
210
17
498
20
134
507
739
111
137
258
235
567
899
62
190
375
524
268
299
249
654
637
681
160
215
597
920
966
27
118
668
117
372
598
107
761
921
700
535
673
453
951
387
990
202
733
909
485
278
887
171
817
532
247
876
573
601
530
754
300
169
642
402
543
350
882
517
845
20
639
257
984
388
910
818
368
305
937
211
121
300
309
494
607
746
77
166
90
555
559
489
935
276
765
797
454
598
633
244
582
256
447
964
914
102
832
439
586
327
851
251
528
846
566
570
878
37
75
599
957
488
552
740
236
832
360
840
989
831
392
819
257
672
637
451
513
974
852
155
202
630
64
163
943
279
875
764
434
480
188
263
144
771
503
697
672
336
38
269
217
59
952
745
324
398
615
220
781
127
788
572
585
70
72
805
752
319
265
83
201
541
738
837
337
333
465
963
988
919
811
124
815
201
508
916
531
397
130
456
67
374
714
114
292
520
860
803
191
121
106
498
378
332
337
345
324
975
914
689
737
69
123
867
913
559
603
856
576
384
923
178
124
609
659
238
302
464
429
945
112
479
889
497
441
355
488
338
271
599
246
851
604
101
519
735
845
660
905
857
857
453
262
925
305
874
975
590
446
66
605
46
299
13
286
39
559
205
628
334
224
878
941
990
411
9
121
326
363
141
295
319
382
654
630
796
2
162
349
22
27
743
758
340
745
213
347
647
692
337
901
544
917
237
513
79
608
978
745
6
770
212
538
869
67
439
715
323
612
212
46
800
802
731
381
636
902
990
877
244
163
584
4
76
775
30
840
807
698
455
829
887
107
505
956
796
965
2
943
824
31
354
188
708
251
536
699
991
409
821
458
293
562
939
67
440
155
768
671
430
209
676
86
835
751
971
256
40
123
59
124
79
33
606
555
247
227
593
917
499
425
319
91
125
340
478
216
718
878
524
802
196
146
520
144
707
218
426
384
650
592
170
907
692
317
612
895
187
536
453
282
835
889
278
503
319
659
468
409
263
878
507
318
360
976
283
933
396
251
362
775
482
107
535
415
66
336
461
825
793
114
843
893
663
689
915
372
483
640
543
573
815
150
228
631
496
358
243
412
603
890
743
235
162
0
724
801
644
804
457
281
867
834
966
693
384
135
127
34
761
621
443
314
911
140
780
820
258
196
606
63
312
542
701
618
318
681
374
544
456
703
658
119
704
68
953
893
117
150
662
937
363
819
511
468
119
266
481
125
497
789
113
400
827
508
721
699
707
943
60
895
739
273
146
619
612
713
432
282
457
513
974
416
996
614
676
270
641
490
456
996
658
782
461
242
421
895
342
730
571
600
326
153
326
986
880
534
428
319
921
456
869
372
278
382
400
661
504
131
725
609
840
549
552
255
822
233
528
159
967
784
188
446
779
378
655
486
417
187
767
921
500
83
508
390
921
467
860
487
627
550
811
755
259
449
715
215
45
286
578
192
887
602
958
157
158
501
920
387
368
9
273
444
528
644
576
465
345
805
734
222
554
875
852
496
663
491
999
511
873
265
253
713
743
967
832
654
73
722
77
996
911
753
124
546
522
831
339
363
316
305
712
689
99
158
45
877
131
447
626
120
968
560
398
371
639
295
170
46
709
164
980
140
621
122
159
167
668
934
499
684
869
873
53
184
958
327
330
387
40
10
36
571
826
368
603
948
767
598
853
488
776
410
518
299
6
383
465
252
884
73
394
338
144
716
868
353
251
672
666
717
466
594
166
940
869
878
973
19
90
169
331
806
572
815
11
561
912
674
953
9
342
594
834
453
763
922
488
577
820
818
94
269
39
663
39
563
384
853
482
90
138
888
9
949
65
916
903
68
252
326
215
10
493
6
734
494
827
940
410
496
116
744
506
586
762
834
937
109
244
963
11
101
34
451
18
666
286
961
839
906
898
885
755
161
870
90
894
278
868
866
585
322
510
738
864
35
3
936
714
406
787
172
2
679
691
389
729
322
82
593
531
382
759
686
540
887
462
412
167
203
88
102
973
194
391
614
188
175
800
528
960
877
577
165
877
920
406
240
523
797
308
775
575
596
798
197
524
349
807
296
456
967
766
217
162
226
220
130
452
494
751
222
708
810
9
343
257
731
589
953
140
919
498
275
757
502
990
803
82
776
629
994
987
554
894
933
893
458
871
589
123
823
727
798
413
142
263
501
889
510
434
978
941
604
693
987
707
837
623
62
858
49
462
859
595
876
529
713
452
687
122
757
477
58
917
346
928
107
891
225
742
668
208
782
773
430
483
26
50
319
278
699
525
555
682
105
757
81
397
146
275
609
17
224
40
42
529
198
64
407
332
174
671
362
236
78
477
87
471
661
904
291
789
371
266
41
663
466
163
996
57
358
0
170
814
894
848
524
59
286
213
625
364
702
676
44
168
268
279
388
182
701
307
928
130
833
986
199
865
383
334
276
344
519
828
651
388
203
669
772
808
182
652
647
608
104
371
491
562
512
803
100
683
310
747
55
236
0
675
633
159
81
804
207
769
573
473
485
846
565
592
997
309
727
418
491
146
52
265
170
441
769
558
773
94
38
952
147
724
69
187
827
421
441
729
440
577
849
152
40
234
142
939
291
118
105
676
807
662
101
960
536
698
52
705
688
571
745
514
941
236
106
167
260
461
981
33
584
651
118
247
8
709
493
833
344
576
920
951
334
520
650
323
244
504
75
468
274
247
156
376
813
129
591
657
301
298
670
108
572
46
76
750
909
314
536
561
68
444
861
977
941
316
564
440
109
162
264
582
992
142
785
546
92
155
556
780
228
128
498
308
860
95
963
563
511
821
300
779
89
763
953
349
956
249
619
245
873
839
696
124
57
613
803
557
79
137
903
761
501
227
176
924
668
901
24
116
450
870
452
624
782
811
994
137
671
885
615
468
800
855
70
484
517
157
264
934
246
865
985
740
204
55
642
70
947
54
52
156
338
128
641
862
163
704
809
242
205
255
745
33
575
156
381
444
120
446
508
988
636
830
311
527
767
481
471
1
730
302
618
276
392
248
396
176
600
231
856
967
787
632
759
814
903
646
17
508
690
928
48
803
287
1000
47
374
401
190
521
783
157
616
345
227
454
140
914
901
170
137
267
207
817
450
398
48
169
288
109
978
37
795
948
535
923
741
35
895
729
938
934
357
705
523
264
863
90
283
907
691
281
417
558
936
550
450
195
184
182
834
572
211
842
915
88
753
175
446
976
438
60
0
919
482
890
704
32
781
129
312
583
722
311
184
559
84
299
690
864
718
72
771
976
674
748
221
932
816
342
908
378
694
35
558
666
92
941
951
2
157
367
510
312
822
65
342
535
224
108
955
24
498
371
211
945
527
728
318
483
116
912
223
304
180
404
928
1000
385
477
54
816
843
831
170
63
829
274
169
731
516
1
334
238
106
591
313
979
690
74
161
143
153
861
180
841
582
571
656
239
406
64
232
81
500
224
429
459
522
148
823
428
653
657
303
13
847
496
296
917
142
558
216
687
254
530
402
429
737
256
439
316
432
876
721
669
76
873
791
482
471
110
26
389
765
502
91
889
403
772
768
287
660
424
699
243
34
588
162
551
39
859
246
968
632
480
86
69
998
792
951
218
746
310
180
759
142
143
371
125
478
391
504
832
706
679
502
114
441
195
641
510
869
154
599
622
673
47
451
518
829
669
387
656
739
585
827
301
866
323
745
99
430
119
693
583
270
241
633
709
508
483
159
490
767
528
608
191
99
431
452
555
585
707
998
556
442
586
485
691
623
593
607
886
12
169
589
638
904
764
89
811
350
238
113
881
881
349
244
668
835
535
461
912
279
833
156
676
625
578
572
329
329
807
836
702
958
337
785
959
151
337
216
551
525
619
329
339
435
215
84
577
5
644
36
947
796
919
990
812
296
555
979
971
444
721
928
909
518
707
727
280
756
3
290
490
982
851
210
398
351
802
311
104
205
912
736
901
563
663
52
831
690
78
983
311
27
889
747
31
590
789
503
392
989
648
309
994
952
658
630
364
293
284
879
596
210
986
49
176
19
879
215
443
20
632
653
668
841
780
596
115
730
672
974
92
628
255
885
685
932
604
999
404
291
645
67
718
587
879
137
815
435
65
829
564
61
451
234
781
413
725
891
173
7
284
681
163
761
52
792
748
546
524
229
881
792
141
991
468
720
532
389
532
717
438
881
299
316
777
910
766
363
807
299
775
496
535
562
858
504
100
476
19
596
295
570
537
830
642
918
269
932
611
776
439
925
465
834
220
231
19
439
267
239
841
581
663
479
604
333
410
61
287
672
813
453
476
936
728
716
359
517
997
217
368
207
244
24
848
288
629
43
208
558
774
824
45
67
179
410
141
419
808
391
842
765
281
795
715
123
768
311
180
116
989
308
451
555
205
680
777
508
429
478
244
408
474
624
992
105
642
387
860
34
504
830
706
722
388
247
481
436
664
478
482
942
560
16
449
680
642
508
348
419
694
798
918
635
335
425
639
803
979
976
386
211
757
915
149
111
777
265
511
833
212
651
853
657
515
323
843
744
29
390
913
212
238
691
187
881
942
218
945
793
167
160
751
290
18
384
702
576
886
945
346
261
40
131
449
630
425
205
340
756
907
467
709
853
11
364
880
437
408
974
700
363
524
633
4
555
758
58
112
466
267
32
612
573
684
2
716
817
784
633
503
794
858
752
772
28
773
278
448
507
595
310
439
42
563
404
298
39
272
441
416
751
376
673
968
377
880
788
232
480
555
35
245
921
410
921
523
228
498
898
557
253
868
662
151
718
716
89
757
984
891
389
777
129
495
299
484
111
240
157
671
183
38
134
282
711
693
120
776
636
683
567
770
396
519
727
478
952
595
734
251
801
122
630
191
0
302
687
230
218
513
12
694
244
570
824
60
281
814
335
505
120
206
946
254
280
577
720
633
409
762
918
406
762
553
933
397
192
262
163
332
332
570
153
499
871
435
483
996
588
468
598
451
137
591
844
614
296
380
432
963
337
680
282
821
379
610
358
57
826
909
350
256
743
750
990
449
761
11
331
714
724
256
365
164
308
850
605
283
553
661
486
540
439
165
596
712
72
260
195
721
186
979
373
679
510
154
830
156
503
804
985
225
975
643
833
362
140
75
193
473
883
100
8
552
897
626
53
442
458
199
510
287
816
465
93
321
444
735
180
266
914
486
438
971
82
98
457
224
545
160
200
42
756
921
134
891
409
679
93
292
624
318
510
0
756
102
961
223
274
179
907
815
505
778
70
762
505
269
146
433
303
131
393
703
14
744
692
36
814
131
382
230
189
329
815
143
142
292
405
727
245
946
357
590
242
977
938
950
190
919
558
998
11
453
27
204
859
6
797
5
9
107
395
351
247
599
579
119
397
7
553
758
472
705
179
166
707
182
390
654
391
440
802
433
613
742
920
494
968
874
484
423
638
824
770
424
713
911
75
929
817
86
193
388
684
224
31
383
286
674
743
455
176
404
785
978
423
535
675
220
425
620
879
642
295
301
245
311
607
424
862
920
480
443
511
261
299
244
250
520
196
527
368
143
986
95
600
627
1
77
65
210
236
752
747
958
773
457
973
622
630
586
288
306
879
772
118
419
601
497
615
489
238
575
546
69
965
438
188
307
916
775
166
976
219
926
416
178
722
842
487
43
483
769
910
188
928
511
16
594
479
666
112
315
928
114
961
482
679
634
590
951
399
8
562
420
157
956
915
805
131
434
474
605
646
227
511
458
601
204
864
180
287
460
576
482
660
548
902
640
122
208
629
451
596
644
730
515
130
822
440
670
300
327
809
820
157
253
903
350
876
3
308
870
729
113
865
237
282
503
182
993
899
794
556
513
165
234
175
281
913
484
304
9
699
381
123
593
139
736
707
277
518
916
451
230
12
744
0
585
573
594
719
203
79
809
43
582
487
462
213
280
207
365
544
278
290
891
225
501
73
862
642
275
993
587
408
681
338
188
580
135
176
195
44
430
644
677
707
139
553
211
794
493
973
514
61
540
507
984
959
22
758
529
425
231
108
490
845
299
290
968
69
155
699
641
122
87
21
901
366
766
939
805
651
128
50
941
629
211
11
692
446
856
116
331
611
925
713
837
317
96
406
766
305
955
528
129
366
126
31
412
295
16
589
217
184
309
856
398
448
543
280
870
478
851
995
651
78
236
212
301
204
143
684
858
937
356
982
733
614
984
874
679
124
952
330
186
407
220
377
575
299
571
907
730
242
801
824
952
26
964
77
483
646
482
372
411
964
101
843
69
657
295
667
626
168
545
954
742
558
980
280
901
976
275
203
627
335
769
815
474
235
654
105
561
360
142
846
755
543
401
347
358
174
591
758
664
206
265
645
45
153
673
286
311
662
67
167
73
635
571
291
606
461
799
813
803
809
730
469
665
709
280
523
287
434
492
149
191
563
208
60
327
942
332
879
846
804
51
145
783
665
151
93
671
714
318
313
424
734
79
687
869
678
230
614
553
30
874
633
280
977
436
61
50
142
105
945
545
825
188
591
805
77
643
984
794
418
42
215
778
163
443
298
624
754
684
835
117
432
955
415
744
845
993
2
756
824
138
201
252
556
909
965
277
820
553
252
538
62
761
15
708
401
301
921
865
96
779
239
350
980
629
243
762
296
747
45
887
832
258
653
882
663
759
317
786
346
440
452
957
823
711
53
864
202
356
434
284
58
288
601
617
618
32
639
627
175
395
917
611
635
347
265
848
195
790
522
103
732
462
984
372
415
384
808
952
407
34
473
373
662
95
800
281
146
279
14
811
786
27
650
132
264
260
803
911
27
354
867
820
468
229
271
943
821
570
394
799
757
339
416
110
640
935
409
548
482
774
417
86
949
273
950
708
301
576
519
636
193
474
662
144
57
9
790
340
926
787
574
101
626
495
328
812
859
962
478
539
624
768
715
460
822
315
99
177
252
562
912
99
676
954
114
585
358
749
60
543
789
402
98
933
773
234
713
899
131
21
116
92
389
125
208
24
769
477
947
402
750
741
333
659
837
919
31
164
299
708
981
807
721
839
830
305
132
880
254
19
235
737
720
446
554
328
239
145
746
342
545
869
149
587
335
21
983
505
420
138
196
755
350
720
676
690
917
244
95
144
50
56
324
739
974
853
11
740
611
157
461
22
497
485
133
921
163
467
415
479
132
180
481
860
31
106
594
396
967
938
40
526
445
815
887
82
545
767
252
104
483
604
827
241
320
231
840
793
815
892
195
931
340
9
448
37
154
872
67
823
268
257
247
603
766
881
186
384
438
620
618
934
324
881
409
879
142
486
47
721
846
71
24
371
642
863
649
634
39
738
317
518
468
432
496
593
905
689
53
949
907
657
120
278
455
705
90
850
284
458
543
83
330
289
595
291
734
792
603
73
426
783
355
968
490
244
574
697
667
42
546
510
858
197
264
170
890
319
562
775
821
80
403
443
659
416
534
15
514
97
266
987
408
602
122
244
55
387
48
359
260
671
997
930
734
63
311
337
999
885
183
971
940
439
976
755
729
143
727
995
608
868
776
938
686
23
490
876
575
425
294
132
620
78
915
685
234
921
836
136
645
993
924
46
277
338
897
38
917
964
933
529
352
931
443
939
799
190
531
863
903
330
952
481
15
324
84
247
537
699
345
233
197
485
891
364
455
250
959
295
955
771
276
964
250
4
949
344
178
154
823
500
170
817
929
903
795
882
549
415
943
894
477
185
227
770
241
224
611
619
583
107
724
120
849
640
753
411
128
907
694
772
915
339
976
526
398
821
525
80
504
320
751
807
536
616
352
356
284
41
433
15
894
310
466
301
709
413
693
525
962
422
889
565
478
948
502
945
829
369
4
62
66
454
309
798
601
163
494
193
821
324
531
298
427
162
587
7
620
167
107
858
882
696
938
96
112
585
311
345
821
711
230
977
253
23
441
580
717
10
164
375
469
12
713
16
653
928
441
84
332
917
945
714
945
705
131
919
155
478
425
532
668
444
19
344
909
644
412
72
61
610
246
171
745
366
823
321
516
233
705
187
723
750
96
118
257
885
551
364
11
26
390
706
408
879
512
11
632
572
1000
600
665
303
469
925
665
90
91
265
558
272
186
734
249
656
28
300
796
749
488
622
727
233
590
435
898
549
307
5
508
249
184
24
664
678
248
88
215
741
782
337
949
969
284
609
589
937
239
924
699
126
845
936
1000
440
676
889
350
341
851
747
930
745
201
388
566
855
243
523
131
175
811
474
412
964
717
699
842
319
511
44
320
78
765
280
79
614
86
652
276
369
701
81
330
292
511
578
511
199
877
119
349
776
932
161
421
504
397
931
770
764
137
177
962
220
107
389
250
177
518
670
705
430
428
965
24
612
386
229
514
796
419
721
599
917
409
82
667
474
938
597
343
129
225
82
318
30
712
424
341
841
245
473
797
88
291
992
710
141
718
220
799
359
514
888
53
142
457
341
433
786
719
873
16
855
569
203
490
991
357
244
505
484
616
230
287
457
799
598
739
640
815
941
899
906
391
790
698
100
848
319
109
137
49
336
874
226
557
517
385
321
456
313
321
251
424
218
767
8
933
716
876
480
864
791
712
688
523
536
615
530
167
410
40
353
727
198
82
231
681
113
581
611
363
475
185
423
230
192
665
646
600
638
575
846
219
440
562
626
361
547
334
226
234
643
335
50
813
994
865
279
801
169
809
404
660
822
508
502
337
312
816
585
512
78
628
70
3
972
625
69
434
585
836
846
155
68
494
680
996
415
530
221
869
112
570
746
27
611
271
584
577
983
14
662
87
628
853
43
138
391
156
389
718
59
674
960
210
991
621
355
813
130
967
539
329
20
551
393
950
517
924
771
167
306
159
554
593
759
570
470
919
654
836
352
231
329
955
348
558
800
876
313
809
148
270
875
983
462
353
346
929
195
143
928
58
381
331
508
372
319
367
916
924
346
853
271
176
685
34
225
152
2
920
988
742
714
968
650
263
407
401
930
383
70
611
875
785
115
91
81
624
752
76
664
450
425
161
592
490
260
554
824
348
732
716
878
162
449
68
123
973
931
969
709
540
273
841
988
662
809
190
13
413
733
879
646
303
781
60
667
711
574
799
168
161
248
236
293
284
715
497
938
458
94
475
871
827
31
452
666
874
310
275
68
73
38
557
412
282
992
688
822
143
710
40
533
935
852
267
810
691
629
251
396
599
43
372
715
486
983
650
160
976
736
284
911
612
962
118
556
646
119
428
874
527
567
812
322
39
851
299
832
616
62
707
402
933
425
203
855
572
182
406
574
720
218
817
171
577
763
62
930
913
318
690
162
593
254
470
302
887
535
884
532
369
302
38
331
914
587
711
499
130
156
389
69
596
636
262
270
694
737
16
216
574
850
935
427
802
141
872
124
864
18
795
631
583
507
30
901
723
207
215
789
526
293
810
809
758
592
271
838
935
626
805
568
83
589
342
705
873
217
584
872
240
657
511
795
680
812
812
33
498
799
911
520
925
735
418
116
921
550
536
34
690
982
578
845
675
815
725
243
922
829
656
275
79
2
129
293
332
203
574
149
792
601
228
879
873
598
694
997
235
80
466
397
402
151
904
149
44
603
548
479
937
94
637
805
112
803
913
749
207
559
696
794
852
8
284
982
307
318
5
635
255
109
963
483
479
578
584
50
724
140
590
601
751
245
544
449
511
336
868
344
754
372
478
535
304
92
265
525
838
200
760
976
943
742
92
710
716
662
296
438
41
956
139
499
426
28
540
309
335
97
274
317
135
448
842
426
385
976
697
405
99
831
389
883
521
779
242
696
281
793
816
550
137
610
274
497
195
137
587
892
465
589
836
38
545
491
406
221
218
709
258
429
828
198
464
708
478
623
41
38
255
139
881
645
617
82
268
840
873
659
263
844
73
290
565
863
502
471
812
557
530
686
884
361
192
517
481
750
281
459
532
67
583
509
823
551
575
916
312
136
497
102
181
234
589
745
758
573
592
43
414
345
548
609
924
975
329
590
978
729
434
831
275
225
589
836
237
952
666
896
278
672
306
259
617
836
533
458
551
296
204
932
756
264
942
44
917
538
332
577
997
897
110
665
153
586
401
103
165
262
46
685
792
61
576
131
995
688
14
380
871
87
607
197
350
521
53
428
263
638
4
390
37
539
845
250
96
382
945
691
276
27
445
625
50
374
298
182
464
653
998
658
450
838
80
310
326
800
822
166
159
891
824
984
510
16
377
79
896
576
781
99
404
394
536
601
784
268
26
821
676
561
134
845
765
633
620
759
29
59
368
115
944
492
368
446
772
505
451
393
348
180
328
38
282
241
477
815
390
259
169
439
941
448
333
946
5
408
101
57
598
836
430
537
485
7
693
562
385
176
28
416
14
341
442
683
929
840
923
720
259
806
711
544
130
937
729
224
791
896
472
292
152
586
317
272
537
402
901
873
775
868
925
208
15
607
716
257
132
130
424
311
956
36
206
642
761
364
70
649
260
705
931
56
687
187
46
426
561
749
651
132
718
191
380
586
846
972
247
445
7
821
161
785
702
554
497
338
778
307
265
351
554
780
13
827
648
927
938
102
770
75
197
637
484
924
130
371
293
934
200
712
219
852
945
765
939
929
785
207
632
382
843
797
378
691
337
970
876
267
550
135
127
578
228
555
923
702
354
948
448
271
196
975
459
538
537
814
325
767
517
952
907
481
740
655
779
411
523
806
110
583
670
718
514
183
590
562
254
423
885
746
220
702
107
753
545
423
233
164
794
214
713
398
765
460
341
512
346
646
58
14
638
789
888
682
287
794
930
559
913
829
129
272
167
493
340
391
338
802
373
223
563
698
225
671
464
131
646
166
461
401
627
612
374
343
832
829
460
831
715
681
249
406
281
757
997
238
978
899
933
138
925
502
343
95
297
365
234
571
167
62
17
185
538
191
57
918
319
159
16
328
205
631
714
405
275
538
373
421
849
315
569
560
272
611
726
464
767
932
94
444
4
815
101
991
329
634
604
336
881
615
580
718
436
79
859
237
877
954
458
226
624
484
111
604
973
630
108
673
879
480
292
208
768
916
344
135
742
370
436
843
799
523
469
797
508
370
985
116
945
848
591
284
260
789
950
379
879
106
209
210
873
228
203
240
284
223
107
354
818
92
685
501
282
368
413
824
258
823
496
502
624
824
946
887
980
361
760
915
973
983
487
868
762
318
873
808
56
509
536
877
238
146
556
726
914
269
523
104
776
439
664
685
404
814
231
42
295
33
327
246
237
934
844
543
541
532
515
307
648
588
8
178
376
969
477
252
984
554
883
220
339
865
404
192
627
952
972
823
907
947
223
459
762
326
590
122
67
245
910
778
987
775
63
337
373
856
367
453
171
78
30
178
225
363
301
704
548
482
977
135
954
32
245
178
249
720
393
741
135
632
281
453
53
619
324
659
877
484
408
77
303
628
674
820
551
451
208
38
628
839
189
283
615
958
17
832
264
502
640
335
645
824
626
837
39
533
124
86
837
709
684
81
836
225
679
966
650
968
904
699
552
72
403
864
220
623
117
417
144
390
736
987
58
522
767
233
84
741
216
429
195
77
231
772
440
962
963
381
739
999
594
584
171
602
830
28
490
338
215
955
713
47
138
541
770
417
631
587
596
765
784
324
639
523
571
754
6
64
414
712
548
584
703
762
580
486
535
819
468
482
64
927
370
34
643
560
30
900
302
592
82
295
635
804
985
60
276
771
543
445
227
322
590
352
717
870
808
975
514
187
369
695
376
438
666
769
460
277
740
475
427
942
679
57
324
170
511
18
623
625
308
231
347
649
214
543
50
194
767
144
221
942
62
303
525
396
24
857
124
257
853
693
733
780
507
80
530
340
216
176
295
745
837
370
517
337
900
118
444
258
601
489
699
541
695
613
305
250
843
52
959
603
348
869
564
991
134
810
338
380
272
879
520
263
752
87
570
213
113
550
814
198
424
252
725
321
131
412
29
993
715
507
876
552
26
469
233
636
376
420
940
315
189
314
600
626
61
126
920
885
768
94
466
775
113
722
281
846
291
513
904
497
909
473
662
985
490
856
458
685
757
50
449
199
482
468
646
967
392
711
145
516
584
861
640
776
14
394
918
810
82
568
57
958
384
500
138
806
766
714
55
567
659
141
926
723
955
597
442
603
976
601
629
828
356
313
153
712
666
617
708
236
917
308
121
664
47
463
615
510
557
707
4
470
138
575
142
372
966
672
441
943
627
57
8
64
297
916
863
560
262
852
589
145
324
555
50
478
270
618
644
523
792
381
946
510
356
649
566
66
75
888
814
283
971
559
227
803
420
667
705
275
782
927
626
673
625
431
284
485
103
730
1
798
531
464
548
576
883
921
195
812
93
470
341
507
44
921
658
678
461
377
125
66
935
169
743
685
883
517
975
233
952
939
191
336
742
468
836
593
393
663
567
77
524
460
566
718
566
626
894
159
121
595
900
629
149
27
907
535
181
850
222
283
1
464
169
156
362
52
499
406
468
206
330
123
620
101
33
84
41
813
698
999
165
78
371
11
300
512
409
960
905
944
446
955
430
411
945
354
107
869
944
550
756
564
826
651
989
346
565
940
344
296
616
735
192
932
329
285
58
780
409
154
182
609
974
588
213
98
946
201
816
144
467
392
911
229
854
818
354
156
398
844
924
998
467
651
770
285
441
259
258
811
126
587
495
339
368
864
271
194
565
826
781
12
102
769
589
214
852
113
184
89
214
302
275
360
787
495
789
977
101
485
137
652
36
539
110
787
900
895
511
361
31
941
416
928
791
169
724
396
330
70
887
783
104
345
485
415
395
819
991
691
964
684
827
753
116
674
867
598
462
716
379
463
123
281
934
908
841
500
785
926
529
609
746
483
861
59
571
30
427
340
483
808
167
218
927
988
103
240
552
386
736
776
444
438
288
914
849
186
604
489
870
854
941
790
599
822
131
881
67
513
379
771
621
82
142
777
280
972
288
478
718
758
192
122
950
19
449
984
212
923
777
927
642
620
555
468
485
616
386
695
23
181
790
664
649
277
605
265
620
991
996
283
108
307
468
373
471
892
761
670
133
162
223
505
405
93
115
336
810
563
999
447
918
361
171
252
333
120
236
287
151
156
428
500
412
404
590
462
348
258
942
87
922
872
694
361
13
684
895
323
33
170
428
911
938
208
397
177
703
502
527
968
34
607
187
759
542
829
867
696
403
945
924
795
942
369
608
685
579
184
896
890
784
586
488
785
23
234
423
446
979
257
985
905
616
882
439
422
431
707
99
358
634
88
582
2
5
775
30
438
439
845
680
888
26
77
879
982
844
504
870
978
542
624
33
245
991
227
314
372
600
913
894
63
594
104
432
264
820
707
604
771
947
882
650
566
226
90
206
643
3
755
275
698
872
676
358
282
535
699
328
483
459
716
329
519
234
165
49
881
237
610
189
59
233
465
496
665
754
547
835
546
997
23
835
251
49
948
718
91
569
483
760
612
897
594
984
20
51
902
729
201
918
111
404
864
299
729
137
994
740
769
292
593
698
495
681
369
851
231
992
254
14
101
863
399
114
785
778
552
545
872
208
79
623
193
75
251
958
899
944
427
479
900
363
554
104
488
693
602
86
597
811
416
281
739
460
556
757
617
921
442
572
174
767
222
16
506
845
364
606
309
270
844
375
378
573
560
792
291
487
220
351
3
615
295
148
185
578
740
856
921
322
653
327
656
731
890
546
374
836
833
433
849
877
916
92
318
13
655
412
129
360
831
330
432
972
458
685
649
530
699
889
416
311
404
947
22
53
63
431
444
113
478
205
363
347
539
279
578
614
843
13
385
210
979
938
116
331
618
527
42
115
971
264
13
782
832
109
573
826
506
193
746
726
212
177
150
285
944
205
262
870
283
642
247
767
851
478
883
339
243
371
68
142
851
926
770
709
928
210
69
453
877
556
230
163
685
90
150
893
536
221
847
655
232
194
896
679
726
922
577
599
314
799
432
632
229
219
597
368
680
66
493
490
870
676
322
243
492
522
834
136
799
545
751
621
904
864
132
969
836
870
798
294
959
736
479
712
694
63
721
842
689
765
299
251
718
835
411
734
944
133
196
984
947
888
179
900
366
344
267
412
815
401
189
816
990
332
805
859
60
987
962
299
629
478
704
319
162
556
901
523
805
28
181
487
288
928
344
859
706
563
263
196
155
190
787
481
878
645
275
714
317
730
941
781
343
331
375
806
718
785
336
114
56
114
253
533
616
851
812
27
819
631
481
407
659
820
868
184
135
810
588
279
94
161
534
976
937
709
48
88
219
502
526
848
295
372
652
731
73
608
7
804
441
141
375
430
378
537
811
89
311
306
135
536
55
385
11
682
277
207
428
788
739
882
653
92
113
997
520
7
772
97
722
467
893
221
458
522
881
961
45
630
366
857
22
94
505
730
599
42
656
650
850
1
343
418
386
129
465
484
668
66
90
269
121
670
134
909
726
207
891
130
758
219
411
809
459
574
725
678
649
888
318
826
678
748
741
301
494
685
670
504
809
618
645
693
702
119
101
750
408
629
493
627
985
709
424
565
490
257
717
748
409
304
506
605
852
521
113
648
667
600
315
86
438
124
287
63
422
862
702
842
364
160
540
597
320
860
957
202
853
130
905
241
902
405
922
585
722
531
910
314
389
441
673
564
134
837
812
268
834
379
82
443
880
134
390
625
622
144
21
88
493
29
633
599
231
867
400
235
757
449
606
871
633
58
255
991
224
204
98
278
481
838
15
921
849
467
78
891
142
846
477
489
429
858
827
233
856
376
276
293
229
321
186
534
702
799
278
917
343
932
171
496
831
613
367
707
507
664
152
542
25
650
560
239
897
805
297
772
615
421
599
346
654
210
802
58
226
933
133
197
435
178
7
969
93
198
420
321
621
48
237
499
35
928
697
65
703
861
968
901
571
27
109
146
674
535
742
114
149
706
185
377
554
129
55
257
947
718
711
179
325
57
576
644
886
132
145
372
838
426
829
370
46
414
733
785
493
611
350
662
924
607
851
656
747
743
861
250
944
919
630
37
49
72
821
187
495
829
929
965
117
43
868
854
242
484
336
59
438
698
464
679
168
64
673
773
122
244
296
851
316
581
79
362
901
630
352
137
240
256
830
625
565
615
289
543
40
623
645
247
504
758
716
999
604
816
863
970
760
947
923
477
89
366
236
949
867
882
68
98
250
609
455
350
26
106
170
167
563
906
835
95
657
76
110
494
534
838
860
295
352
556
11
231
697
643
146
377
905
841
577
897
624
59
576
510
108
853
212
641
777
296
416
209
942
721
140
375
108
289
749
564
558
697
738
573
209
690
644
501
809
641
801
43
715
528
258
728
296
183
104
949
550
233
159
755
820
286
133
921
899
661
450
245
170
433
742
710
201
306
153
195
846
761
653
495
104
48
404
263
468
202
146
162
355
100
217
691
827
967
240
129
987
528
482
361
238
571
307
268
474
544
565
735
989
562
440
991
222
356
822
949
662
776
85
880
523
831
732
449
427
791
325
317
917
499
521
199
556
723
533
550
865
540
890
962
899
3
271
443
997
244
568
460
968
278
9
237
418
826
844
918
307
709
49
502
18
356
981
115
680
377
917
337
465
608
895
162
766
846
996
672
59
448
761
867
872
802
79
89
724
67
976
809
861
948
835
616
150
563
216
340
645
805
5
863
95
656
422
691
446
873
413
502
270
799
643
624
805
711
557
860
43
69
293
142
262
775
737
254
58
373
448
115
985
857
783
549
113
421
67
90
278
805
522
105
537
263
872
947
8
976
446
999
427
209
496
305
774
200
780
591
185
138
218
879
924
784
758
227
953
550
793
201
97
824
829
130
904
66
703
401
412
435
329
335
772
574
289
508
630
573
138
826
37
774
433
912
551
37
115
948
899
878
812
775
185
655
43
961
298
148
62
504
783
142
891
631
466
809
778
169
394
599
471
760
547
336
149
878
870
394
548
107
23
94
812
936
183
465
884
717
861
21
140
50
367
700
822
48
611
942
46
919
234
969
167
178
436
823
483
687
331
812
720
599
132
474
621
567
64
505
71
488
246
942
482
982
451
303
549
532
439
909
360
126
295
199
326
325
380
449
456
948
397
878
679
604
140
328
402
940
129
824
294
320
855
892
873
705
230
181
176
731
901
505
753
670
575
588
130
747
203
907
733
225
213
106
269
404
496
661
635
748
903
200
473
44
924
149
905
636
662
766
803
334
754
205
553
401
464
378
987
851
99
796
629
747
164
916
131
127
607
999
435
13
825
412
204
955
897
274
82
61
63
966
545
954
148
350
689
871
521
955
737
279
142
690
979
658
527
407
666
233
190
320
986
101
834
477
344
511
911
326
314
84
542
916
447
163
995
243
669
949
584
458
691
949
935
868
396
345
820
486
569
233
701
22
672
60
203
565
170
599
103
600
358
477
969
3
2
471
88
558
685
885
698
643
408
405
63
967
120
449
340
52
934
195
579
582
646
957
642
945
137
68
4
222
432
811
165
122
34
383
899
427
574
418
93
570
484
156
722
18
330
895
113
354
164
467
57
907
145
592
410
811
153
673
27
676
807
99
332
146
263
851
735
132
31
332
28
576
428
226
557
589
478
962
409
146
411
740
705
386
19
855
693
278
974
127
602
866
476
342
76
727
412
35
678
63
205
303
454
669
972
373
356
124
806
841
449
362
119
92
835
303
803
812
726
938
929
640
389
901
302
107
520
813
666
618
783
791
256
695
996
636
202
698
494
155
884
295
431
59
785
104
101
522
61
620
250
267
253
600
849
422
794
204
635
723
501
195
692
302
618
341
144
120
461
831
661
199
270
215
55
545
148
122
601
637
20
612
297
125
226
19
905
346
787
315
353
944
431
794
235
440
538
767
943
141
356
944
106
63
345
139
820
827
327
185
869
570
141
582
990
730
323
833
521
185
284
667
599
504
216
943
205
192
420
563
191
989
215
453
740
292
449
915
509
277
802
483
832
822
15
71
799
161
796
960
796
803
756
687
290
763
968
879
701
197
13
507
922
609
807
719
158
596
982
170
665
463
13
957
550
130
691
916
577
367
877
587
652
799
570
800
819
279
43
449
370
294
915
97
289
802
658
40
40
161
207
822
590
19
788
421
217
875
408
37
879
404
944
587
933
406
727
427
394
35
394
606
593
878
5
174
412
924
435
204
740
162
207
661
635
174
477
225
345
501
906
711
243
279
458
717
721
691
874
423
358
140
946
927
737
219
743
634
471
105
514
568
301
796
440
696
586
413
889
837
811
210
436
127
965
398
243
549
884
801
828
853
1000
71
807
837
747
242
204
610
965
127
824
888
426
397
991
366
950
508
445
731
850
153
807
920
716
987
87
329
442
503
323
606
367
563
994
579
269
368
961
297
350
58
353
606
837
708
31
302
260
365
905
881
63
936
173
553
839
691
932
50
22
861
506
696
356
726
838
366
995
275
911
226
38
863
381
576
628
332
614
949
318
79
504
913
552
762
858
622
341
70
444
700
529
443
273
130
56
551
652
41
141
727
370
369
717
228
621
705
544
75
419
553
377
728
764
465
810
219
307
813
314
239
542
458
652
419
257
539
998
710
820
325
805
282
627
819
728
968
157
827
449
560
118
383
963
81
126
583
127
172
835
911
570
81
968
702
128
805
346
632
891
490
368
702
421
259
117
148
599
956
367
119
663
195
123
853
309
537
837
965
483
570
252
455
738
731
408
364
96
739
778
257
606
208
296
220
249
579
294
57
447
818
615
542
362
7
116
197
546
41
734
985
649
764
33
105
939
903
899
561
638
294
411
764
398
282
128
312
686
568
246
846
649
636
998
459
600
682
674
867
720
457
859
154
923
46
330
237
148
810
538
559
976
306
36
321
437
857
819
809
873
423
567
568
244
65
781
806
300
977
252
537
332
733
872
676
522
19
43
402
748
599
534
869
378
159
207
753
148
685
993
702
331
460
139
833
826
579
803
334
523
227
618
497
56
453
354
945
999
365
672
155
616
700
571
0
692
456
680
60
907
403
180
497
918
682
417
369
852
764
363
968
810
471
264
987
731
689
367
45
711
539
688
140
428
189
676
152
678
316
805
40
957
675
214
282
566
367
84
462
307
256
789
391
990
959
106
992
704
163
257
667
814
183
41
255
740
987
870
873
267
21
316
331
330
445
744
728
11
578
363
878
506
266
766
224
844
435
472
3
100
214
983
641
574
875
138
487
999
803
292
366
423
712
211
176
275
846
730
325
824
211
793
825
578
352
534
472
149
444
106
863
5
554
862
544
442
731
26
874
678
287
283
243
447
395
104
972
421
557
52
390
298
445
517
419
663
454
20
667
241
383
690
652
683
130
456
168
335
127
915
970
509
647
226
534
105
998
348
815
472
753
291
933
83
659
20
576
714
769
996
13
256
86
121
747
0
136
451
532
925
679
197
192
206
39
727
149
174
450
31
291
397
396
506
424
793
298
775
881
751
745
667
886
583
511
370
280
41
638
564
688
955
765
513
725
364
976
503
731
187
948
732
508
663
552
381
227
135
684
87
216
818
886
300
400
432
563
5
947
0
553
796
201
921
303
743
57
860
617
311
283
268
478
551
199
985
784
670
307
907
753
264
374
857
626
441
584
165
837
789
556
932
682
405
888
277
642
179
50
464
220
440
41
792
162
826
201
436
606
660
495
519
692
653
89
447
371
96
693
250
235
502
132
130
667
485
559
486
540
534
693
54
217
340
858
529
988
118
620
28
31
26
187
205
672
305
604
970
65
334
446
792
93
550
258
537
370
920
845
954
261
148
359
274
96
762
833
548
273
198
965
618
775
264
798
77
690
117
925
144
999
921
480
278
211
920
570
689
935
450
303
834
961
602
613
525
997
985
97
430
134
453
993
12
992
212
145
271
595
347
490
565
979
146
979
456
840
469
526
658
503
529
223
929
361
380
996
617
9
922
563
268
419
669
47
821
564
268
932
614
932
459
213
153
849
996
49
307
700
14
408
129
982
768
407
529
307
600
436
73
322
185
750
300
110
902
570
403
733
384
830
125
781
149
473
749
412
311
573
193
960
870
674
176
96
576
722
162
113
336
282
642
474
815
42
105
284
644
690
986
518
484
465
602
119
338
52
675
336
891
113
170
830
212
616
622
979
940
799
892
724
671
299
648
679
484
57
431
469
164
326
14
383
555
257
934
311
155
232
120
818
243
869
822
582
522
922
544
761
54
794
445
663
380
804
338
661
519
279
548
439
269
248
351
751
567
758
139
129
669
121
420
497
489
959
747
35
769
731
959
312
224
984
492
761
117
665
524
798
994
58
373
38
209
838
843
145
696
711
143
900
987
121
299
370
933
191
61
666
775
788
318
552
720
987
129
475
48
100
355
167
633
299
469
778
594
162
712
458
287
798
979
207
908
917
219
624
24
623
714
325
184
365
350
503
899
964
420
849
888
912
732
590
694
186
437
217
101
633
620
485
447
739
533
172
260
888
247
314
228
567
923
51
815
473
788
906
81
732
653
166
659
381
864
129
71
474
948
21
252
644
393
551
324
417
326
631
420
757
486
662
161
899
223
771
123
14
759
771
690
625
803
795
395
586
464
5
982
705
373
876
905
41
742
456
33
772
679
350
224
140
703
620
755
937
410
34
830
663
804
634
643
606
977
300
789
34
225
86
925
126
228
49
449
86
652
923
371
725
536
823
901
776
381
238
79
507
918
0
133
96
108
263
420
86
325
791
180
531
819
750
23
123
17
582
21
325
420
50
630
125
549
324
192
632
510
181
201
162
155
14
865
632
170
207
402
578
54
360
434
204
458
775
870
403
427
929
450
307
472
726
728
779
464
46
758
928
432
261
188
749
627
483
775
567
483
678
430
669
110
318
854
592
402
676
133
700
411
915
442
381
711
216
535
241
336
636
336
679
34
251
211
378
120
769
70
19
69
534
761
560
681
938
539
961
186
542
204
534
536
404
734
571
6
685
423
657
332
328
674
961
275
109
89
542
692
323
846
59
630
766
67
537
512
977
518
227
473
120
647
764
877
205
884
909
121
947
266
96
403
160
679
826
423
852
353
762
992
772
850
96
719
510
331
135
726
290
110
704
317
602
516
514
47
697
725
820
95
596
773
607
110
700
134
347
618
414
262
911
456
994
422
415
787
139
267
904
15
507
817
377
685
903
846
285
546
434
100
89
836
698
269
402
878
274
846
459
224
237
33
279
849
650
449
914
444
818
357
255
902
153
960
221
965
7
372
429
618
966
665
887
681
550
569
419
216
586
636
606
348
358
904
980
572
22
659
845
816
720
773
572
892
300
999
205
446
728
726
816
99
337
490
422
837
278
377
762
150
408
128
888
545
244
408
667
68
8
180
453
164
614
983
181
700
690
659
32
273
42
394
159
25
650
556
865
257
984
877
312
103
46
216
950
631
584
806
788
63
358
696
479
989
598
927
562
853
59
435
408
212
869
237
554
118
590
126
537
489
933
151
688
641
383
577
295
62
50
444
886
717
136
655
88
156
315
73
507
560
632
432
238
277
731
680
130
366
386
857
297
468
128
82
690
529
408
968
737
222
630
220
389
278
18
321
443
914
174
876
879
278
369
639
339
542
715
729
589
327
324
448
225
602
785
307
716
576
883
200
879
244
983
895
84
226
947
51
423
36
167
690
954
469
558
838
329
264
48
804
767
280
897
369
240
778
192
757
590
480
348
712
786
900
543
92
121
515
306
35
18
11
930
702
145
332
515
851
44
821
743
915
841
417
890
715
595
457
910
17
917
91
942
343
304
565
640
6
640
760
449
167
847
968
450
723
811
329
989
542
118
519
573
564
470
597
202
848
333
622
261
149
933
310
238
766
387
681
603
731
283
207
7
924
910
710
28
793
598
93
999
517
364
882
538
378
272
911
998
533
441
787
89
836
443
812
855
835
662
251
424
159
534
197
450
605
440
374
7
754
49
398
570
799
930
516
870
913
261
306
764
294
489
478
193
741
123
779
107
422
474
790
44
744
248
935
704
978
398
442
126
541
829
775
212
138
131
834
211
874
657
831
752
512
79
98
582
542
706
395
96
396
893
697
809
993
86
19
808
362
497
841
547
204
816
566
697
341
266
206
717
202
430
244
743
382
567
463
371
465
545
290
338
804
488
745
596
693
602
380
835
501
884
278
357
422
177
343
126
494
824
5
454
136
928
55
811
714
614
820
62
672
769
396
795
762
96
538
544
639
41
812
171
282
766
567
106
666
491
752
493
300
32
555
138
950
421
927
212
766
375
613
164
1
731
306
23
433
940
805
111
85
886
880
285
642
575
264
628
62
934
574
922
853
689
577
481
621
576
201
562
228
691
235
394
491
818
177
393
846
75
429
859
644
183
21
118
257
468
115
557
604
826
843
782
178
339
488
417
394
153
261
318
692
689
443
866
992
323
211
128
412
690
942
647
390
828
31
760
418
270
378
251
824
854
985
662
440
916
87
774
98
576
990
924
426
990
183
658
156
358
296
430
982
839
946
703
930
964
380
557
262
634
452
825
800
280
3
645
580
642
972
934
706
855
547
487
519
984
913
288
355
298
447
718
322
156
760
660
544
550
54
482
308
537
514
280
51
644
246
76
598
611
150
113
504
3
921
14
883
719
527
193
589
418
659
995
157
35
393
210
413
198
371
886
261
660
233
980
767
123
588
920
634
714
119
226
358
12
130
731
16
263
991
144
215
232
164
25
142
561
595
141
291
425
957
965
94
453
980
619
496
733
341
660
671
912
190
605
429
223
731
714
195
770
749
840
146
557
929
711
88
263
824
262
818
618
469
476
85
640
106
606
380
592
930
927
550
66
40
364
978
994
21
961
410
706
434
987
644
381
383
898
194
152
457
41
649
189
334
523
840
300
450
546
961
527
164
409
32
172
652
422
85
47
595
993
672
114
46
13
16
644
847
924
201
397
49
813
212
601
270
392
24
135
531
556
445
773
150
68
937
3
659
312
447
46
854
304
446
59
749
801
307
331
173
698
776
433
331
185
826
869
421
460
293
647
737
596
810
261
891
874
410
845
889
665
784
685
310
722
476
991
719
111
127
710
166
479
53
492
29
867
799
113
405
721
245
423
800
0
862
500
363
821
960
444
661
761
902
942
840
609
757
550
488
529
64
34
360
512
867
647
510
362
618
92
410
725
571
915
388
336
944
227
500
222
716
920
263
199
524
93
855
120
753
455
768
21
629
284
868
126
775
901
190
787
674
899
406
354
126
275
913
246
657
947
475
752
225
799
813
283
405
328
90
562
71
802
192
733
365
585
648
704
144
795
632
570
819
52
781
465
344
521
205
856
752
59
147
849
294
938
607
726
899
868
992
65
156
80
262
714
889
996
208
436
248
340
504
791
563
678
781
446
143
28
819
664
355
120
161
999
369
280
286
781
182
288
784
537
846
431
576
479
325
724
286
896
489
140
484
592
190
824
116
520
669
73
348
630
825
809
59
831
306
669
303
851
447
799
402
254
397
757
288
692
476
582
370
90
819
780
48
911
518
470
821
913
750
219
386
197
694
49
290
606
459
484
692
316
790
676
945
138
799
201
444
826
773
48
970
56
498
402
406
26
524
980
31
842
738
285
233
554
676
969
909
866
49
973
892
553
953
893
83
300
808
321
27
373
118
303
323
457
699
728
813
639
421
118
51
989
877
104
493
836
37
207
476
82
475
419
899
853
501
655
96
886
508
783
779
318
126
306
206
103
823
929
996
257
706
247
531
734
275
352
319
677
667
565
470
728
595
998
242
30
736
389
808
475
555
744
287
432
341
288
707
943
449
376
632
3
808
937
380
524
797
444
121
739
391
620
94
316
371
316
971
879
198
235
734
477
274
619
634
734
863
875
54
244
372
312
221
334
792
176
426
628
971
662
643
266
170
853
230
174
946
312
978
555
96
680
77
226
246
810
162
309
410
510
875
902
630
152
316
511
139
591
142
430
310
360
312
956
574
288
546
555
321
999
584
877
358
840
806
602
987
984
177
67
315
766
916
342
538
356
209
347
143
756
354
85
542
464
641
270
475
361
999
990
759
588
941
923
717
663
458
218
370
75
398
275
305
760
865
894
410
736
490
809
917
827
293
135
64
511
935
472
997
392
877
60
356
684
479
399
427
511
908
582
554
410
110
657
65
259
404
395
650
135
741
516
476
441
118
357
950
518
173
831
616
465
648
785
314
383
768
281
154
268
26
458
49
7
77
428
285
384
158
450
90
214
213
747
705
555
394
606
214
139
202
557
137
609
975
61
839
740
290
562
926
209
842
880
81
358
130
95
885
950
881
223
161
605
504
73
709
93
349
482
28
693
772
283
570
565
899
608
317
347
283
62
683
128
468
200
224
438
60
934
823
72
505
445
437
404
657
194
177
571
935
650
583
410
676
747
714
850
762
649
204
611
466
22
542
985
378
471
672
383
563
785
817
37
597
814
545
241
696
311
181
977
311
580
519
276
144
41
912
113
33
315
64
726
715
42
352
690
953
993
14
128
934
654
16
939
387
12
370
612
126
880
944
636
50
115
604
108
333
482
460
576
139
568
259
380
588
464
245
233
368
623
674
906
310
635
295
399
541
449
245
408
150
465
611
558
521
850
962
354
174
15
996
338
664
382
218
195
175
527
722
927
842
229
657
398
62
492
290
39
972
35
336
697
630
65
85
158
859
733
865
174
423
139
961
40
800
52
646
766
979
494
896
786
562
410
481
948
113
229
126
724
126
437
206
863
560
475
534
928
916
853
875
291
200
787
535
437
842
76
550
390
105
281
197
632
425
146
161
266
463
579
75
125
566
203
116
961
465
557
456
761
915
993
963
748
933
992
217
191
880
204
957
525
264
776
391
39
143
564
358
651
388
375
534
496
784
779
759
547
615
318
624
889
513
384
955
807
130
690
481
214
576
637
271
355
527
491
720
247
290
447
206
899
458
664
17
903
253
749
929
671
320
452
303
823
839
578
610
490
190
335
99
282
810
411
666
377
813
924
692
219
912
752
65
403
371
629
821
483
614
405
673
995
541
770
79
319
37
115
844
894
100
163
735
109
352
480
420
326
634
97
59
808
549
71
6
421
185
818
435
167
862
442
384
286
828
189
817
53
757
656
44
296
915
245
837
696
369
227
563
132
576
141
929
348
883
676
377
413
657
84
22
564
920
218
283
372
46
870
115
955
130
864
80
199
466
275
455
311
520
127
763
764
687
733
723
339
56
1
925
832
645
125
899
504
177
225
934
540
989
84
196
538
1000
5
774
310
364
397
632
468
453
923
867
155
853
297
987
308
11
434
757
445
810
100
50
95
496
432
719
60
416
491
849
599
829
251
958
275
7
989
748
610
198
916
361
549
575
507
934
970
631
587
323
500
683
54
552
515
52
758
724
751
46
373
127
523
474
922
342
807
25
350
512
576
11
28
891
271
770
163
382
920
106
116
299
649
322
3
326
440
618
337
281
626
485
278
424
902
889
985
733
991
315
937
543
41
776
396
938
846
202
774
82
677
411
34
352
72
536
19
844
42
540
732
131
280
234
724
631
203
681
772
948
119
500
171
43
340
538
561
668
814
231
827
428
801
974
485
433
536
971
934
856
718
614
276
602
829
253
321
436
233
612
968
857
742
413
257
861
360
170
608
853
124
269
832
72
209
647
434
929
250
587
10
66
700
660
655
641
283
448
896
159
886
926
338
730
545
809
404
725
574
721
545
119
800
575
970
865
990
114
699
912
824
329
8
453
54
3
245
248
562
894
57
113
829
10
658
561
224
847
737
468
107
409
758
51
638
109
219
14
406
74
818
678
977
446
922
983
221
164
463
612
544
156
22
990
538
943
188
474
595
921
415
623
475
903
492
45
348
44
752
165
963
652
751
915
196
641
115
228
705
827
226
813
223
157
156
497
735
838
251
135
148
600
707
180
181
970
212
663
40
900
62
347
595
736
604
951
143
923
905
796
854
521
172
936
82
794
922
998
516
451
691
23
221
965
625
221
967
328
372
21
94
575
887
683
399
777
261
616
389
716
7
721
979
933
447
251
417
798
636
124
508
148
852
6
399
518
565
333
729
343
825
130
74
709
2
1000
96
670
152
291
631
517
662
790
594
684
663
241
885
322
635
184
636
661
581
302
159
812
383
670
623
461
558
393
687
565
51
649
892
630
761
354
945
431
426
822
408
469
368
882
657
705
725
775
792
823
803
447
78
830
223
230
45
112
980
794
274
610
729
715
921
327
867
498
643
175
739
547
372
461
83
393
345
865
323
808
916
171
540
475
258
846
705
935
543
384
24
997
161
287
39
220
908
536
819
661
189
441
439
194
398
788
732
43
542
507
963
965
804
716
170
635
164
502
116
117
151
320
92
523
244
107
486
137
165
985
302
75
315
800
47
76
435
761
200
133
841
20
673
804
839
655
865
464
440
130
247
947
735
679
956
363
471
386
604
837
560
963
974
260
941
628
665
379
399
331
206
822
195
558
189
632
57
254
928
123
47
531
929
364
502
543
631
35
676
938
328
690
234
638
273
745
109
318
560
438
744
261
156
172
971
488
636
408
419
235
879
46
164
888
882
716
172
3
670
359
529
431
530
374
935
991
541
582
474
487
892
133
969
311
96
262
285
165
769
475
318
427
198
902
955
734
639
316
119
736
792
692
314
37
640
468
57
415
162
63
597
339
170
543
769
732
87
687
694
50
79
693
132
966
569
943
438
298
307
586
96
342
171
343
565
257
807
957
857
211
58
579
710
858
723
31
287
499
10
729
231
767
84
574
621
614
101
683
791
20
34
853
684
563
213
316
136
481
388
381
559
332
113
270
178
946
77
350
814
227
161
768
230
786
900
114
335
21
968
287
324
605
476
953
522
864
577
746
697
275
717
830
138
192
438
584
634
219
639
508
569
577
133
486
452
466
957
958
147
784
200
497
670
430
635
941
614
40
560
692
946
290
472
658
496
673
228
38
553
524
432
71
67
114
351
306
277
803
448
314
498
372
138
450
716
749
151
305
921
551
803
836
430
132
345
232
455
448
798
928
748
737
466
157
862
892
14
117
876
857
899
747
791
273
390
87
921
169
350
548
545
514
514
19
395
505
714
98
89
155
931
507
563
412
517
792
53
967
12
447
343
747
541
864
27
866
569
738
798
93
283
393
953
959
450
525
919
445
533
637
342
918
665
203
569
117
329
156
575
860
779
46
102
787
336
550
206
648
80
373
959
481
604
143
413
27
714
71
250
920
778
375
691
575
598
849
812
241
520
145
891
108
924
252
24
37
696
739
354
441
742
219
66
427
959
513
883
224
597
985
414
722
430
864
337
383
977
743
928
582
742
54
255
862
162
702
347
885
213
751
969
320
8
793
546
523
319
821
397
826
991
581
811
60
301
525
25
109
505
583
677
995
477
299
697
311
608
405
584
955
472
453
395
620
634
865
844
632
737
680
367
837
684
468
284
389
276
584
898
359
410
553
252
61
522
884
525
481
85
366
756
596
720
525
69
12
619
143
621
941
725
778
218
724
829
893
594
598
697
279
456
392
499
276
465
732
909
856
396
197
308
968
184
937
274
140
48
550
733
872
951
96
706
336
254
741
508
914
483
857
341
207
923
723
704
114
145
470
650
754
584
690
994
672
7
878
763
34
675
512
493
92
956
949
550
994
265
260
78
440
889
181
292
710
556
131
262
79
661
22
677
880
567
39
914
443
146
191
19
511
328
819
705
978
532
82
109
594
560
492
226
719
463
240
612
179
207
96
817
369
518
505
410
127
822
802
197
622
130
189
494
144
760
341
77
434
91
297
477
162
393
596
79
568
402
127
465
852
585
587
958
194
40
795
598
228
148
38
859
963
700
370
194
487
150
543
264
418
82
18
812
880
552
79
895
78
643
105
372
857
918
478
120
256
855
803
911
730
830
65
789
244
961
215
445
454
721
246
166
551
770
138
606
713
272
975
168
715
963
368
898
418
693
1
584
72
20
420
180
128
381
414
533
456
215
268
825
305
799
727
540
719
570
962
510
379
591
229
892
140
632
734
428
513
356
84
731
470
801
92
744
535
636
48
20
127
470
795
426
142
731
226
735
54
726
37
220
212
208
871
463
717
936
264
813
371
707
959
155
888
351
32
178
417
908
273
336
556
535
950
322
258
277
193
739
817
48
170
43
259
398
397
552
28
140
445
596
855
438
148
33
364
711
187
20
918
127
53
611
439
627
184
6
271
370
518
78
689
392
983
131
182
569
248
843
974
539
274
572
745
735
417
995
389
767
363
571
768
492
842
134
932
331
965
96
417
672
879
636
551
159
47
993
190
847
943
710
222
986
978
392
718
794
897
264
158
29
514
179
989
5
389
748
584
786
799
601
489
915
454
415
397
446
497
447
342
413
313
485
613
832
939
539
901
84
237
777
862
774
129
710
314
290
87
449
255
77
956
968
984
837
282
675
807
648
599
417
404
244
946
359
56
167
180
300
963
731
429
932
431
931
887
548
128
353
313
745
365
663
103
238
687
894
845
149
533
809
847
993
903
797
177
976
160
600
390
591
466
79
479
30
503
936
100
359
637
919
254
47
734
590
315
231
577
236
957
290
5
284
60
768
331
741
872
288
956
558
814
871
691
651
66
480
686
247
810
805
371
909
794
651
971
261
470
606
742
297
868
734
437
12
388
725
40
280
26
653
494
428
993
868
732
742
711
764
476
577
354
370
942
724
951
790
497
966
663
101
464
276
761
760
794
686
355
134
883
878
460
548
494
880
936
698
87
804
7
13
823
570
542
448
621
173
277
462
494
758
416
885
955
73
457
885
145
361
756
210
306
917
784
877
650
762
192
644
261
829
203
378
362
327
703
737
151
42
321
944
279
263
758
478
684
962
118
257
911
17
164
899
329
79
485
754
206
76
909
734
279
605
276
918
631
375
548
108
634
937
156
586
908
266
967
10
162
435
674
776
389
823
226
94
626
199
65
783
215
579
419
96
759
236
334
829
513
103
544
345
86
358
447
310
578
863
752
244
318
986
598
849
513
609
483
1000
584
304
58
68
662
62
482
968
985
201
436
899
641
53
130
298
504
121
307
918
921
269
368
371
67
614
217
888
215
261
218
308
891
282
338
745
896
547
629
350
405
255
373
895
853
992
97
227
958
785
552
190
800
530
173
82
437
275
94
456
487
459
621
114
16
434
319
373
202
300
125
526
869
316
692
167
289
420
259
908
185
741
582
793
817
542
949
66
2
346
859
303
685
979
981
711
408
965
103
165
49
325
622
290
674
959
292
642
637
657
857
113
142
648
663
700
423
685
496
984
939
479
867
531
188
322
980
289
678
643
883
185
851
64
712
670
390
438
378
558
129
134
719
449
683
542
546
263
842
989
835
907
255
436
935
296
14
771
152
310
922
372
75
974
17
51
690
652
334
70
8
341
168
450
495
184
47
720
389
665
757
175
788
710
562
257
34
132
678
897
470
628
946
77
192
124
461
868
587
573
60
824
303
521
458
796
299
399
784
826
607
108
415
662
112
315
928
888
780
862
611
410
280
766
678
469
387
221
709
237
260
259
138
538
641
549
443
995
419
55
754
722
547
987
396
578
586
461
240
490
625
87
78
685
621
589
353
813
899
560
649
894
933
678
310
797
860
836
933
596
366
770
610
107
931
296
826
170
490
819
936
643
963
867
203
961
880
906
169
617
457
617
382
640
33
528
154
18
80
56
954
849
682
583
958
365
457
939
684
420
831
669
458
184
637
221
751
902
533
405
516
136
292
508
317
465
590
391
461
396
795
748
254
531
18
93
38
865
715
954
838
263
526
826
545
235
636
95
454
568
108
44
708
63
624
460
263
232
838
19
834
802
582
199
365
473
434
147
90
264
11
694
276
835
838
76
219
701
774
698
112
3
325
642
135
746
802
39
623
240
890
848
995
520
743
894
305
87
331
676
195
503
267
29
549
706
739
602
827
544
204
237
647
113
221
58
425
933
296
985
49
631
649
22
723
431
127
812
191
797
407
197
120
335
412
56
477
690
114
214
662
668
121
656
189
97
855
123
200
442
663
653
770
51
116
481
522
637
835
450
327
399
456
403
327
670
579
42
245
779
54
950
766
479
291
530
130
422
264
525
577
325
599
194
748
766
60
284
795
412
872
254
525
60
637
839
551
546
901
839
240
750
118
536
135
994
846
959
206
412
648
539
602
538
452
833
307
481
345
825
338
654
448
709
455
462
266
855
660
772
423
516
149
534
652
140
498
513
672
443
729
425
603
560
360
158
843
61
396
787
420
734
353
184
5
523
752
564
83
368
295
917
627
446
307
889
963
397
46
484
491
471
440
243
511
113
673
57
407
837
938
743
154
378
885
878
476
827
364
549
783
760
629
575
898
681
956
3
849
682
991
284
606
16
70
749
280
896
615
593
650
465
783
755
374
980
352
930
828
464
932
510
641
385
347
571
464
878
905
218
141
144
108
450
339
475
961
790
661
996
208
986
873
615
226
533
746
573
912
336
612
941
784
871
280
40
394
571
934
822
454
738
840
962
858
113
202
838
681
873
445
644
85
208
64
686
448
603
145
503
644
794
353
290
768
802
364
128
627
284
338
658
892
624
72
732
995
997
200
522
405
59
978
15
414
858
860
13
390
616
588
250
678
469
818
986
991
371
844
611
817
469
995
6
902
966
534
391
672
102
593
326
970
915
307
511
630
174
269
834
748
866
844
402
206
538
221
177
758
72
407
142
18
134
639
439
612
317
770
190
600
132
467
964
387
696
905
853
591
0
959
853
419
478
190
76
54
377
134
28
496
856
152
582
308
502
271
898
204
393
960
302
272
12
444
662
76
634
855
80
0
37
296
513
312
691
852
367
736
715
302
583
967
245
817
758
267
183
456
774
522
115
259
772
227
776
502
686
84
607
722
314
567
336
866
813
856
77
925
267
865
744
463
504
151
591
613
349
364
443
646
366
854
830
625
494
679
765
600
478
693
310
489
112
123
612
116
29
48
296
838
959
7
824
987
238
272
384
434
675
234
756
580
117
529
644
819
617
771
856
786
795
683
785
339
350
470
882
713
250
997
827
945
771
491
437
955
44
209
941
560
235
285
607
57
599
927
859
265
919
42
128
174
967
321
113
934
439
461
880
335
851
623
256
948
551
20
611
47
291
854
142
339
251
592
311
667
493
178
282
59
853
287
668
213
322
771
837
506
580
154
963
285
346
258
333
893
750
605
968
209
20
352
494
215
526
129
137
215
89
349
217
480
987
108
911
290
212
955
957
167
801
644
133
490
379
678
256
276
336
821
745
827
608
255
875
254
714
288
225
468
377
339
530
13
703
391
730
980
522
850
546
974
713
693
130
384
873
445
91
545
438
169
802
206
741
178
588
814
528
788
515
581
231
676
776
358
443
113
161
387
696
548
821
376
685
378
84
401
943
977
855
860
840
666
955
383
765
982
705
107
600
569
496
734
19
800
148
824
99
630
851
815
579
385
170
697
745
333
500
600
456
811
300
623
276
431
655
91
350
298
589
886
389
751
475
695
423
873
439
280
313
0
429
112
74
867
858
649
623
40
542
834
22
591
609
18
197
760
93
921
383
959
929
538
206
176
225
427
687
180
361
956
790
353
752
952
32
483
415
654
752
656
309
678
658
63
968
129
6
841
426
402
348
345
130
806
809
193
456
651
199
343
664
538
883
147
190
987
805
794
712
702
705
152
200
808
331
911
651
555
388
375
692
538
736
93
927
469
689
113
475
45
166
603
852
150
40
455
617
666
215
273
676
770
877
596
599
139
729
657
402
698
367
777
248
934
868
344
889
142
877
956
408
632
53
556
593
923
359
407
848
678
737
555
956
104
520
0
219
171
764
953
425
238
123
559
872
157
743
935
830
908
565
445
432
965
922
129
572
416
164
536
474
317
289
540
429
76
385
477
804
276
362
636
948
609
69
981
725
477
453
938
708
213
246
276
611
473
152
511
947
600
561
458
775
20
928
739
159
201
198
805
234
990
671
632
291
971
14
718
923
957
879
597
861
409
296
630
207
515
857
976
614
888
169
964
519
118
321
21
924
37
602
79
487
68
579
437
841
816
931
897
608
609
872
420
803
427
115
793
330
403
90
605
450
563
942
587
625
451
843
541
547
861
152
795
494
763
96
887
852
812
372
775
183
122
302
823
577
29
890
54
142
655
196
612
113
162
318
699
77
185
512
344
999
588
798
522
187
307
133
301
241
355
381
474
942
361
268
453
252
423
127
403
649
149
705
680
36
340
197
521
877
428
108
543
365
260
855
623
23
604
737
423
135
35
294
677
290
872
216
691
980
115
300
585
458
970
970
919
15
438
245
948
696
627
44
438
901
732
601
490
319
513
258
905
963
751
510
254
359
615
166
272
644
813
429
992
660
318
510
235
963
968
132
599
443
369
262
545
983
117
836
237
527
561
234
721
628
481
350
508
945
804
337
964
196
31
274
906
983
340
903
325
395
608
135
411
158
808
566
395
426
240
52
524
246
723
684
874
870
602
669
17
690
19
52
450
228
583
849
86
805
365
260
477
758
742
942
314
126
324
542
280
990
976
504
572
472
93
776
922
569
675
247
861
943
269
679
351
169
754
285
320
73
27
230
569
577
768
950
505
242
343
751
463
876
119
165
881
40
145
306
557
68
125
709
332
555
409
668
561
486
578
333
912
221
4
499
956
430
192
869
796
12
758
923
765
419
898
680
431
378
231
125
28
561
838
857
680
843
994
947
643
991
921
239
440
396
437
238
974
681
150
735
636
938
378
368
866
270
8
878
871
121
373
942
705
364
668
682
815
285
177
433
761
345
6
197
297
969
826
760
54
306
789
899
551
836
140
128
150
711
688
370
714
5
518
225
493
274
102
716
989
801
126
960
546
209
790
942
391
303
922
771
632
377
860
182
595
413
531
565
38
875
407
230
556
651
378
524
280
112
857
800
380
331
92
755
42
528
766
465
145
345
762
280
515
689
918
492
575
22
957
884
423
686
257
283
230
21
22
855
989
476
418
106
413
408
195
692
661
122
945
575
216
720
582
369
264
549
886
458
635
853
21
357
82
285
494
911
96
723
912
43
461
21
870
533
653
397
982
88
640
16
660
417
543
581
587
636
685
475
473
617
99
67
141
686
373
37
557
298
66
229
328
13
205
966
373
614
799
710
86
916
925
45
860
306
376
757
158
515
554
47
742
760
874
101
598
961
471
77
157
91
74
355
88
872
557
6
810
459
520
253
305
609
631
571
963
785
863
787
391
245
917
351
469
173
599
240
987
135
260
181
98
172
128
682
439
194
190
610
664
265
199
303
94
334
395
533
537
924
198
289
780
928
673
120
390
591
84
827
880
747
683
701
663
482
524
428
234
572
562
107
677
681
311
846
983
810
666
216
400
26
357
340
900
155
681
769
829
465
566
350
754
261
58
727
335
826
231
747
298
786
909
28
774
452
566
706
515
130
223
348
870
138
977
264
653
755
459
662
683
969
346
949
211
477
396
608
307
791
693
209
913
676
222
678
858
863
495
728
316
23
259
931
668
462
814
340
352
711
28
315
245
856
845
308
51
429
744
704
102
154
42
122
84
899
470
28
219
837
276
409
996
851
311
53
437
674
322
128
259
551
177
796
726
505
401
333
843
966
222
209
874
622
848
519
293
928
291
314
914
175
273
123
20
250
54
543
198
421
375
527
343
892
608
142
742
818
271
935
579
283
228
538
461
142
257
459
594
797
19
923
142
543
820
618
630
930
259
914
174
886
742
823
624
413
121
707
94
277
608
115
637
751
479
941
117
383
503
369
388
713
516
267
728
137
711
54
291
292
973
350
288
923
787
742
652
575
542
874
948
386
204
20
691
73
352
651
718
955
370
13
885
721
824
125
982
463
140
219
188
322
876
459
318
7
338
953
391
747
875
794
163
463
130
32
233
161
25
483
539
621
839
792
520
14
704
472
761
520
287
796
690
648
839
774
114
864
701
421
60
802
646
151
642
717
630
469
782
307
787
144
318
745
174
124
4
570
727
532
617
662
605
20
599
284
424
906
562
884
830
517
91
52
558
402
87
984
535
898
597
716
766
954
800
477
404
248
206
937
833
59
818
183
574
255
671
973
826
31
530
513
353
250
761
938
358
398
252
706
977
194
173
590
66
40
230
782
611
81
188
855
854
420
117
711
720
604
21
727
545
526
944
617
486
122
471
547
582
511
1000
411
361
327
191
444
590
304
433
836
410
523
206
909
477
332
840
151
988
358
347
94
999
41
970
12
485
58
340
484
332
99
0
464
591
786
666
438
985
441
64
179
337
776
669
478
290
983
39
831
553
511
179
22
14
123
988
520
793
866
904
116
739
335
931
566
273
640
380
619
768
422
597
69
393
725
935
847
170
291
250
104
333
193
954
275
347
772
967
334
44
515
365
326
121
561
764
906
271
451
119
92
742
896
515
969
216
398
241
156
767
815
333
541
896
428
190
131
292
63
51
487
317
34
186
533
210
6
544
928
8
947
770
198
793
250
291
157
478
29
387
106
499
917
835
24
2
792
902
982
959
970
574
577
551
234
99
714
437
999
894
260
563
570
756
46
211
633
796
990
717
567
628
936
42
523
960
203
733
564
825
322
372
868
370
548
995
658
487
678
446
155
110
596
373
574
888
201
611
120
550
872
719
393
892
284
479
491
962
851
958
340
778
691
171
995
738
437
710
669
186
806
155
257
436
717
312
459
800
10
559
813
939
143
566
839
251
468
302
323
741
673
216
658
262
471
65
532
259
79
407
112
455
425
934
217
991
726
626
20
695
322
784
141
728
372
315
479
187
987
153
55
379
404
186
626
660
450
838
740
878
455
940
761
33
248
650
540
164
242
494
697
569
325
622
132
569
78
148
619
405
912
992
617
0
854
11
293
92
394
33
353
565
383
260
285
61
73
940
322
975
552
133
63
848
310
244
77
209
832
931
713
562
887
445
726
556
430
82
740
702
560
372
17
218
170
884
931
734
623
911
403
503
898
282
673
17
806
682
407
156
288
554
420
481
945
904
891
287
909
568
343
66
752
394
972
14
388
519
796
726
61
409
55
305
601
881
417
376
163
217
722
679
673
132
794
306
298
451
369
138
856
619
491
304
706
764
693
972
85
712
112
715
758
753
967
780
980
633
705
719
446
878
363
673
466
199
796
71
421
191
651
314
32
718
975
706
599
843
23
917
27
601
486
448
881
366
468
179
922
193
884
455
793
80
629
621
7
452
684
963
42
27
494
989
915
561
490
630
231
199
305
125
308
394
175
523
577
314
274
378
212
369
479
955
883
477
924
5
195
221
881
709
211
398
451
697
867
280
963
393
95
406
838
470
182
812
316
592
566
161
160
286
720
689
534
65
778
696
443
739
348
4
393
439
804
308
380
452
471
553
635
592
460
762
402
348
71
89
804
279
91
144
16
704
555
108
579
825
742
241
592
467
71
468
468
639
732
901
591
648
706
851
600
403
39
316
374
498
846
935
316
323
150
104
956
694
439
747
19
290
448
578
568
545
740
386
185
150
678
607
507
837
476
619
833
558
146
549
477
539
396
402
373
39
800
628
888
778
850
933
320
262
277
297
884
417
409
738
94
25
250
167
308
855
686
28
258
202
560
599
415
800
672
22
956
996
683
215
994
865
532
43
6
191
873
352
510
400
841
298
488
863
912
936
667
435
49
414
892
816
77
940
60
976
725
754
687
663
0
858
437
534
669
729
368
521
817
135
22
247
719
460
582
164
406
449
934
945
288
18
870
403
84
182
992
574
351
250
1
663
401
407
804
618
942
656
800
482
610
333
138
774
802
642
606
631
9
201
155
135
300
653
496
57
742
791
525
223
923
405
218
588
672
569
950
150
693
94
946
200
502
948
836
597
370
529
963
517
279
351
258
4
304
278
547
320
899
772
662
745
65
901
700
864
951
781
845
407
103
202
928
950
786
78
243
272
67
768
115
848
345
194
759
115
334
739
580
200
669
49
700
658
205
863
812
294
368
252
492
843
402
859
774
194
558
254
628
995
398
992
890
653
777
82
142
47
526
531
43
534
191
331
225
901
218
750
399
761
497
160
71
36
754
914
4
39
486
980
521
147
263
842
455
757
790
660
364
646
871
4
978
273
900
487
357
198
452
242
801
568
213
731
302
172
597
160
297
37
464
220
120
559
862
476
438
55
557
614
847
417
382
693
956
678
695
127
607
762
578
635
341
598
249
728
130
795
264
973
827
868
826
173
187
880
623
557
455
72
230
859
378
597
195
282
704
633
833
60
103
589
189
871
990
976
942
918
183
885
867
251
786
478
756
868
745
841
584
4
736
443
268
511
775
681
84
716
948
843
287
208
783
340
128
573
263
430
714
198
490
248
233
887
972
610
992
466
644
398
535
404
881
214
298
942
586
583
802
624
848
864
409
834
221
102
248
22
692
874
663
135
508
331
817
535
938
507
972
2
199
684
161
976
797
667
998
288
550
45
232
475
343
897
42
784
648
88
719
354
681
380
548
670
81
103
129
133
166
413
555
696
534
133
361
881
296
213
588
701
278
775
996
423
883
63
94
936
52
61
589
243
75
767
932
301
737
903
518
569
715
399
515
0
899
111
535
347
60
264
677
931
895
425
929
288
210
628
653
814
16
480
716
494
53
708
136
380
452
79
405
157
956
997
146
839
16
582
259
462
23
260
303
529
533
479
60
878
581
233
428
70
679
670
179
211
704
329
696
873
898
955
919
9
159
72
793
480
721
0
775
418
302
149
477
787
123
768
718
26
361
942
530
498
940
380
818
671
84
978
690
636
300
629
436
308
661
55
335
555
744
285
622
44
675
104
953
214
897
379
55
431
130
629
13
562
404
346
761
82
673
642
141
434
639
502
567
126
310
556
186
278
571
628
263
444
707
171
669
533
776
40
726
974
744
828
258
85
329
272
486
721
171
409
968
70
803
760
955
414
167
240
223
370
307
587
665
149
373
766
49
542
124
195
693
504
115
357
977
96
113
712
900
999
387
464
955
835
91
308
243
992
205
646
2
209
622
124
724
480
678
251
612
415
146
190
96
24
184
234
893
264
116
829
50
413
655
578
958
624
151
266
573
274
80
390
992
697
864
689
114
280
251
399
764
764
945
561
151
367
397
936
331
907
507
781
693
476
946
558
228
475
246
237
991
191
866
519
20
661
659
562
956
675
871
421
101
934
726
174
449
732
881
852
962
61
193
810
931
634
815
845
934
258
615
393
910
18
756
409
971
77
201
308
101
933
523
172
426
617
599
702
943
687
875
402
672
347
545
912
55
509
60
944
686
742
571
910
911
201
473
380
808
610
297
409
708
417
26
585
580
166
241
739
659
791
698
186
224
345
746
64
985
246
877
237
956
901
586
736
626
545
728
791
583
226
293
296
329
61
529
76
995
4
737
1000
708
808
210
7
928
939
402
167
544
564
479
554
772
879
12
731
23
615
745
350
126
132
541
400
293
760
123
109
730
488
515
734
812
411
973
798
0
367
675
795
746
340
533
628
334
934
345
504
262
499
880
515
834
487
718
751
477
255
673
91
987
493
742
922
189
472
820
777
878
578
524
333
875
150
617
681
639
393
867
386
602
800
285
798
76
656
906
245
225
365
794
590
301
814
784
496
450
915
328
735
940
875
67
89
379
644
928
933
972
173
317
577
461
291
333
138
731
110
534
813
585
373
161
175
494
7
2
881
47
775
474
436
946
338
136
322
180
35
492
355
330
653
535
950
895
856
340
981
452
221
261
972
3
553
205
663
718
310
304
200
129
56
166
214
535
838
7
830
356
55
948
669
354
242
895
307
852
518
622
721
63
180
777
332
909
142
780
26
993
616
473
747
936
450
502
399
741
887
891
625
106
1
187
339
189
103
301
714
763
209
401
21
524
532
494
619
401
931
272
753
54
82
889
977
950
77
328
485
934
590
502
921
115
980
313
718
243
939
957
833
751
364
490
605
145
944
942
429
48
982
550
178
991
640
844
293
932
914
154
831
513
454
598
327
133
346
657
64
1
787
54
385
512
531
570
1
943
324
440
616
752
584
47
27
444
912
478
31
818
239
94
255
986
330
415
686
197
51
137
659
283
540
800
760
438
777
860
770
359
542
80
422
550
255
531
790
501
685
750
779
991
664
771
764
836
939
427
714
330
387
615
863
152
485
659
868
799
211
330
38
44
492
474
54
69
853
989
471
547
123
959
886
448
121
850
124
198
550
421
935
360
433
345
428
459
413
137
827
59
710
201
633
193
526
248
439
710
697
381
193
90
794
926
940
298
542
195
1
958
869
573
918
344
649
191
852
556
163
204
482
641
221
729
631
503
17
442
904
495
260
583
373
209
47
642
45
317
336
126
508
59
279
262
660
703
561
949
518
243
810
331
395
28
795
672
17
622
842
286
845
946
438
256
308
811
812
274
598
510
226
47
609
794
558
933
22
623
254
349
742
717
73
874
808
587
763
114
316
335
32
464
17
644
857
448
781
873
278
395
734
23
25
851
246
853
303
954
515
275
876
903
959
102
112
164
657
499
636
689
860
659
597
343
401
270
36
980
933
400
977
357
189
100
601
695
670
550
175
74
223
503
816
808
116
724
429
70
715
218
110
413
833
2
643
76
756
991
575
689
167
498
982
937
158
835
224
761
307
793
712
55
407
824
810
808
960
256
966
923
643
172
445
898
930
822
359
845
726
623
32
498
950
297
958
888
745
560
814
649
546
185
307
287
435
960
777
534
767
758
39
812
797
834
166
879
22
617
269
636
233
944
617
663
669
693
428
869
296
457
587
726
955
307
205
87
835
826
774
782
887
642
999
450
665
452
519
446
830
451
894
541
286
13
712
321
322
946
9
505
386
88
299
313
429
265
74
752
150
700
901
499
265
434
818
501
917
196
17
132
214
791
25
126
260
322
83
530
415
134
4
253
71
459
579
834
890
264
25
147
709
244
258
647
264
228
374
936
435
852
175
125
291
921
177
518
558
846
765
382
24
6
168
830
78
993
743
787
816
319
196
819
918
316
178
464
23
308
171
79
23
372
362
877
902
175
753
962
976
16
255
23
927
475
25
420
885
855
976
273
243
640
45
547
552
688
576
563
336
131
487
728
651
21
814
797
962
302
37
603
252
97
677
896
555
436
63
519
308
585
635
26
397
848
896
724
847
176
896
15
95
512
431
865
63
642
777
922
157
192
789
154
495
328
941
684
177
699
990
784
632
40
113
114
331
839
901
617
625
371
826
776
430
526
540
347
320
628
445
717
112
899
415
103
469
140
264
646
893
512
809
442
190
278
806
190
873
975
992
450
695
728
399
0
373
899
255
698
436
34
861
919
672
283
266
44
68
844
427
840
961
64
392
925
322
212
381
242
380
623
32
759
398
529
101
468
308
171
911
134
369
272
190
702
970
603
27
148
234
572
81
38
197
324
596
652
260
423
494
794
597
783
234
332
99
173
635
202
529
354
132
267
927
459
607
896
346
804
467
527
188
205
339
467
370
28
228
519
547
193
520
317
945
202
591
372
754
834
110
932
643
538
602
188
144
415
139
496
155
27
807
896
516
466
354
634
703
91
32
119
406
433
889
414
309
471
507
832
589
859
710
233
493
82
568
352
591
841
51
141
795
445
593
294
233
287
484
826
612
106
125
728
701
791
653
116
317
850
756
185
641
61
84
617
973
969
378
978
445
672
995
858
755
346
756
974
289
629
917
663
479
726
235
676
383
495
586
758
391
14
42
488
489
446
653
123
557
685
25
615
879
921
635
719
944
742
328
414
282
270
350
211
405
304
767
400
648
907
512
438
326
929
630
884
798
5
618
219
835
146
239
417
861
554
718
818
842
689
189
729
234
659
66
990
484
231
47
767
628
598
496
637
542
930
292
33
262
800
828
557
991
398
580
473
634
287
324
449
57
165
932
78
830
611
75
859
980
263
937
517
148
862
326
898
466
752
79
350
497
887
405
335
368
184
294
248
512
479
849
3
534
942
261
550
86
618
293
268
454
650
899
715
90
301
97
601
428
907
795
378
871
864
523
591
11
827
324
38
701
975
867
724
318
718
864
831
383
287
639
644
226
352
489
639
272
949
250
689
426
321
105
191
708
222
112
714
781
158
39
786
950
370
283
516
144
69
709
761
411
231
584
233
791
739
655
404
120
954
903
403
27
552
859
286
699
829
34
498
191
222
316
991
394
722
243
763
87
929
534
805
810
459
4
605
744
733
554
656
858
479
328
610
826
80
270
127
953
989
495
557
335
180
752
412
139
45
692
176
559
668
309
453
476
595
892
700
118
131
160
38
245
241
171
396
245
656
736
812
553
389
850
446
542
43
534
327
899
209
364
676
136
79
84
806
842
696
587
878
678
891
105
205
548
617
607
753
147
271
647
657
225
489
377
325
583
824
864
525
681
966
372
183
948
460
435
170
518
307
876
529
39
553
354
485
446
678
982
681
951
559
815
164
502
508
255
881
490
798
516
117
713
117
546
659
701
688
861
622
641
820
98
984
154
295
927
111
601
257
634
735
749
879
329
922
726
618
190
694
31
500
213
939
20
603
86
967
441
545
515
258
934
278
325
307
892
856
59
370
167
517
19
46
630
367
627
138
468
973
540
589
401
752
667
644
660
382
568
908
149
119
133
657
108
669
534
934
624
21
559
526
512
961
527
612
395
986
174
501
530
164
445
47
104
823
561
253
100
835
355
529
563
153
164
254
458
79
136
835
462
268
162
573
332
870
990
500
337
118
34
775
936
331
605
371
751
618
78
797
79
973
538
498
605
886
777
827
697
702
931
508
683
998
783
413
343
145
497
872
43
510
790
580
903
519
737
885
848
307
828
840
242
606
155
581
536
106
831
312
309
983
57
559
264
943
706
124
956
967
586
284
53
275
752
301
130
155
798
372
790
631
813
793
711
165
183
471
808
189
263
323
328
900
774
280
561
190
753
833
373
821
516
148
855
309
533
509
805
899
228
805
584
287
504
498
878
175
350
407
797
264
858
752
527
799
527
583
101
41
446
106
349
963
386
500
380
409
718
944
279
114
543
69
249
91
35
457
259
556
730
12
306
565
712
813
767
817
174
295
220
606
447
834
750
479
296
610
758
107
803
25
313
828
139
732
214
20
436
482
62
427
166
581
582
945
118
493
658
865
879
126
916
233
925
526
549
853
863
364
444
926
707
619
512
531
215
599
552
62
303
950
658
7
926
712
237
70
931
913
808
768
890
752
462
890
521
729
366
116
517
445
565
128
638
709
203
31
893
132
142
912
863
602
244
659
299
369
961
340
276
423
295
814
177
110
42
788
2
790
74
871
320
960
283
285
643
123
446
112
37
352
470
354
458
97
290
268
829
107
483
690
46
184
19
711
195
944
586
805
734
54
208
708
352
250
7
424
707
686
845
705
778
429
429
52
752
90
51
792
990
939
51
69
598
762
341
146
967
340
554
687
7
80
275
81
439
545
154
938
566
895
63
111
654
658
381
358
506
321
525
246
48
402
475
757
550
358
977
513
998
870
355
951
495
594
782
824
991
469
0
535
717
43
5
73
703
74
425
834
90
784
253
118
487
464
773
892
780
836
508
319
251
640
208
247
357
256
229
769
603
887
733
506
709
765
32
904
560
123
664
680
536
557
258
523
427
601
243
550
791
356
589
749
633
945
68
350
157
267
952
823
815
342
409
778
600
631
324
262
977
222
421
22
448
974
65
673
366
270
436
658
186
183
360
332
239
795
713
228
959
94
913
282
625
577
701
902
309
757
97
154
341
417
191
415
596
218
541
66
685
716
477
282
820
325
774
487
527
469
910
386
448
189
10
601
691
138
17
732
88
847
381
585
938
577
401
853
766
946
387
688
332
743
545
877
291
529
271
404
916
912
737
715
324
838
901
358
302
555
383
38
920
667
680
296
113
846
825
911
656
742
815
816
815
860
221
156
407
352
780
836
323
956
206
553
575
952
815
79
716
788
313
779
700
911
631
519
147
470
506
593
277
275
935
859
127
84
670
948
770
547
403
364
270
996
15
619
921
185
333
898
171
5
925
711
627
525
534
255
187
377
946
879
665
998
9
709
984
257
699
17
307
901
789
702
942
181
303
901
631
451
302
434
6
566
423
350
270
400
936
101
60
45
400
825
408
597
150
509
221
268
659
445
698
107
87
498
271
718
554
103
349
185
343
815
730
51
419
988
442
98
492
511
630
887
32
50
388
371
955
384
86
709
680
25
639
183
315
540
93
119
46
750
330
566
960
147
317
406
731
66
589
466
274
367
319
250
910
744
287
752
623
250
217
239
917
334
603
772
973
590
316
988
536
988
698
860
321
413
291
743
952
102
667
47
630
230
536
55
559
704
82
510
635
604
872
357
105
298
245
314
984
23
9
910
141
614
121
539
458
247
974
96
291
431
714
355
506
704
833
949
696
993
970
935
577
680
97
415
577
369
128
30
902
386
159
414
284
952
764
128
900
318
55
436
802
550
129
501
719
671
15
985
830
927
618
26
554
282
781
61
39
814
408
356
193
734
432
407
769
881
629
789
851
923
904
28
933
111
193
519
419
901
199
889
182
384
740
773
607
595
616
102
492
127
861
956
293
143
472
290
133
802
514
568
271
670
653
388
801
851
190
475
469
153
229
221
454
105
196
386
871
631
32
941
477
781
449
724
110
503
563
665
502
256
842
973
457
12
323
133
157
406
214
404
634
284
130
976
89
672
11
573
900
100
37
958
574
417
235
479
721
533
910
450
796
907
592
256
909
97
331
771
164
459
31
570
758
685
899
86
853
402
693
362
810
234
707
740
659
421
689
812
298
37
275
65
594
708
661
595
654
902
862
480
904
374
915
657
136
339
148
348
110
233
245
738
694
225
176
702
19
150
208
882
76
36
605
624
189
224
289
876
487
336
121
954
97
659
770
867
567
199
902
811
923
444
432
38
203
693
184
889
760
156
295
673
611
165
419
538
94
377
358
690
445
73
312
682
385
450
581
512
118
872
623
975
438
748
974
472
790
921
536
124
701
248
259
397
697
906
549
309
829
483
665
435
0
408
908
545
891
25
413
859
18
940
855
975
33
684
214
880
298
376
61
967
839
305
888
483
670
567
962
830
436
260
907
590
831
328
46
24
697
595
164
54
890
47
934
659
222
938
578
924
356
700
956
697
76
417
407
582
68
136
478
919
396
532
811
893
651
647
118
875
888
337
570
256
664
567
480
618
765
21
249
684
565
249
672
834
378
988
235
634
121
882
86
161
701
776
84
28
468
472
766
81
61
706
466
824
196
644
261
177
510
331
187
652
540
992
636
237
110
163
606
331
182
742
836
275
890
696
365
273
842
613
900
380
625
995
454
654
594
454
124
279
975
376
625
684
631
97
492
545
830
384
681
58
142
932
473
655
559
279
414
265
36
93
497
272
207
645
650
158
835
866
757
631
622
704
775
450
745
946
141
134
748
652
15
716
294
745
571
187
203
41
711
478
833
231
497
957
859
753
726
150
624
770
769
931
911
190
541
145
52
516
663
900
596
75
399
903
26
996
310
927
44
38
217
8
380
103
851
799
389
856
177
745
315
854
170
184
139
805
367
911
115
793
268
825
171
708
363
423
781
35
509
279
752
310
375
401
213
347
746
684
288
544
485
727
220
414
24
819
663
890
411
554
239
535
410
13
207
863
34
605
249
223
784
734
434
431
705
946
974
103
64
122
542
642
516
47
460
258
825
135
202
216
982
767
151
988
118
675
634
735
794
715
493
134
91
790
166
506
987
688
243
730
328
808
784
730
672
90
278
265
522
466
477
782
175
189
199
95
172
258
602
985
21
723
641
463
276
547
519
602
773
43
631
163
716
771
486
936
776
942
535
560
378
609
800
124
377
809
306
472
612
341
242
63
856
439
58
314
806
726
520
469
622
666
927
212
24
895
885
617
532
16
967
808
523
52
541
758
6
850
622
212
633
364
881
346
961
446
226
165
735
576
836
695
896
299
949
489
113
827
457
924
979
709
951
772
740
523
399
941
605
247
622
237
162
798
476
571
557
614
557
765
208
345
517
391
162
622
607
420
627
979
254
805
98
437
954
431
866
750
325
405
34
918
323
160
36
52
179
122
772
813
336
92
901
912
303
265
378
453
213
585
960
820
446
699
805
385
206
604
448
577
452
964
3
587
174
665
103
13
663
39
991
88
747
825
163
804
32
211
82
224
767
821
363
526
794
509
20
342
537
849
866
21
677
764
984
687
725
266
646
8
388
256
725
284
641
987
509
647
745
895
679
901
985
284
771
172
403
346
64
669
275
561
21
120
150
392
300
300
801
450
551
661
259
674
277
324
56
366
329
303
773
302
842
135
193
902
698
464
999
243
483
663
499
998
459
365
145
545
992
195
383
253
85
549
940
213
528
858
513
287
918
265
48
197
548
694
24
588
577
676
158
797
522
505
777
196
92
63
963
831
51
464
705
749
399
641
478
930
541
295
915
276
938
502
964
964
711
661
128
747
971
215
991
62
457
132
128
785
304
662
141
12
989
493
977
647
823
808
805
96
848
853
132
599
124
92
192
295
435
762
102
176
254
671
147
770
817
119
782
689
376
951
736
919
104
307
339
923
854
84
855
95
251
977
946
227
566
266
369
560
203
24
841
622
439
960
59
515
43
701
969
540
455
123
232
433
465
945
303
919
728
332
210
804
874
433
27
19
788
636
254
311
940
814
119
27
889
137
108
71
977
632
431
978
861
740
736
63
225
4
904
332
903
120
385
66
58
88
898
624
694
140
755
291
742
984
734
184
54
252
317
429
59
322
782
76
805
233
152
571
163
510
679
36
517
905
260
609
849
78
432
641
972
318
693
883
277
391
859
385
505
93
582
183
184
181
494
508
820
622
762
478
944
788
959
108
452
291
501
74
13
47
220
922
115
540
905
17
311
373
937
359
163
169
503
961
255
715
553
968
164
779
340
823
258
642
885
558
138
5
834
939
13
752
905
424
583
911
732
893
739
384
73
608
453
372
75
783
188
19
159
940
576
614
857
844
27
126
531
101
31
143
496
974
36
930
729
263
135
168
720
932
121
616
340
298
38
491
73
583
680
228
267
501
312
94
629
240
157
37
220
851
529
649
498
361
425
86
509
792
110
640
844
798
209
699
940
594
787
867
730
14
467
234
379
553
918
831
541
168
175
248
890
543
523
97
319
668
71
899
276
944
533
988
126
16
577
415
530
302
907
456
795
882
213
601
907
781
666
687
577
857
517
233
428
562
367
972
703
329
965
149
233
318
711
807
167
715
754
237
89
993
303
138
783
431
106
483
202
756
857
179
303
501
419
452
236
213
434
445
782
190
559
983
286
196
67
715
137
554
833
869
453
954
24
333
195
825
122
933
663
172
992
853
171
95
133
993
53
944
81
597
269
464
653
251
939
465
955
664
865
202
900
191
715
929
688
923
683
789
83
940
825
594
522
349
945
893
958
70
1000
765
282
22
541
853
159
587
746
835
288
706
738
933
883
386
380
624
329
152
327
208
604
15
690
926
36
512
734
891
322
235
204
145
904
133
501
915
206
818
936
885
174
273
137
354
55
527
129
759
214
315
313
926
901
733
451
514
980
710
581
684
305
675
267
939
744
32
251
828
522
88
605
873
31
745
424
170
474
181
88
482
201
36
620
712
656
66
937
566
674
534
81
337
823
155
638
625
630
932
97
746
63
409
955
430
629
817
965
442
835
125
827
926
266
933
314
497
505
171
727
373
235
308
884
495
848
740
318
510
30
376
114
790
457
565
195
480
966
418
787
418
149
400
50
584
875
741
969
237
628
303
369
618
948
947
485
142
175
212
932
816
306
312
181
174
197
130
235
5
722
562
143
657
929
726
474
839
770
238
225
408
379
589
403
287
503
65
993
252
351
469
818
434
242
116
122
836
214
191
452
719
438
195
381
591
998
330
597
947
994
936
706
147
852
616
645
617
692
636
221
597
171
228
219
566
376
391
197
483
259
588
644
636
308
703
808
57
792
274
918
210
978
614
655
588
157
306
257
510
266
954
750
820
101
271
456
379
305
142
641
264
583
381
190
589
269
203
90
611
300
792
838
261
423
186
835
572
423
794
497
789
439
654
501
793
798
537
46
364
503
337
561
966
793
141
61
92
911
236
899
384
627
502
500
255
636
361
901
718
842
193
228
52
768
719
910
408
711
730
46
381
188
745
694
459
126
117
937
170
445
964
215
84
290
216
788
32
268
235
402
732
975
947
494
495
371
742
479
834
99
65
421
319
454
806
66
458
326
261
843
225
865
642
546
465
913
19
942
213
913
636
69
674
950
829
678
691
160
644
890
98
780
938
37
126
661
419
356
267
719
980
290
861
270
992
647
607
921
478
193
522
744
960
570
686
926
835
480
961
96
457
962
269
939
954
367
177
43
846
985
949
720
822
117
474
817
149
153
758
886
498
843
3
683
455
528
851
64
744
156
45
363
813
149
692
850
505
33
462
677
657
670
406
622
358
336
655
841
780
178
660
753
669
227
239
858
865
738
134
161
783
497
374
484
190
438
392
718
857
148
867
954
208
234
147
903
295
661
857
214
493
338
326
119
947
959
664
955
455
339
546
483
777
664
406
520
451
469
426
144
159
354
419
223
464
871
209
671
12
351
784
864
390
790
7
432
321
242
423
839
931
675
33
638
376
737
22
103
535
353
448
922
974
932
274
414
940
812
219
307
332
288
139
799
578
668
863
724
530
686
602
489
455
933
243
360
934
360
981
19
299
54
101
276
811
728
164
376
541
255
775
684
409
844
735
449
647
262
261
806
201
702
817
712
509
328
12
503
53
875
13
570
946
506
783
485
66
902
806
99
27
617
121
534
50
666
945
300
138
234
378
387
469
467
490
436
551
922
928
503
153
571
809
969
274
299
266
291
101
503
491
854
582
231
735
951
383
293
152
696
56
45
642
176
768
91
315
146
197
182
768
21
235
252
364
766
597
479
210
477
129
732
851
409
558
766
862
615
442
96
994
327
655
981
138
833
244
967
837
964
112
46
514
178
595
500
292
24
924
961
570
772
328
312
72
82
209
143
507
1
760
682
680
946
728
545
750
749
959
108
4
201
686
844
24
304
190
144
276
498
996
94
110
223
454
407
614
920
630
15
716
278
406
529
290
471
747
391
572
783
941
254
76
141
895
711
806
137
741
504
315
903
972
742
568
979
643
283
380
612
216
739
37
453
186
984
20
459
445
957
103
417
839
445
809
80
928
314
641
379
210
12
896
708
269
810
683
966
981
542
75
913
304
287
53
478
799
754
534
139
435
562
695
879
494
525
787
369
459
805
91
457
793
239
381
757
82
990
909
854
631
52
608
208
906
442
543
996
590
638
22
161
42
348
655
292
159
752
532
628
400
47
197
535
443
526
222
471
699
834
508
820
498
267
363
886
210
560
80
702
404
594
954
76
90
699
503
203
180
181
127
243
487
6
34
654
84
29
19
301
584
178
96
105
327
764
801
590
974
820
518
157
800
435
415
858
520
900
93
263
44
841
482
851
509
909
831
839
329
395
801
207
406
682
834
331
460
282
698
407
248
621
493
476
938
361
394
119
859
158
697
607
490
7
550
966
817
684
469
291
317
822
307
263
923
391
901
684
892
817
14
704
497
218
60
746
150
15
913
24
542
902
396
313
444
972
660
312
241
375
528
391
895
247
800
943
929
434
535
187
646
555
816
397
7
999
357
591
11
494
112
245
249
836
230
244
864
768
988
807
793
519
971
717
178
922
655
607
369
110
689
6
6
258
879
169
535
48
234
369
749
926
587
270
589
263
279
253
132
614
681
501
300
108
40
900
188
635
718
944
996
533
751
820
879
11
80
327
942
810
668
940
458
575
463
425
808
876
718
559
608
861
186
408
136
550
63
178
553
518
693
587
284
976
983
786
145
851
558
100
772
106
647
500
823
509
15
914
21
734
432
937
430
104
450
14
57
173
272
512
400
88
160
912
101
13
797
749
648
860
723
175
710
49
780
711
731
87
586
26
88
76
438
467
437
531
578
921
640
190
387
712
184
640
573
933
331
658
715
402
920
82
218
808
697
215
295
644
745
195
669
932
448
593
482
729
965
588
453
78
298
630
693
975
19
31
537
877
449
907
357
527
989
859
939
342
257
243
80
110
604
396
229
132
810
943
179
444
278
736
261
887
931
430
771
5
24
604
288
971
479
844
708
133
960
680
58
151
763
122
595
241
220
943
643
529
899
625
31
317
251
212
708
377
848
535
692
701
12
981
929
44
29
152
147
986
772
935
375
406
733
365
276
598
110
111
215
971
358
497
401
744
476
931
17
220
742
555
247
685
385
623
530
162
832
352
483
792
763
918
89
496
762
577
432
2
530
373
696
698
596
974
397
789
552
255
629
165
352
650
417
173
841
333
475
1000
681
888
221
726
581
458
651
242
20
600
264
640
310
243
586
179
504
718
529
541
521
860
983
186
919
109
331
155
987
918
389
175
456
508
588
781
13
175
205
150
860
459
338
982
7
87
125
243
825
481
202
983
807
821
278
678
528
75
209
479
513
564
542
537
888
775
661
630
114
346
235
350
510
851
370
111
34
219
763
119
665
12
39
878
520
305
779
56
860
506
118
910
374
798
5
149
828
799
769
446
826
822
595
395
619
450
679
639
220
861
756
754
26
78
867
331
982
85
271
987
120
911
459
218
701
1000
871
29
349
794
876
331
841
533
964
211
638
204
87
903
694
851
981
642
688
13
951
917
169
392
441
915
281
835
954
401
943
812
559
44
937
348
920
82
384
580
437
895
16
127
696
624
132
923
726
892
876
782
179
13
144
854
37
765
343
301
424
827
423
492
401
777
155
69
84
244
193
784
781
330
52
518
532
751
149
296
5
540
527
613
85
649
782
146
545
455
787
968
607
98
573
172
33
852
592
936
754
993
400
827
357
387
599
6
997
159
629
321
829
991
534
25
515
789
546
270
873
40
232
157
498
477
782
377
764
692
101
294
261
881
385
369
432
229
823
40
160
337
708
693
603
143
249
637
360
955
649
54
295
173
903
287
924
559
257
166
839
726
232
775
879
505
973
184
285
654
722
929
231
895
255
972
726
329
926
166
822
475
898
452
352
159
553
990
163
650
987
724
74
689
868
987
121
887
226
578
275
965
861
517
919
885
256
637
220
320
845
282
15
783
635
273
160
748
662
138
620
326
795
302
93
158
599
496
159
384
295
80
908
557
827
263
178
376
680
921
15
342
992
751
66
535
451
143
342
303
952
267
831
847
816
870
448
681
972
591
911
965
860
801
349
2
115
718
30
601
841
587
993
464
239
370
201
593
750
740
739
251
256
64
313
399
205
48
962
929
368
842
844
971
429
237
820
957
635
158
581
852
563
651
467
834
679
597
326
921
733
414
184
536
908
641
935
669
129
39
955
505
549
680
957
184
964
307
95
170
711
90
234
128
503
36
815
766
473
230
397
367
856
17
72
250
891
168
564
161
627
775
281
72
66
35
222
210
670
631
281
22
806
974
222
424
207
878
698
747
964
751
54
207
703
412
554
55
508
471
334
284
654
972
50
628
272
865
38
888
931
396
650
70
357
212
278
835
3
898
455
885
716
581
545
843
197
557
63
326
774
35
266
56
632
820
376
279
287
242
323
725
874
244
898
732
251
189
20
744
172
878
711
924
149
76
59
786
938
804
801
627
194
250
177
67
477
160
56
25
934
981
494
489
241
435
306
691
16
387
97
45
976
316
384
894
550
971
354
434
549
421
75
978
563
201
902
512
369
507
162
319
250
558
683
261
152
450
303
106
471
885
895
138
522
610
158
20
482
280
506
505
219
383
627
114
889
267
727
830
309
870
940
107
500
913
319
32
191
848
895
233
756
485
365
409
850
926
339
712
430
769
660
455
302
739
828
778
211
927
0
989
607
448
650
526
346
196
570
43
172
394
394
961
828
723
728
97
119
195
592
443
840
444
95
695
868
618
447
539
703
792
6
327
120
893
935
421
944
503
477
831
326
846
801
954
979
425
83
679
507
778
966
636
248
128
987
373
129
592
176
411
316
698
450
833
793
947
875
240
622
910
365
103
393
597
73
560
669
175
387
731
993
684
154
309
336
579
736
45
578
160
221
785
671
318
905
570
709
948
251
578
311
788
152
310
240
70
102
175
16
960
526
87
86
55
36
943
839
708
180
709
904
218
185
261
480
594
559
861
153
671
866
785
892
912
417
614
949
589
19
543
820
791
952
794
595
882
399
303
771
11
980
517
695
691
188
517
640
457
100
609
261
817
460
54
86
18
341
750
671
107
681
859
648
993
580
564
691
81
605
897
616
308
460
818
67
732
267
897
74
993
449
976
918
803
34
185
692
756
708
285
254
329
240
246
262
506
476
133
505
529
707
478
332
256
878
421
867
851
285
990
753
863
870
654
359
989
15
883
46
743
464
822
305
192
995
174
121
206
472
3
25
898
569
184
638
430
857
821
919
78
147
359
577
688
482
256
970
14
392
736
978
933
19
447
830
48
535
916
861
412
574
653
308
481
961
720
920
270
644
163
152
991
840
720
139
351
171
69
264
469
877
319
665
52
240
809
746
724
69
214
942
782
988
627
700
148
447
269
93
628
732
652
738
405
103
361
739
783
946
917
980
572
180
416
614
485
94
203
824
714
234
604
639
791
972
433
382
794
985
364
665
227
767
663
184
310
731
31
520
908
388
938
516
840
109
223
462
34
536
333
179
77
302
599
611
101
853
78
204
583
297
582
72
699
299
711
950
497
233
888
118
74
343
538
299
309
329
598
265
602
804
754
102
929
303
367
897
292
201
359
356
730
50
649
205
73
606
542
914
450
879
364
897
327
754
871
10
641
788
801
124
35
883
733
70
684
312
786
474
63
403
648
880
615
507
738
964
203
266
270
349
806
125
8
35
80
498
350
896
533
731
931
172
694
367
626
121
256
284
21
848
504
58
975
967
944
332
651
466
463
580
12
386
575
997
613
53
458
763
216
924
86
719
647
606
443
987
611
670
147
871
541
212
899
18
144
295
467
315
306
828
722
779
730
486
638
504
223
375
403
103
49
643
687
851
315
790
339
761
157
379
553
386
887
150
499
94
862
825
61
119
453
653
457
465
946
230
363
124
664
626
683
353
817
954
525
619
88
484
551
917
555
40
872
153
335
785
290
515
405
372
240
650
119
423
419
983
882
13
18
692
130
258
175
701
419
887
360
97
859
603
32
769
993
483
254
119
780
687
489
577
731
746
125
23
801
378
276
607
155
203
114
424
185
56
156
900
751
865
148
931
178
428
896
815
159
541
987
337
838
844
47
706
228
399
395
797
732
642
888
796
34
894
300
344
946
766
16
186
364
648
628
686
764
293
342
179
136
395
144
991
399
253
963
659
576
395
632
323
318
822
929
746
596
657
903
350
260
321
412
276
283
534
872
942
463
117
529
939
489
732
55
947
785
258
979
547
350
159
656
950
605
214
380
263
151
604
287
248
498
383
133
124
818
210
772
207
922
489
360
828
625
792
325
228
240
686
714
97
489
75
184
153
233
905
30
617
550
778
601
907
808
709
747
622
283
127
796
908
12
696
240
450
159
296
235
105
223
361
873
749
935
642
269
254
655
947
36
705
284
164
318
820
376
97
780
298
111
522
188
108
282
843
17
399
982
746
815
486
910
880
879
288
884
888
113
733
795
699
397
28
104
520
534
849
298
147
402
624
510
142
578
569
100
727
920
620
720
668
477
355
578
92
885
673
988
907
372
911
868
415
844
894
828
288
796
437
757
347
878
222
291
711
195
301
524
251
138
14
169
377
624
636
58
494
351
435
818
869
480
679
545
609
460
707
788
389
95
534
274
746
283
688
530
618
428
649
103
980
431
311
124
257
719
407
786
437
374
327
514
665
509
99
351
666
885
816
558
909
283
867
538
59
440
88
786
588
588
488
707
976
272
531
726
93
806
837
455
91
859
262
887
740
681
513
322
190
848
742
109
661
269
32
658
910
698
259
402
399
179
399
403
273
46
655
386
423
890
201
465
65
412
516
204
687
458
996
469
602
885
885
691
328
394
524
19
126
392
241
931
370
3
253
465
888
676
737
948
298
598
341
565
244
952
179
915
172
281
873
14
912
646
566
213
921
534
812
747
817
311
565
983
265
386
13
823
980
592
748
546
834
214
920
324
5
585
676
790
92
477
342
555
428
197
851
734
64
910
128
912
782
719
318
104
556
803
971
4
737
597
987
951
422
962
974
962
456
337
958
129
392
131
893
674
777
673
877
591
105
700
752
823
694
871
581
261
179
153
62
841
780
508
99
794
223
791
601
525
616
231
304
813
618
314
857
229
548
501
723
5
161
23
499
930
452
359
318
937
940
161
148
84
108
497
410
627
88
339
689
143
262
109
5
726
74
324
228
774
461
844
216
629
546
257
60
861
821
984
385
267
472
559
49
717
807
644
541
529
866
267
626
206
437
882
342
584
716
447
394
532
439
331
501
171
433
847
372
961
485
823
642
754
281
1
457
128
236
469
519
32
184
118
792
218
276
554
557
729
982
868
145
453
68
377
924
874
868
99
185
113
669
858
21
380
661
824
562
872
646
23
659
293
662
144
238
684
398
393
412
825
959
862
977
51
956
285
810
724
970
721
812
0
579
316
200
273
340
438
426
744
882
400
53
662
646
827
731
608
78
574
287
359
725
984
344
85
286
743
586
602
343
764
875
340
489
645
977
924
334
194
136
88
673
720
740
953
770
614
900
817
710
580
764
505
569
842
916
227
795
790
123
559
703
966
991
295
497
321
237
304
188
334
206
595
903
59
989
463
128
565
31
201
185
675
849
7
925
480
268
290
287
57
10
830
837
800
557
597
201
528
79
900
558
369
125
719
603
819
259
996
668
395
982
713
730
244
965
567
304
4
110
598
206
18
138
180
109
917
776
945
383
630
906
323
869
768
982
309
478
315
173
693
844
329
827
765
536
808
419
490
220
10
934
921
43
244
145
705
611
838
704
282
702
958
793
987
884
243
62
82
310
993
881
128
87
635
930
465
528
355
903
477
397
490
939
517
280
538
795
567
363
927
83
263
938
326
9
266
628
45
614
669
668
242
235
176
663
298
836
13
345
998
478
491
557
35
920
454
88
456
221
334
453
146
954
469
120
179
980
801
280
730
691
606
792
392
815
617
363
747
778
127
732
991
708
158
414
393
807
482
816
394
224
456
885
837
583
510
595
853
141
222
890
200
224
356
853
926
62
252
339
513
764
903
545
985
272
379
423
449
360
157
98
421
320
275
248
1000
153
913
877
907
872
165
818
494
266
45
833
744
221
369
618
38
808
10
493
294
386
351
806
462
674
396
442
992
824
503
314
236
515
955
446
688
496
766
600
359
303
169
179
853
147
918
981
322
257
517
630
333
439
340
990
12
468
811
775
99
308
59
327
32
698
790
8
959
10
178
919
247
659
84
874
557
187
628
221
467
654
486
605
366
334
39
378
6
537
39
115
429
978
813
30
937
750
744
727
812
576
125
179
310
415
785
501
213
578
162
902
524
928
132
716
797
472
112
357
805
849
339
532
832
837
494
672
816
725
852
35
881
625
502
783
159
27
165
747
852
104
13
25
181
489
984
689
943
186
38
526
647
765
370
674
575
213
806
164
854
159
320
491
662
440
169
290
511
263
959
480
577
139
151
817
479
704
234
681
782
365
180
73
114
158
392
864
417
518
270
91
262
181
667
94
635
669
783
499
411
504
811
261
662
349
886
571
418
335
646
682
9
848
979
918
726
387
361
985
45
233
914
775
47
102
484
170
847
963
936
761
631
351
935
354
20
528
565
414
966
387
497
914
568
97
958
190
416
523
254
545
138
131
742
596
349
403
242
131
38
868
2
899
282
955
52
558
480
21
744
42
825
451
273
685
739
365
628
755
655
180
795
281
264
177
37
604
869
459
243
436
83
73
298
314
156
143
711
403
9
224
819
975
963
979
60
836
483
202
161
352
742
269
857
275
887
226
636
639
992
895
138
863
503
710
697
770
636
71
56
488
339
43
465
909
796
374
735
806
790
179
847
716
897
266
302
151
818
538
377
239
977
630
30
378
677
358
380
400
798
458
432
734
5
504
829
34
874
323
950
58
11
250
815
834
791
121
336
142
162
101
62
775
921
10
529
135
435
30
374
1
76
771
34
409
588
928
124
129
696
296
41
756
15
5
131
477
329
428
199
537
38
400
343
940
407
876
110
121
195
838
332
850
172
317
62
751
88
494
65
821
547
763
933
378
526
506
452
301
790
156
341
562
495
937
750
874
471
611
374
859
763
854
261
789
852
576
942
878
689
991
134
773
837
43
982
588
940
922
168
738
549
40
415
340
241
75
949
154
756
77
450
813
127
924
928
938
947
302
960
408
457
403
239
370
977
532
411
410
427
977
414
442
191
714
420
381
479
188
655
707
230
208
349
702
469
477
283
231
696
324
311
932
273
911
49
681
944
142
679
831
366
766
510
102
507
957
965
689
940
995
670
126
50
618
846
968
813
128
605
19
386
936
823
17
902
663
425
358
323
272
708
318
541
273
241
35
776
986
702
239
872
300
511
322
796
665
237
60
117
755
791
667
362
972
343
981
365
958
347
89
264
778
745
542
700
104
658
888
698
748
136
568
144
810
167
904
677
960
768
988
283
376
165
994
570
604
72
337
187
255
280
525
181
396
393
715
324
37
805
262
933
382
410
817
608
113
359
637
631
504
472
732
968
975
396
269
791
425
830
31
461
64
968
390
43
855
932
630
892
8
416
383
115
230
802
709
306
8
253
620
977
9
988
83
639
794
145
230
11
935
497
246
332
947
368
75
773
146
120
361
169
254
158
298
646
39
790
629
408
668
523
218
931
68
444
761
468
843
794
489
845
370
638
702
814
917
706
795
506
331
135
66
691
667
441
54
744
726
573
649
138
501
37
556
619
786
710
1
982
243
820
893
530
718
281
35
446
726
212
521
724
739
1000
242
770
802
979
836
950
397
340
524
622
327
715
243
414
720
912
705
767
871
900
338
843
738
984
435
238
701
718
286
356
662
725
5
346
169
738
49
660
292
867
106
584
309
731
830
874
963
632
197
834
540
792
406
84
725
826
488
149
117
19
793
982
289
341
861
752
532
850
737
450
318
62
690
361
704
161
792
408
182
622
523
491
253
170
598
915
88
937
966
883
41
165
28
386
333
696
397
354
568
117
774
50
556
40
644
535
276
998
154
461
507
979
145
6
445
264
970
477
29
184
872
934
480
810
12
699
828
977
980
408
173
245
760
90
958
224
569
606
633
372
192
238
847
853
904
216
81
798
336
377
875
74
207
610
947
986
164
867
653
36
926
229
779
81
761
743
793
165
235
433
21
910
367
385
59
957
968
938
1000
499
812
576
878
280
996
14
420
366
448
931
313
989
792
741
287
516
339
394
990
292
572
398
390
75
151
385
917
953
677
484
941
670
937
766
696
866
826
872
688
629
837
105
302
171
85
655
21
507
184
980
429
829
414
72
347
30
511
859
937
566
684
512
633
639
622
609
355
334
749
356
228
259
925
922
859
518
104
805
825
326
68
881
555
864
997
842
19
875
490
78
90
813
855
619
694
516
389
98
779
497
348
852
776
276
18
39
383
495
726
113
243
607
466
652
96
201
263
183
356
961
887
627
918
851
715
757
974
83
806
68
69
788
912
662
924
276
671
60
910
390
748
60
355
335
165
584
980
385
247
938
579
407
167
956
469
380
441
480
690
918
688
883
932
137
575
949
818
411
779
550
772
115
193
916
36
178
708
93
795
449
846
411
343
170
352
22
106
238
528
327
138
892
546
761
522
651
61
258
295
116
74
210
624
497
41
37
83
276
375
294
934
284
328
171
132
260
804
299
418
838
115
500
914
400
311
554
552
900
681
279
490
38
205
326
504
200
137
930
166
917
930
924
651
481
808
769
570
270
219
744
934
948
375
422
834
432
756
20
76
76
774
246
91
879
990
506
751
977
646
450
28
126
92
295
591
327
307
949
630
594
389
822
265
289
183
763
990
782
716
902
452
426
82
628
685
511
967
178
99
685
582
870
283
124
618
226
441
972
906
609
704
822
616
196
656
294
348
638
316
712
169
526
285
875
662
313
226
621
218
81
225
744
154
702
65
867
386
658
137
105
953
585
575
959
162
498
434
414
777
931
499
821
446
742
103
274
612
489
891
158
623
141
128
540
977
811
784
460
712
95
332
730
494
833
393
175
913
707
187
272
421
995
20
181
463
656
528
326
850
650
258
327
155
698
2
25
229
422
967
60
67
724
647
442
24
785
663
463
900
554
813
688
657
61
698
121
432
326
67
80
247
483
482
164
604
51
200
986
387
316
439
370
734
688
535
28
383
191
276
506
533
775
550
584
781
958
126
618
5
98
37
415
338
97
269
807
282
605
675
915
782
766
316
458
482
290
829
896
244
57
207
910
806
773
413
56
960
982
579
281
901
507
913
902
114
119
618
365
909
449
104
300
835
446
811
277
837
576
161
571
710
511
254
62
306
872
308
306
946
484
895
908
524
289
461
529
655
102
613
66
165
894
934
180
436
472
636
365
975
734
416
10
685
29
528
44
842
557
191
354
240
934
841
499
27
283
509
278
896
762
407
280
661
216
145
451
929
570
14
541
499
681
128
862
1000
129
804
817
657
37
368
267
388
41
522
759
686
769
934
885
135
916
412
510
15
683
775
803
104
846
529
517
851
334
987
938
767
872
773
319
701
912
444
704
408
466
688
28
348
372
422
985
352
974
777
90
991
925
121
472
589
486
965
35
162
113
980
314
623
483
520
380
102
153
858
470
66
328
439
493
131
492
207
451
107
693
808
799
175
766
569
60
215
574
372
993
792
314
522
389
481
490
405
446
653
52
618
77
425
361
961
294
388
864
692
992
772
917
336
724
668
167
679
668
959
726
582
897
903
962
187
428
862
953
817
285
607
356
400
855
187
834
955
422
746
399
492
352
791
695
924
55
162
572
34
418
261
591
706
572
812
375
354
655
101
37
953
734
49
458
622
297
793
917
587
999
503
456
1
944
622
841
259
468
610
598
813
118
809
263
453
369
129
760
99
879
278
663
998
382
130
327
149
800
109
668
669
499
934
263
803
432
188
756
121
709
713
413
1000
930
225
356
632
196
171
47
320
561
810
16
408
422
297
241
994
811
36
578
409
995
366
689
755
901
891
918
51
823
712
474
754
268
744
742
296
0
236
532
871
6
851
431
707
415
96
633
783
454
524
342
344
508
202
909
936
818
591
5
451
412
902
820
317
444
360
39
428
857
301
743
493
551
514
10
135
158
867
536
741
506
792
237
292
124
564
54
945
988
244
526
278
842
636
104
625
14
254
86
387
588
583
930
33
892
186
479
304
747
708
393
224
661
13
395
321
725
276
169
428
438
9
174
398
779
989
487
354
989
686
513
445
604
405
500
841
402
551
577
299
287
569
306
64
305
357
397
997
292
466
287
397
220
759
419
225
782
316
429
502
679
342
966
618
129
421
709
507
371
110
925
820
527
792
754
380
947
593
215
397
165
78
507
445
574
748
394
552
685
833
290
758
257
603
322
255
428
695
737
905
636
427
593
995
640
989
134
717
279
872
158
871
870
795
192
852
216
957
234
983
370
10
11
365
492
865
155
416
731
517
377
841
698
723
855
509
808
908
309
416
968
487
167
90
55
30
445
333
500
263
649
43
679
229
761
689
568
543
55
79
921
60
345
881
38
567
104
216
6
745
658
623
174
466
450
459
62
350
521
117
569
914
492
86
337
294
88
206
941
965
217
264
832
217
69
261
568
779
119
441
298
112
274
835
58
151
725
253
174
587
539
570
269
410
128
139
301
936
563
37
490
885
831
1000
130
577
714
850
930
111
390
12
593
200
330
665
899
790
499
709
768
800
453
936
220
29
203
853
316
916
314
25
973
826
59
538
437
77
304
538
255
695
969
558
11
213
36
275
488
386
912
621
815
676
517
955
787
536
603
379
768
470
915
370
826
660
89
14
295
82
839
190
664
698
77
530
518
233
504
102
945
579
248
235
294
28
442
760
101
36
819
471
598
320
513
600
448
186
805
696
132
504
946
30
484
241
262
521
299
457
240
870
178
931
967
967
37
401
511
818
11
970
209
0
97
75
148
756
976
715
656
781
257
322
948
564
404
959
722
208
741
913
736
658
500
690
393
737
219
697
393
53
707
709
281
549
278
433
302
140
389
612
276
220
440
629
359
734
767
423
298
166
134
330
227
370
448
334
744
218
787
752
425
249
291
779
703
63
607
886
254
510
906
838
221
437
301
788
685
124
335
664
328
564
150
750
431
565
957
661
966
55
212
106
12
67
605
973
908
83
443
389
38
610
103
44
605
83
384
971
40
71
656
313
964
745
154
237
253
531
191
833
532
445
684
47
199
57
402
885
619
706
383
593
87
745
757
325
593
884
273
721
37
803
566
526
369
444
129
199
427
797
856
584
41
728
593
988
793
849
732
67
361
974
664
934
634
558
198
690
524
728
644
200
995
710
893
896
162
746
449
451
986
51
32
994
230
525
750
967
545
467
789
765
102
63
926
12
688
356
954
285
841
67
561
944
147
953
390
218
96
332
229
532
564
51
440
980
71
623
375
762
760
966
423
795
550
950
946
322
876
604
494
768
503
624
484
944
971
995
46
111
28
0
631
158
797
519
821
627
375
926
851
347
724
971
666
885
811
526
721
8
773
752
244
185
831
641
925
116
307
0
677
317
578
750
746
472
172
386
908
908
217
571
12
965
569
910
310
796
178
869
548
83
222
62
296
611
396
727
10
618
716
497
827
100
480
272
738
648
787
506
589
565
533
274
338
105
308
714
276
895
956
339
873
128
764
461
780
152
286
842
60
801
175
486
692
582
386
586
529
440
240
875
111
806
385
934
68
253
265
115
157
918
785
697
686
571
539
22
567
417
628
873
870
910
648
926
934
419
248
906
11
376
952
616
201
825
63
512
852
342
911
769
832
244
3
740
290
88
682
44
878
505
143
225
867
650
22
340
207
752
31
593
628
261
96
874
271
348
937
847
92
220
146
373
124
225
163
36
935
160
490
237
110
517
393
91
368
152
294
524
648
297
508
146
502
285
468
501
901
899
696
823
221
222
375
39
953
760
653
310
609
116
137
990
349
399
864
764
175
37
748
860
331
843
721
170
683
452
19
325
147
938
727
876
71
335
406
26
223
491
536
555
163
463
146
200
690
846
220
86
926
800
875
787
740
700
904
557
756
120
784
50
186
919
764
2
870
525
716
179
973
635
443
630
456
872
878
542
862
238
914
610
490
756
383
133
432
226
871
72
583
227
749
9
14
510
239
616
355
267
650
741
68
888
234
507
683
288
567
980
776
16
969
83
202
620
853
327
572
909
674
975
271
201
714
149
491
331
562
829
815
228
543
431
169
259
586
997
113
818
390
619
445
849
915
642
198
13
992
578
265
145
751
614
520
664
845
171
758
965
950
51
674
722
984
268
244
728
33
43
152
428
179
766
853
295
148
963
478
182
883
782
261
551
613
155
117
256
604
485
672
558
24
238
729
418
812
385
756
486
575
165
695
701
917
978
978
254
986
747
223
276
303
281
138
658
621
898
968
900
633
905
548
311
873
323
392
899
161
719
950
917
783
418
665
365
730
382
620
38
546
695
328
517
4
54
218
593
594
880
758
451
390
604
356
22
985
833
550
54
899
571
744
658
479
774
164
789
631
17
453
325
667
912
311
366
9
963
715
14
885
945
367
467
550
697
978
284
946
454
580
821
616
429
234
169
722
361
485
796
900
394
539
935
630
36
170
567
388
375
650
296
489
712
901
584
547
269
518
998
203
673
699
137
313
883
864
769
897
3
898
744
911
397
189
270
103
518
790
424
912
131
426
857
896
464
743
670
721
191
305
63
166
424
856
74
204
167
994
401
970
286
81
457
497
359
170
285
434
536
6
489
425
730
100
398
189
714
999
85
309
653
387
970
895
537
732
41
877
930
628
201
620
367
495
498
17
902
24
394
183
956
276
675
629
715
234
407
36
688
971
557
834
770
40
628
923
948
171
205
658
738
217
889
505
524
661
381
678
915
77
304
856
942
451
340
988
950
262
588
586
718
589
650
606
614
662
686
446
234
104
283
353
961
219
797
117
538
260
881
162
728
756
150
294
791
350
195
82
574
259
948
328
590
818
920
351
397
115
716
720
359
613
41
488
937
373
849
968
225
155
672
701
334
635
775
404
33
428
750
354
751
954
482
420
722
267
676
197
21
854
912
976
440
720
990
709
242
468
628
263
316
530
936
250
267
17
802
67
18
451
572
607
279
708
80
443
512
388
480
927
907
688
596
575
997
859
84
954
986
623
478
778
867
847
221
837
202
185
461
224
99
228
859
854
362
777
114
723
308
983
126
699
835
91
415
526
95
628
234
7
670
608
58
539
749
608
853
270
468
418
364
550
232
961
383
948
619
908
438
33
807
20
36
912
655
557
160
653
92
345
784
57
848
814
618
407
875
486
766
594
88
722
807
594
56
711
985
383
560
941
218
533
315
526
899
39
333
452
873
393
838
249
483
320
253
834
334
278
977
941
685
41
462
303
148
384
37
434
431
773
512
588
956
646
134
673
616
672
434
301
235
527
844
426
819
176
190
845
145
316
948
605
944
386
118
717
219
848
55
846
304
376
888
142
325
961
445
568
712
343
602
680
443
387
263
568
854
102
804
270
247
94
791
200
779
855
872
707
799
518
949
527
679
171
57
371
952
110
480
101
666
178
132
675
201
621
633
387
991
658
470
48
617
10
198
626
670
688
507
729
821
232
984
596
339
728
744
154
639
65
563
564
244
404
748
324
789
825
38
498
269
115
960
613
907
827
981
881
62
636
604
12
477
791
635
238
988
131
611
454
257
365
44
253
100
529
90
737
149
422
556
607
260
775
328
48
112
920
339
154
34
777
61
7
862
817
346
742
301
661
720
589
547
485
860
277
731
304
132
411
56
790
186
794
898
326
735
426
281
208
682
432
45
663
748
144
181
608
991
682
16
212
313
804
797
79
974
462
491
134
922
802
994
457
868
131
519
114
872
372
138
619
527
410
384
827
463
443
69
133
240
441
119
403
281
433
26
102
910
980
857
660
169
920
265
908
417
839
611
595
989
23
584
727
963
590
564
702
624
488
959
573
431
194
31
965
47
518
333
427
787
376
60
331
308
570
722
196
883
616
148
402
973
24
132
288
377
411
134
625
697
11
945
50
660
824
677
51
335
876
855
703
514
614
993
295
372
331
975
395
217
578
864
931
274
597
34
543
703
785
300
82
911
640
657
375
666
10
379
494
537
438
704
995
893
45
132
999
315
381
777
411
636
41
151
620
620
252
218
506
528
815
226
255
871
349
564
669
221
181
446
859
256
214
543
488
150
616
275
60
949
197
736
93
367
57
365
39
56
492
568
803
866
654
742
542
411
721
715
2
3
268
207
543
11
852
832
982
827
843
726
50
837
625
184
716
18
521
241
339
662
645
381
954
775
629
775
801
513
580
307
826
12
252
240
94
173
122
974
342
263
893
975
672
807
840
998
692
549
276
724
888
648
49
2
121
557
113
972
322
584
642
996
101
456
199
743
429
109
790
921
698
226
678
295
466
120
912
89
657
766
137
225
628
252
514
260
95
162
128
702
125
288
168
84
99
765
703
601
819
42
867
812
761
791
489
507
447
226
761
575
431
508
657
913
469
591
579
441
323
679
96
35
217
836
362
233
837
453
468
604
210
271
541
291
155
7
935
189
958
96
413
504
549
518
356
130
735
366
156
339
350
563
606
501
775
912
828
117
430
143
402
161
213
84
984
280
337
747
461
411
883
673
480
995
59
187
134
423
993
313
711
657
213
666
107
743
823
458
363
26
614
324
718
185
59
300
635
499
184
79
462
299
999
749
281
63
276
511
193
642
378
11
112
783
490
977
43
716
586
599
336
512
727
373
116
20
59
446
368
288
796
91
275
214
39
293
392
565
378
30
584
457
241
145
346
520
460
249
847
328
681
291
34
589
638
944
79
587
398
316
961
979
423
463
318
307
77
613
858
439
279
665
906
806
558
511
586
824
799
529
317
771
799
394
592
905
410
632
568
127
537
330
64
510
949
123
176
945
882
73
271
942
619
231
264
133
374
916
390
725
95
424
35
508
60
659
546
897
976
62
982
521
553
802
570
196
732
758
208
437
791
885
323
896
534
241
822
840
46
632
233
668
4
650
950
77
119
217
763
822
33
204
253
329
688
447
356
28
70
736
967
115
486
273
138
398
856
427
383
505
725
726
220
314
641
567
258
501
151
461
276
575
276
907
751
6
645
377
675
446
399
754
712
549
966
116
677
622
72
122
609
817
821
54
901
485
788
863
265
751
257
534
251
769
255
67
331
414
835
486
786
373
900
35
572
261
966
81
592
651
606
172
748
277
27
482
943
115
385
372
151
514
279
479
562
800
84
222
595
977
560
759
677
944
188
944
700
692
733
11
751
486
778
835
691
689
387
849
264
622
262
250
713
880
175
794
145
319
755
487
816
628
599
327
923
166
198
674
750
782
197
511
314
132
337
303
8
452
200
471
854
980
274
332
793
10
729
824
517
710
801
350
555
401
259
358
787
188
449
179
525
413
282
92
549
30
817
956
292
180
722
638
524
947
45
86
256
283
644
718
912
878
12
377
229
727
682
313
865
510
558
305
131
588
982
890
242
602
789
945
774
336
41
662
190
452
231
307
581
713
363
338
10
735
638
219
474
764
903
379
69
147
58
587
850
347
408
337
294
178
198
46
838
62
591
402
334
350
414
667
920
304
306
85
416
993
199
454
955
779
158
596
218
397
982
463
204
855
605
693
495
607
724
845
203
399
878
605
207
358
466
570
311
857
674
832
799
229
514
289
324
946
630
590
683
276
593
539
596
993
627
422
983
911
450
468
927
99
332
800
922
489
241
746
110
149
348
329
481
342
353
358
236
882
480
424
218
764
417
125
339
362
114
899
620
954
755
331
338
376
697
216
454
640
279
342
936
224
691
532
948
53
828
453
137
927
176
636
107
385
286
642
272
524
281
549
503
436
747
595
638
405
515
859
924
481
235
712
288
511
552
5
189
584
477
54
623
206
907
523
599
184
339
654
418
628
264
354
851
794
269
375
511
83
620
96
439
295
752
656
711
760
453
990
335
611
836
197
509
61
888
475
907
512
427
40
438
982
44
158
161
493
251
347
66
588
116
857
715
653
18
447
47
379
709
529
281
0
710
905
952
446
215
354
107
333
679
306
140
318
865
581
764
247
616
798
963
606
631
528
441
733
362
65
505
808
807
751
439
542
975
243
587
575
990
295
15
256
439
78
923
212
813
987
269
826
478
905
536
25
138
910
290
47
682
421
227
381
578
253
884
241
290
43
378
504
900
926
240
761
574
42
513
307
973
471
351
984
786
232
368
309
252
879
28
522
868
257
522
146
283
995
972
7
579
679
785
414
841
429
456
457
97
405
943
917
305
141
225
980
935
156
224
933
375
128
223
620
747
478
924
812
222
465
556
229
685
978
628
646
818
930
314
940
704
226
174
218
31
512
333
563
487
190
974
185
131
267
822
789
6
129
102
942
272
629
801
47
638
841
317
0
641
770
79
293
631
775
360
322
298
467
520
121
477
546
70
194
358
49
942
886
681
17
796
671
385
140
841
302
180
91
601
287
254
504
357
13
281
102
349
865
659
139
292
220
552
195
29
699
49
356
39
408
713
772
203
74
974
578
249
231
944
656
130
937
298
459
96
832
333
434
854
651
15
614
726
811
730
736
913
557
816
910
562
892
691
932
48
297
103
435
439
209
560
425
876
385
330
119
623
690
295
131
403
931
830
102
293
530
486
861
931
775
405
533
40
429
145
706
632
72
579
36
849
288
62
764
751
921
994
236
706
582
714
172
603
250
411
61
424
655
951
848
532
471
859
531
757
463
471
360
750
666
21
892
790
181
400
947
975
714
276
677
590
388
564
856
991
468
125
233
566
206
141
163
263
248
644
689
548
967
603
535
399
373
763
904
622
947
964
977
416
328
58
525
963
320
553
793
160
819
859
217
653
733
782
321
781
84
960
748
436
55
217
971
530
327
677
947
836
272
734
955
497
33
876
533
954
210
989
968
412
634
260
595
470
877
680
328
5
369
449
236
401
106
260
10
332
221
195
101
579
439
304
360
874
673
732
216
412
245
2
758
818
194
382
416
599
637
965
872
333
632
582
600
73
371
879
240
577
507
274
261
603
696
455
671
282
932
273
721
443
33
752
530
577
468
572
931
35
696
823
19
323
112
769
717
86
150
228
591
68
970
710
544
986
858
370
651
254
635
736
667
325
805
82
662
327
880
385
332
606
386
933
508
583
498
167
194
147
347
211
100
616
291
809
28
548
465
367
827
239
702
444
599
672
418
468
538
322
365
888
574
142
952
636
227
976
894
460
333
479
917
794
909
746
194
507
499
451
269
746
892
161
385
226
290
940
151
510
318
274
645
856
195
35
265
967
207
781
734
453
590
609
114
173
102
645
808
59
669
704
738
959
270
764
788
991
519
91
352
477
569
89
395
499
213
320
471
773
74
716
654
988
473
955
229
208
797
404
75
936
955
320
382
324
172
474
629
554
716
535
392
909
528
465
392
416
314
307
801
988
845
805
16
996
864
574
228
741
0
937
568
204
279
753
593
320
123
227
638
544
407
837
392
812
296
873
18
620
668
819
71
340
150
167
874
139
173
592
308
398
996
280
666
397
819
115
342
766
12
107
616
816
792
515
995
753
496
635
846
784
727
10
999
757
259
730
145
452
261
582
244
719
392
779
408
26
743
135
931
131
882
99
300
25
57
544
275
401
823
483
263
794
405
683
790
103
296
827
467
112
164
891
205
768
411
971
806
880
35
842
303
703
265
950
839
901
829
541
416
768
873
223
709
449
756
758
290
320
843
470
936
41
731
117
251
905
605
499
767
71
210
7
287
16
244
662
774
160
533
972
890
49
742
924
209
941
64
805
217
773
805
480
438
532
542
526
291
920
269
459
76
433
787
568
277
8
727
992
969
466
55
29
816
594
76
827
40
807
492
168
871
806
466
604
943
149
662
444
478
96
246
693
306
150
880
156
650
743
886
697
873
608
796
198
22
302
415
169
264
537
189
359
767
60
416
665
446
469
25
213
324
98
258
808
862
966
320
584
460
624
580
88
552
329
758
558
808
590
910
302
942
796
259
303
245
533
850
858
727
902
413
524
282
200
217
534
341
23
814
4
796
557
278
573
184
692
39
358
305
882
8
540
159
255
215
70
582
144
83
568
252
168
615
526
441
63
172
980
111
919
972
997
58
912
636
307
797
462
16
343
755
945
551
738
884
147
89
630
396
671
292
30
563
600
882
170
531
734
357
234
669
884
124
257
564
30
960
596
90
136
767
910
874
564
546
615
120
165
210
472
150
18
339
722
638
152
392
670
85
540
958
776
640
925
201
382
759
671
961
170
957
330
550
892
28
157
742
826
879
32
323
653
428
494
95
702
815
357
805
162
369
59
340
603
141
811
825
46
842
867
273
483
928
318
594
801
604
771
106
243
318
891
777
291
544
487
385
879
52
484
188
46
975
669
335
815
998
379
784
252
855
905
631
683
845
395
53
417
316
846
713
281
215
745
29
476
90
247
529
904
49
830
128
673
142
691
109
835
973
57
467
131
919
45
16
230
628
383
225
77
663
705
269
764
135
801
285
754
629
711
720
778
794
441
318
110
228
484
696
358
461
920
972
46
904
547
196
222
507
247
647
438
803
672
297
440
513
758
491
26
339
564
110
526
996
979
287
370
580
221
975
458
485
432
997
522
28
136
503
901
614
252
419
230
615
677
408
175
594
795
182
999
571
547
875
121
382
678
267
269
657
505
187
111
358
81
197
952
689
789
310
617
499
170
288
855
80
667
92
604
48
548
754
625
905
919
745
368
64
745
355
933
116
15
451
314
912
503
108
239
404
801
923
832
905
505
212
786
108
375
774
800
745
39
578
97
38
92
784
761
902
895
775
471
88
23
201
183
821
500
783
811
511
658
792
955
611
806
933
438
577
378
100
347
619
958
348
198
647
845
598
193
680
911
237
479
233
757
143
852
705
67
484
999
852
123
393
664
489
52
289
979
996
372
410
365
309
752
667
364
626
905
45
698
672
20
309
764
221
353
801
838
533
968
552
473
908
398
668
757
249
577
775
345
823
754
316
215
283
100
455
440
914
530
470
65
585
647
203
890
606
212
790
188
233
746
940
457
902
235
150
130
61
555
85
711
474
628
294
584
30
62
734
559
86
851
919
37
128
770
487
464
605
203
818
505
113
28
658
824
645
612
533
73
308
754
865
142
285
209
112
433
791
493
60
640
759
434
208
598
252
511
38
628
842
874
980
873
65
571
340
916
830
327
502
88
347
897
475
158
693
277
485
947
240
950
772
841
966
611
235
795
618
635
227
28
954
385
820
440
283
942
689
352
14
789
519
897
516
583
787
203
271
768
897
401
21
401
426
45
668
40
717
81
835
486
681
976
899
39
602
405
429
347
209
174
740
570
483
948
597
277
716
693
593
158
297
670
768
592
782
502
343
675
360
437
99
78
753
475
417
597
82
208
517
953
57
593
452
359
674
488
707
928
218
522
50
642
606
35
968
160
340
48
690
293
727
949
806
856
369
610
389
207
190
808
699
923
898
799
105
267
690
143
798
674
808
779
881
293
548
676
121
486
341
911
573
254
311
647
76
765
797
83
248
577
941
188
833
776
373
21
85
255
262
619
208
196
958
463
948
232
402
120
998
781
860
712
935
772
981
638
479
798
551
542
885
392
909
622
335
742
383
113
82
626
400
31
702
942
309
769
183
203
897
78
240
497
198
482
520
796
106
392
645
140
520
500
224
588
665
944
438
355
180
800
546
447
193
670
411
871
522
929
236
952
156
460
145
109
87
125
534
893
677
515
446
199
103
742
725
385
433
451
1
420
201
294
580
183
751
254
481
774
358
367
718
978
273
475
534
199
977
569
50
615
964
612
901
595
243
211
926
730
867
718
896
515
402
145
234
30
78
339
298
796
584
337
389
275
126
29
189
298
246
274
318
441
231
737
207
143
93
763
897
812
844
903
76
105
737
944
253
598
629
66
337
416
631
191
871
725
131
307
922
31
611
56
204
331
96
3
523
871
635
787
654
921
464
439
676
934
910
346
625
281
788
389
125
915
126
195
818
926
739
743
735
89
399
701
588
411
250
361
689
487
586
886
349
206
482
338
367
671
50
982
476
320
428
736
114
346
239
661
693
977
1000
232
522
414
357
695
916
927
137
870
324
853
177
175
198
821
236
315
334
832
227
877
924
527
958
482
539
338
54
152
482
351
265
169
485
14
838
761
957
243
617
140
550
544
75
946
530
937
709
269
642
205
723
395
491
214
159
782
398
678
972
43
821
854
353
9
803
914
456
89
637
74
402
988
337
268
903
838
893
854
117
584
755
950
996
146
734
627
212
953
322
205
846
406
523
406
396
18
66
73
972
724
771
250
656
10
611
775
568
85
205
749
690
758
36
907
697
527
271
507
364
813
945
127
171
693
104
127
757
450
578
420
134
566
277
815
235
97
971
85
54
285
251
848
827
243
592
872
151
569
900
344
618
779
958
722
958
290
902
65
848
790
609
194
211
335
717
13
708
205
466
432
111
804
362
45
807
905
645
72
577
112
224
818
117
315
34
666
406
457
6
838
796
614
997
474
550
658
256
39
679
995
94
872
171
846
237
170
918
768
251
218
21
53
179
354
349
803
959
182
788
33
283
327
80
969
613
857
775
399
434
182
139
330
452
501
492
923
446
26
668
207
528
131
603
824
196
802
195
724
195
214
55
115
472
308
225
364
222
360
401
728
130
251
801
350
507
710
740
258
162
397
937
546
713
289
279
762
180
924
9
129
580
168
500
772
183
185
93
434
438
638
234
344
539
509
869
996
583
46
659
71
710
883
897
32
234
757
405
664
900
858
862
965
531
514
847
354
361
712
490
732
185
387
678
815
699
429
739
491
738
15
153
587
16
900
135
552
714
983
803
272
656
487
534
362
636
839
308
776
876
998
978
229
757
284
920
123
357
274
517
634
648
584
498
628
633
895
51
192
700
823
773
442
906
477
325
783
677
44
896
30
328
505
819
514
753
447
134
172
102
649
732
626
908
669
532
598
630
250
380
670
652
343
889
797
274
890
561
602
94
935
305
770
464
174
139
188
297
849
233
977
675
975
234
717
497
948
88
328
592
136
365
802
710
588
95
556
890
344
672
47
387
294
529
997
186
493
216
252
923
849
202
870
29
337
647
571
709
206
994
451
842
546
75
904
470
822
346
399
110
742
695
476
937
257
833
236
467
838
207
488
728
705
54
519
509
311
263
564
932
580
495
262
320
84
13
685
46
484
917
440
649
844
66
843
506
257
393
64
144
46
240
906
617
345
59
1000
531
591
514
127
856
3
675
728
519
220
415
284
865
528
520
547
263
923
656
665
199
378
609
15
390
373
505
281
209
71
156
369
601
997
191
894
67
190
321
504
648
268
976
950
598
425
31
639
5
931
951
214
923
383
960
80
850
465
684
481
358
249
128
764
652
716
658
812
937
749
796
874
977
740
119
207
658
149
654
42
526
395
770
823
368
475
27
586
700
675
597
824
465
901
482
496
238
371
786
597
990
462
544
765
994
418
213
948
531
26
874
665
712
919
53
748
985
842
783
951
36
958
888
236
456
525
470
166
514
650
108
919
253
635
385
602
243
792
193
305
56
218
389
133
579
693
932
880
390
195
590
957
812
78
743
230
719
552
587
943
607
654
321
185
518
856
1000
119
569
827
978
496
368
72
561
785
87
967
897
592
856
509
893
291
915
698
898
138
902
597
512
321
469
163
750
262
775
39
598
514
921
155
556
423
684
184
361
812
22
403
229
298
25
744
179
852
691
975
217
925
923
903
755
684
928
970
329
124
61
20
196
133
958
634
365
539
525
89
844
669
20
719
909
578
662
146
467
912
615
177
751
404
135
602
742
978
200
729
562
201
274
336
631
167
932
628
227
479
271
599
871
450
181
722
927
507
698
341
100
43
209
133
767
743
484
611
755
519
628
507
212
78
841
534
962
163
212
131
610
922
372
655
733
344
438
791
114
533
878
557
271
391
398
743
495
524
193
277
181
965
246
279
972
523
969
727
97
580
393
753
555
700
200
675
785
681
284
442
255
19
460
713
350
120
189
460
823
933
877
454
409
246
62
148
639
331
529
449
999
542
888
130
96
484
938
268
616
348
239
411
805
513
793
497
378
260
109
618
670
818
548
80
945
868
578
874
608
275
988
874
185
846
714
3
825
443
705
51
530
629
125
388
416
753
343
204
553
462
474
363
290
758
510
189
647
984
54
728
210
71
123
892
57
362
132
119
782
866
507
945
24
990
427
955
615
922
723
412
944
15
519
448
62
843
898
592
888
644
722
439
554
45
27
855
281
83
972
887
266
441
97
60
649
769
703
891
794
284
200
102
93
660
201
891
954
968
601
222
589
217
847
87
668
635
630
213
973
496
670
331
829
209
603
974
460
594
108
317
24
335
484
744
80
434
522
718
603
815
51
521
522
127
521
897
281
170
177
684
586
888
730
180
78
233
425
811
340
495
574
995
388
259
497
947
497
201
824
284
623
487
426
935
93
90
181
381
617
521
643
968
426
420
898
983
174
941
166
15
291
777
137
901
186
130
72
735
97
790
245
495
866
902
515
40
47
638
84
469
175
994
132
510
420
771
361
643
192
677
30
166
605
902
648
727
81
173
809
266
258
455
665
370
839
440
580
755
929
774
176
223
984
832
941
269
449
494
287
203
170
293
252
233
920
754
18
247
763
316
140
503
308
77
561
887
119
895
365
553
133
636
758
518
794
722
265
373
664
548
963
119
244
569
504
545
960
668
573
625
655
366
874
528
128
274
689
408
42
345
740
770
722
272
552
220
649
754
360
118
364
397
437
886
457
290
871
367
999
768
388
754
728
208
105
447
892
166
632
153
988
418
302
477
798
851
961
616
864
874
707
198
567
708
962
967
92
407
431
91
642
539
578
639
973
746
518
379
98
246
861
131
71
288
326
1000
378
968
177
637
398
334
903
809
76
158
41
464
253
936
86
130
789
184
851
252
55
563
277
820
572
85
954
708
656
108
905
969
869
117
186
872
209
852
852
493
929
338
301
584
917
44
133
256
366
83
597
54
735
920
252
658
627
328
433
71
890
552
373
353
175
40
922
851
750
568
152
111
832
192
814
124
521
773
999
352
581
265
466
846
750
19
250
995
300
346
514
776
444
978
447
49
415
665
87
707
260
468
809
76
181
743
297
346
472
405
241
416
390
501
18
800
349
337
490
698
154
407
332
137
0
890
497
321
326
906
485
645
293
831
709
745
216
248
670
928
458
962
161
229
945
119
971
844
642
392
765
283
822
718
857
158
726
166
535
560
454
220
51
954
1000
763
540
889
933
979
880
335
870
481
21
192
415
222
771
987
904
87
527
992
130
439
49
194
528
837
504
635
773
892
200
310
123
309
755
202
535
327
280
428
627
656
167
515
903
569
465
490
380
903
302
790
329
609
956
818
196
318
211
555
421
936
222
341
221
296
474
717
584
612
644
711
701
786
641
576
239
692
605
438
333
838
195
682
679
194
25
578
641
958
514
236
168
478
761
270
0
304
498
170
254
171
60
599
48
300
170
157
825
370
73
214
477
695
185
970
823
623
501
786
940
143
860
911
653
938
785
340
594
590
568
339
593
280
931
98
154
478
559
684
944
966
996
853
505
783
921
783
843
156
799
883
715
982
308
206
851
883
831
855
882
654
292
929
307
480
29
690
626
363
287
896
27
424
888
469
870
199
577
921
177
273
587
542
114
56
432
115
130
889
697
896
122
658
157
26
521
697
160
180
72
85
682
880
56
236
279
240
227
606
922
520
784
40
64
169
7
406
599
321
237
809
856
722
276
502
535
452
735
758
66
372
84
971
375
908
687
763
609
483
825
999
129
376
578
206
458
882
522
747
326
464
556
510
771
580
345
807
555
619
175
930
175
698
54
680
19
345
519
276
959
526
757
267
469
92
852
46
108
924
395
570
202
339
775
734
279
417
784
858
52
687
578
861
940
788
139
712
9
10
493
209
29
285
818
324
401
711
889
50
990
473
928
126
860
503
509
112
546
646
594
148
174
122
236
954
821
685
617
517
912
224
975
450
321
442
239
725
927
217
175
655
431
804
857
377
259
1
392
771
13
951
302
773
973
14
983
99
746
690
393
761
14
943
180
61
632
742
21
377
163
478
561
876
836
476
659
859
726
87
756
327
482
308
817
691
434
10
903
39
90
471
306
931
939
755
777
734
525
473
467
854
969
305
385
480
45
218
202
381
40
940
45
105
961
792
684
451
128
653
875
375
902
721
78
700
497
820
949
988
243
516
589
304
153
104
818
113
241
410
15
487
873
829
475
429
60
325
878
240
91
336
232
532
939
513
238
540
19
102
301
463
227
659
329
162
841
395
739
626
218
466
95
848
640
282
973
912
915
441
246
778
386
508
76
823
195
977
89
351
817
735
282
866
830
453
442
265
901
133
474
94
610
835
432
622
574
356
187
854
610
306
811
867
616
18
384
894
949
617
294
486
347
525
556
695
68
922
241
56
219
438
409
171
478
668
220
717
36
791
3
341
802
262
285
782
420
332
628
579
652
810
104
51
994
877
342
152
19
887
129
299
786
791
208
867
300
985
148
683
943
744
61
246
483
323
119
226
466
387
142
296
332
438
419
101
879
913
503
781
1
582
807
294
528
509
416
277
63
595
688
655
218
458
641
74
677
510
329
875
827
644
209
28
77
410
763
68
687
155
996
995
787
554
266
338
867
660
182
563
858
980
985
152
888
317
654
151
360
77
166
938
212
972
193
953
345
683
760
502
27
893
682
217
833
67
876
445
552
639
477
663
266
881
562
488
883
713
571
37
264
208
539
858
799
419
421
306
355
376
197
658
326
529
118
652
711
901
761
780
957
56
442
382
532
893
545
500
787
824
757
862
876
654
483
829
97
422
275
723
998
429
237
133
631
69
671
866
632
206
921
829
308
318
617
524
20
921
851
703
780
883
797
863
737
442
121
343
980
258
783
866
513
33
573
793
341
678
521
37
931
120
849
933
953
43
230
917
716
68
164
564
708
661
532
25
446
418
425
543
345
860
286
630
259
774
439
931
975
899
531
867
51
681
952
805
252
998
936
38
554
915
145
765
177
281
821
494
185
149
964
498
373
456
265
526
269
748
434
210
538
413
935
605
781
70
861
568
58
342
554
30
373
630
751
746
501
649
836
247
731
41
543
241
241
649
930
698
7
513
103
499
814
835
202
984
942
702
951
505
455
666
472
731
558
834
468
152
596
739
534
649
568
623
375
76
436
277
294
184
163
331
445
588
951
935
160
553
758
979
746
130
55
708
928
309
334
278
5
73
96
267
604
118
75
195
901
600
295
338
577
849
393
110
176
821
109
21
104
602
473
940
369
328
952
661
684
18
332
407
141
971
77
330
875
793
880
254
68
885
5
172
226
784
735
27
916
367
930
208
210
929
287
235
721
459
996
124
499
23
431
309
128
387
74
745
453
714
149
525
832
242
590
924
483
861
96
309
785
325
348
344
94
820
676
613
765
443
529
864
449
221
367
878
876
674
276
187
666
459
359
231
529
695
56
947
988
989
623
847
280
265
92
858
452
420
837
393
358
814
543
514
730
20
806
669
199
848
109
38
547
368
989
41
847
360
926
269
191
109
843
952
238
532
371
131
674
710
125
386
399
935
723
720
499
672
643
782
640
397
117
509
724
401
99
682
359
300
980
372
328
633
636
476
529
547
677
202
81
604
25
235
544
780
997
767
373
542
423
983
258
700
93
481
889
791
820
88
531
250
874
374
663
597
866
80
763
686
435
756
164
419
513
759
853
719
60
310
75
698
986
703
134
872
568
300
620
511
739
94
100
454
875
962
228
123
819
41
0
278
986
877
828
814
362
832
70
835
50
121
705
181
210
859
386
735
813
879
668
654
733
586
994
53
948
683
39
221
388
883
452
871
338
390
660
813
470
795
234
610
198
529
891
175
690
317
140
770
582
344
402
434
858
937
540
634
283
127
886
436
628
274
577
810
824
998
284
301
316
503
145
183
991
738
134
838
789
882
194
326
385
589
18
560
520
971
185
928
326
352
519
472
915
951
288
67
635
592
370
801
797
117
79
50
274
472
959
415
227
520
760
124
602
559
547
578
117
490
78
254
828
923
231
472
811
901
842
315
634
996
168
233
887
236
94
77
815
777
539
587
392
747
166
131
17
761
277
642
979
967
798
931
986
532
318
185
490
361
954
575
742
866
386
399
285
486
674
21
251
181
492
701
591
860
827
715
288
315
791
490
166
782
89
539
847
942
328
36
982
274
746
563
184
645
350
917
370
423
337
655
402
700
581
395
644
15
996
110
528
178
371
789
306
30
248
700
67
89
766
307
445
848
594
137
410
952
279
935
741
519
931
881
779
372
103
388
841
676
684
746
799
816
9
34
878
607
912
120
867
96
266
841
242
86
423
280
298
774
111
485
515
148
531
500
963
572
986
102
238
627
675
345
290
59
32
627
519
214
292
436
324
188
554
397
783
717
573
401
262
103
128
173
810
379
994
452
603
3
279
80
531
158
244
952
505
934
943
301
668
586
20
637
533
955
875
249
903
79
870
305
986
966
593
84
360
924
510
447
505
761
646
83
152
980
784
784
163
931
36
554
995
472
241
495
410
797
597
805
826
782
56
784
893
90
800
676
722
644
819
582
876
518
895
161
695
974
775
393
326
619
842
113
284
578
735
800
357
376
935
956
118
536
44
56
511
976
610
774
213
360
742
463
618
83
999
53
53
999
925
699
569
641
496
27
744
226
685
211
631
765
796
876
930
235
410
20
447
372
305
163
628
167
942
32
610
736
444
609
132
267
770
291
194
281
115
619
641
147
622
250
894
63
369
825
651
640
660
959
893
3
284
583
471
690
999
313
779
77
780
321
38
290
267
377
500
375
208
729
825
902
878
687
767
482
560
388
958
405
676
642
601
477
414
604
766
503
983
113
396
926
293
942
289
175
24
260
510
218
831
652
345
532
499
730
757
266
263
757
951
116
368
537
442
870
373
695
268
332
762
52
57
197
743
453
14
732
526
390
818
896
289
855
233
805
279
917
694
170
285
289
27
67
542
793
584
863
668
177
948
903
495
727
385
460
787
399
693
921
949
526
930
476
582
610
684
112
648
980
348
446
466
854
369
922
559
113
265
89
221
589
401
949
715
848
557
37
429
523
262
166
527
615
457
284
469
996
376
241
904
560
386
257
9
481
455
412
397
140
229
282
798
229
300
615
890
555
461
135
618
973
555
685
977
551
597
647
561
334
901
800
235
641
549
778
286
206
334
293
794
172
116
203
192
941
887
881
13
885
840
119
243
243
142
774
721
262
150
214
995
810
987
557
751
502
543
528
270
848
348
293
772
332
224
128
196
478
66
529
996
682
159
518
140
40
59
591
213
113
189
421
81
561
970
796
436
765
413
273
137
56
691
349
167
44
832
207
316
491
684
169
925
761
148
869
885
647
923
265
88
710
705
794
557
781
740
922
652
76
433
219
621
911
64
655
653
949
839
873
862
510
639
388
306
960
778
777
483
590
781
450
9
585
281
7
411
22
35
896
778
300
104
436
428
860
153
395
371
292
155
779
839
945
643
880
1000
15
582
600
28
514
95
176
820
252
716
887
257
453
880
998
949
908
585
484
658
998
640
589
284
134
194
648
600
961
252
796
258
245
533
485
277
981
675
870
534
421
779
57
450
38
572
887
713
906
397
379
451
451
406
510
924
49
610
402
782
283
818
519
565
559
196
134
777
275
804
0
494
317
225
554
344
522
693
598
815
862
81
530
213
267
536
236
379
755
260
857
970
394
260
1
681
233
497
85
18
965
434
881
72
130
412
499
372
801
243
939
134
148
485
433
392
323
145
857
161
444
737
932
203
77
147
929
802
413
650
807
365
693
295
974
995
990
671
853
503
319
932
356
48
560
854
34
31
533
938
750
196
652
40
321
198
814
536
396
833
125
379
132
365
340
273
241
620
584
681
50
698
584
473
515
910
260
800
856
603
113
642
620
336
963
212
65
443
235
638
650
821
840
453
772
153
518
376
247
812
195
705
964
425
220
306
913
255
355
96
493
85
535
309
469
523
506
692
979
836
753
57
557
89
237
372
666
500
821
447
810
310
5
814
579
472
712
1000
564
525
601
8
780
643
405
773
717
451
318
312
641
257
487
385
121
400
496
71
303
884
110
135
607
46
348
204
681
180
349
367
534
662
545
729
207
698
514
423
876
186
553
466
981
648
397
903
405
905
49
366
151
668
683
682
186
777
928
188
697
162
526
568
496
75
934
74
971
234
559
165
794
888
837
228
116
531
358
21
852
419
564
374
679
244
439
612
968
242
562
945
266
317
274
586
479
911
113
757
306
423
127
54
711
284
702
557
347
93
62
561
264
426
794
780
511
980
60
94
911
91
956
484
385
739
901
157
753
714
867
112
194
53
824
981
112
833
227
801
320
614
53
738
828
836
202
911
606
368
749
901
228
738
931
192
455
477
269
998
4
906
22
426
88
974
767
507
378
561
604
442
924
423
297
408
185
607
167
422
463
53
179
429
815
774
10
114
161
376
722
409
380
639
33
771
251
747
424
315
79
792
893
569
555
636
554
673
75
440
865
978
839
869
821
562
902
647
863
45
216
88
652
623
304
352
675
918
104
855
83
168
11
581
345
603
239
85
135
595
405
603
31
25
162
825
837
166
938
526
525
648
315
548
735
458
323
784
529
640
120
466
107
818
767
759
228
654
513
707
818
183
533
196
150
57
848
222
454
848
317
153
598
424
260
747
634
977
927
429
895
996
126
500
985
656
549
89
457
728
33
12
119
340
303
529
220
159
684
148
228
380
606
737
163
71
163
808
867
415
728
214
287
60
76
925
225
379
113
488
228
399
44
168
170
854
468
80
650
384
687
877
713
219
286
888
760
659
870
915
660
314
780
273
693
974
979
179
123
226
805
67
830
334
436
403
528
693
835
232
78
135
302
821
109
134
315
253
693
472
16
193
674
627
108
682
383
742
729
83
434
742
218
445
272
85
928
405
680
229
954
717
546
607
517
653
125
523
218
656
932
311
361
202
413
330
570
960
105
240
939
830
745
754
683
432
421
790
313
749
559
59
797
578
286
167
706
858
840
228
21
606
402
420
976
223
633
951
189
389
631
52
593
738
486
396
190
31
509
192
273
792
260
645
290
249
285
473
297
104
188
123
438
635
757
599
715
107
406
517
905
406
153
463
680
755
5
981
32
923
671
663
345
928
211
871
617
917
556
216
908
794
485
380
954
230
945
247
383
339
617
565
228
449
356
549
659
878
255
524
817
885
535
70
475
644
318
891
996
687
47
667
239
83
499
180
762
253
936
741
110
966
494
704
422
508
994
379
765
888
482
485
524
228
292
613
279
642
155
485
808
882
882
754
620
17
499
521
756
275
188
81
508
789
425
374
308
676
857
954
173
597
237
342
208
126
938
211
591
524
2
474
818
324
734
522
364
859
734
893
724
638
1
772
123
159
747
148
620
354
364
589
139
857
452
468
380
605
849
841
650
623
946
503
548
979
842
754
142
54
315
521
48
129
566
96
443
822
205
92
75
602
40
372
752
547
813
589
107
44
440
610
728
51
798
319
431
581
827
509
51
353
298
912
434
591
287
923
881
136
319
212
835
45
84
689
700
520
302
293
634
275
706
959
361
530
150
561
289
230
207
552
733
13
774
133
585
410
253
957
7
759
361
250
129
201
708
440
525
201
264
196
679
560
476
39
682
605
132
526
984
323
274
911
553
235
171
22
956
671
662
321
67
174
72
496
483
867
805
629
604
883
480
302
88
6
270
126
48
165
785
564
222
254
132
495
221
753
861
304
456
885
391
44
246
627
169
832
451
83
259
821
413
997
392
342
154
214
977
626
849
468
690
865
607
416
463
467
651
42
834
88
193
725
175
771
872
256
516
519
532
636
56
650
498
417
329
999
955
900
965
895
905
180
540
217
12
941
736
503
886
769
610
129
54
725
449
608
85
86
620
821
529
731
596
707
849
570
874
423
366
313
315
183
780
808
855
958
817
913
732
674
819
845
843
959
386
554
170
119
577
485
11
82
243
198
530
57
64
596
967
902
612
907
610
526
231
630
83
104
404
988
212
547
811
149
535
192
424
977
842
989
684
844
507
657
546
177
969
9
988
214
971
261
281
252
969
23
675
471
263
958
888
59
491
995
729
335
990
308
645
964
112
584
995
852
331
77
963
544
818
687
991
127
477
302
78
8
77
290
620
680
82
112
458
261
899
110
404
200
118
593
848
214
93
951
529
215
150
996
298
386
173
230
16
530
585
84
685
523
131
200
489
955
46
843
183
310
474
320
407
559
502
497
329
861
72
401
371
531
734
653
494
688
565
646
53
757
864
164
141
767
976
975
495
257
141
44
617
67
122
131
559
10
78
721
721
373
390
410
277
515
203
358
119
35
821
534
385
234
783
51
619
166
571
185
722
251
484
224
758
773
971
534
247
627
812
144
767
605
927
317
733
453
40
7
50
780
502
836
638
112
812
191
492
866
636
641
920
868
468
631
985
775
370
411
628
173
819
459
335
411
337
230
713
959
380
410
436
445
725
86
549
394
209
770
561
63
108
408
953
252
33
829
829
65
325
878
107
524
510
157
684
202
660
711
491
490
908
980
591
257
36
531
893
480
679
812
449
286
626
233
257
111
415
571
483
66
391
848
390
966
399
564
382
613
513
939
836
848
74
532
116
378
68
723
57
699
883
921
507
641
218
234
950
881
989
892
904
278
840
53
826
617
290
344
281
482
312
143
853
656
799
566
450
960
614
700
92
106
584
270
390
606
87
315
688
334
583
420
682
145
582
333
747
133
107
521
40
135
786
376
521
655
88
229
237
608
551
22
413
121
46
808
740
201
54
879
262
882
977
222
311
703
233
884
349
65
991
920
323
131
771
302
143
593
81
105
614
833
742
459
957
488
93
126
862
720
598
954
473
375
841
232
659
334
131
844
675
951
127
801
959
878
539
692
188
766
248
444
418
243
183
242
47
457
251
899
899
838
577
670
72
548
449
759
537
53
404
733
801
593
460
289
20
71
539
750
790
421
389
100
164
820
646
596
144
600
856
262
583
18
917
336
469
166
91
292
363
283
503
392
633
589
535
177
792
253
859
695
58
429
677
420
632
770
975
99
387
832
359
192
193
800
86
553
461
988
53
10
386
155
19
657
774
687
966
361
658
251
414
11
229
271
37
132
534
73
755
147
896
358
675
306
27
887
215
638
638
399
810
31
979
878
381
504
418
501
185
7
823
252
620
555
647
211
342
451
69
955
302
163
266
407
169
918
516
126
286
911
685
245
964
648
502
268
606
179
979
915
517
825
973
827
524
155
436
634
476
155
384
3
64
652
620
563
410
946
336
592
47
867
819
657
970
537
955
724
55
84
521
155
550
123
998
198
186
976
204
16
954
17
473
73
802
227
432
448
411
479
690
693
166
555
979
568
502
671
654
684
742
330
564
293
655
432
795
368
9
615
517
753
776
360
128
951
383
336
358
84
205
727
33
221
92
507
996
782
706
411
270
116
453
196
602
392
331
370
6
800
767
42
96
123
984
605
488
835
543
328
400
698
584
110
14
718
839
1
33
551
175
191
928
515
534
134
441
201
954
713
523
373
61
807
19
637
775
735
288
25
90
410
256
941
18
417
278
66
769
539
376
848
547
619
751
24
350
79
675
962
517
812
831
4
97
455
838
104
828
683
19
859
825
861
636
43
795
300
534
412
18
450
569
602
151
116
141
323
395
553
212
184
104
411
703
224
913
580
288
911
874
377
601
242
143
624
834
681
364
671
954
828
398
769
177
473
221
499
359
680
626
514
648
454
23
949
56
142
663
357
288
158
522
910
142
121
570
380
644
701
574
350
227
350
618
580
913
850
178
438
792
911
540
366
510
798
656
783
311
268
500
623
478
959
50
779
405
313
570
585
465
55
113
9
89
255
139
882
64
360
103
561
340
199
783
222
950
788
558
285
190
462
759
140
781
127
700
970
237
776
647
842
555
898
970
367
318
73
687
731
378
673
299
375
433
909
612
938
458
163
436
818
335
815
583
90
132
689
464
222
296
476
233
945
433
463
921
683
743
700
920
166
654
80
884
898
500
887
560
651
520
433
62
41
432
91
452
477
446
771
701
665
670
765
499
243
304
942
316
963
882
306
4
901
28
415
726
201
127
583
142
226
550
0
426
591
48
198
117
572
933
472
370
189
353
712
357
375
482
185
415
490
996
844
808
584
315
185
407
460
851
485
71
720
490
826
76
547
119
595
152
122
745
48
299
999
30
222
886
320
325
590
433
357
664
447
540
400
545
817
94
843
5
758
141
354
77
536
89
226
644
813
797
477
78
767
483
109
136
635
61
87
386
502
32
661
397
507
135
955
584
457
150
687
779
732
715
595
314
128
861
658
212
865
602
65
808
327
717
713
372
787
580
894
788
589
979
286
395
207
990
210
727
39
427
544
110
79
659
119
826
271
223
600
296
412
124
417
632
393
233
316
380
204
102
654
360
767
300
967
477
526
26
380
42
134
991
579
3
920
439
542
185
906
352
641
839
49
335
69
5
732
147
646
313
730
504
746
7
282
294
745
549
554
967
558
617
325
100
15
695
225
305
467
528
574
639
384
623
796
906
769
933
579
954
879
32
141
365
662
267
990
793
437
421
788
722
0
254
981
768
924
308
517
417
71
534
860
690
622
406
124
48
250
32
462
763
372
181
954
588
854
950
625
756
346
916
616
371
728
549
684
269
863
579
988
315
883
402
541
941
681
985
840
181
754
244
658
462
644
498
518
609
543
204
339
910
255
684
556
876
840
256
584
726
24
781
678
281
80
945
714
388
18
883
896
907
71
668
538
464
606
506
568
296
856
700
424
651
731
45
165
305
415
249
15
191
988
899
996
744
342
395
879
302
532
818
857
478
251
169
717
431
199
523
336
906
336
366
673
32
898
326
192
323
573
798
973
608
202
562
213
963
506
366
429
189
163
387
596
709
878
86
132
570
349
119
672
110
650
385
421
936
749
112
898
410
595
579
165
169
167
488
728
553
869
820
558
844
992
52
220
183
137
806
206
899
518
783
28
261
531
785
29
337
869
366
156
478
580
724
504
408
804
160
60
175
587
679
394
711
517
982
854
500
420
998
414
743
764
587
749
0
892
248
267
718
469
444
663
647
897
484
345
726
466
854
838
432
442
661
469
593
153
991
807
196
206
313
925
532
946
263
778
158
687
356
95
50
583
626
575
446
713
61
663
991
640
504
874
266
962
676
59
917
254
417
872
823
446
694
853
557
449
647
69
397
582
483
124
552
346
363
857
475
185
172
353
81
588
461
893
553
64
11
907
547
912
636
368
408
34
621
339
337
944
811
518
203
551
675
647
592
15
319
781
425
620
964
209
561
364
460
994
385
551
746
138
297
485
951
149
836
409
372
613
547
875
201
929
748
586
56
439
311
189
225
929
988
936
334
851
772
542
532
583
43
606
674
745
236
628
254
382
756
922
152
294
384
628
612
817
181
108
1
229
323
287
609
145
452
87
373
444
744
711
510
172
438
276
122
616
598
214
581
324
533
241
693
918
19
494
126
665
813
58
284
440
660
14
0
58
649
614
495
329
661
423
254
502
971
413
104
714
133
769
664
978
431
231
746
389
578
661
18
889
55
817
901
128
70
765
826
379
135
287
796
790
355
69
105
709
443
401
244
783
645
817
553
504
97
186
762
257
342
529
139
313
700
396
767
426
672
537
221
843
549
648
560
424
315
444
777
323
810
287
384
621
456
819
283
269
883
686
703
793
121
976
367
342
796
970
447
179
874
196
283
234
29
392
231
206
864
388
323
278
545
458
511
97
677
39
894
901
494
651
793
339
679
984
812
74
354
432
885
360
699
244
537
659
338
404
147
795
472
121
987
164
660
940
126
532
777
822
497
738
188
226
209
842
107
201
559
589
224
626
181
815
605
229
916
704
234
216
592
258
669
366
758
619
970
60
902
460
718
666
942
823
193
120
732
72
424
542
243
892
416
46
337
661
482
500
202
520
730
395
443
584
524
56
226
337
118
698
559
148
257
980
320
243
433
270
32
462
594
439
491
896
854
754
119
432
413
569
200
43
564
822
900
929
430
362
457
505
675
160
583
45
249
839
315
22
848
12
73
224
65
944
473
621
764
772
899
847
245
129
453
690
725
244
859
915
324
126
698
28
692
25
132
870
805
581
596
550
225
814
489
93
322
309
849
79
877
169
297
467
402
55
284
300
106
419
241
703
843
65
921
807
445
53
119
314
433
160
259
834
925
232
872
473
705
454
377
207
221
926
361
802
188
315
459
655
512
668
645
708
873
802
804
922
24
312
988
849
223
76
186
779
882
346
617
961
305
321
783
186
591
248
306
895
121
410
901
842
696
413
43
239
393
676
596
250
608
422
929
829
450
632
57
204
974
639
842
319
158
608
869
839
706
951
378
827
78
933
111
921
777
877
223
411
590
542
285
881
398
237
202
203
467
780
587
341
97
1000
196
5
191
151
512
187
431
434
709
209
334
190
288
743
897
440
193
412
778
853
29
182
138
778
822
714
435
706
688
815
24
584
651
110
816
171
426
897
683
167
971
179
82
717
758
89
46
477
324
454
657
71
385
839
77
834
547
137
522
317
358
282
805
115
783
865
109
984
471
461
264
307
827
603
671
738
241
3
218
267
46
10
512
936
305
187
301
5
327
290
583
821
834
518
235
287
96
963
411
211
201
780
609
164
720
226
98
642
404
784
406
525
591
323
147
157
347
389
197
941
638
848
467
968
567
675
497
752
444
309
361
114
266
992
318
83
448
77
365
257
133
150
312
413
501
141
73
840
328
326
790
20
855
617
546
786
496
889
310
441
581
168
846
277
954
718
80
868
725
600
226
777
61
323
17
616
935
228
941
823
466
578
17
381
849
845
438
453
583
148
316
897
80
536
898
556
735
269
228
793
377
301
377
882
589
5
381
862
321
531
536
876
142
383
352
791
35
994
381
714
827
983
346
720
270
334
334
137
953
353
271
373
942
596
923
114
287
609
418
581
375
42
798
870
967
94
214
531
212
369
485
975
679
761
281
1
398
792
439
663
425
829
251
859
901
112
387
570
285
112
335
126
879
624
780
761
825
874
494
384
367
190
755
321
392
986
0
1000
642
384
24
828
658
377
730
82
192
250
716
129
257
325
26
735
591
694
45
565
601
314
931
395
768
312
512
306
691
853
83
595
724
318
3
321
858
317
277
778
515
534
421
361
47
152
667
671
663
480
679
188
195
657
102
47
234
589
369
57
607
137
181
4
756
452
612
910
0
593
453
768
754
523
723
960
485
939
617
427
440
8
690
871
305
438
624
795
793
628
809
271
22
65
959
679
119
195
41
872
724
127
711
514
754
398
952
304
356
86
375
993
330
261
642
487
295
874
607
31
58
810
314
860
476
948
122
53
457
608
620
650
726
754
613
196
433
743
519
607
58
180
531
160
282
374
113
81
966
465
371
75
216
678
334
5
553
912
112
385
598
467
993
45
767
334
737
226
298
169
760
118
661
722
444
450
974
959
766
994
796
94
151
800
952
743
374
134
469
331
240
803
350
385
970
679
183
760
673
193
272
561
656
134
438
147
525
0
427
749
648
329
232
240
10
548
577
507
6
166
885
573
550
209
859
346
68
343
225
315
970
641
531
867
13
438
432
359
47
387
613
447
659
729
312
349
912
303
271
382
278
714
397
64
495
621
440
916
885
377
559
257
338
686
425
563
939
338
302
200
721
920
162
116
704
114
562
87
924
524
285
815
801
57
572
405
926
795
524
783
506
687
868
530
946
627
790
318
213
485
652
932
917
233
461
42
610
575
540
188
808
271
127
969
31
631
865
895
679
751
565
352
283
561
923
17
384
55
788
668
994
738
242
653
21
361
589
97
31
770
412
625
513
667
704
852
896
793
849
248
794
545
108
175
505
92
818
741
83
904
487
520
326
352
630
292
804
810
414
95
628
699
348
194
177
210
446
569
663
266
129
472
574
849
731
393
627
467
459
468
882
942
487
531
382
403
488
855
634
459
345
831
795
237
933
740
794
683
681
878
125
15
499
816
306
38
609
365
565
502
454
853
165
356
497
628
31
661
458
415
905
244
837
168
833
191
697
10
862
178
277
961
299
885
965
905
19
428
352
683
341
782
432
989
358
109
358
320
868
678
671
182
126
73
347
122
960
147
524
711
496
559
426
223
616
404
677
240
964
393
893
884
608
55
358
391
756
230
280
898
537
294
924
253
926
82
297
875
630
982
801
964
745
334
945
525
732
73
510
831
954
345
657
147
530
88
524
589
40
442
835
655
922
34
670
785
468
317
388
599
813
968
89
524
607
212
847
259
244
893
269
948
281
215
151
165
543
366
446
392
318
315
432
853
913
391
457
546
36
601
817
305
627
81
101
330
301
810
521
670
501
971
120
841
305
822
750
603
835
251
181
585
69
466
820
280
0
375
596
154
185
90
612
550
552
679
548
638
409
922
553
839
133
474
860
395
390
200
646
126
434
781
983
154
55
265
721
610
103
123
44
825
472
148
721
631
922
856
764
719
506
422
489
919
214
154
681
678
63
552
51
588
534
489
83
178
457
538
980
720
258
932
414
981
36
150
155
405
160
813
84
366
731
457
94
534
149
152
674
292
736
389
504
860
3
907
572
75
587
936
734
274
259
138
610
92
584
965
101
665
863
244
783
501
321
422
246
860
188
93
461
892
876
212
82
420
97
504
8
899
879
782
1000
712
935
403
131
42
933
653
29
509
366
401
62
703
508
603
402
858
126
769
216
925
622
243
491
462
322
325
146
39
464
286
486
622
436
601
355
448
842
972
67
119
725
403
637
290
20
298
709
335
809
173
85
458
783
100
536
621
998
368
958
819
699
147
743
985
768
950
338
609
797
394
122
791
687
376
992
318
127
103
234
248
696
332
718
419
841
204
708
223
335
126
228
592
802
114
738
933
257
96
340
607
326
515
133
178
87
343
500
147
35
883
185
755
7
626
459
991
685
959
407
319
35
722
131
957
217
426
427
252
4
246
514
653
503
226
433
888
493
112
327
473
944
123
787
285
136
927
752
284
174
917
602
272
275
968
642
696
800
540
279
460
385
515
55
730
936
967
316
238
287
795
629
608
798
726
450
619
457
523
111
451
246
632
113
654
895
519
687
880
319
630
406
693
159
318
278
456
420
708
528
160
244
227
185
449
33
605
191
486
477
159
989
223
264
808
829
955
530
666
402
813
811
287
566
851
675
939
481
971
504
701
267
706
38
135
873
353
209
892
968
179
754
239
210
182
599
657
793
687
425
664
86
151
937
29
394
696
100
734
104
809
881
686
843
175
969
936
852
948
0
360
295
909
95
616
50
283
692
387
255
159
483
657
351
929
558
42
758
82
972
859
781
335
358
119
807
470
270
820
900
770
771
752
167
496
594
944
849
61
163
124
596
696
180
752
132
55
851
776
787
763
726
134
576
823
860
497
742
615
593
438
261
327
855
744
352
105
651
38
322
393
486
627
562
164
8
897
666
829
711
640
956
559
962
101
28
55
528
643
627
990
608
596
590
808
652
838
79
871
171
724
481
11
128
276
754
443
353
960
932
463
913
154
639
845
430
214
578
920
822
861
598
7
52
983
751
145
434
867
104
176
106
899
188
816
424
121
550
561
288
270
608
641
192
515
96
11
159
20
191
705
692
280
40
860
670
618
871
894
130
72
618
180
724
544
531
920
616
851
930
742
538
233
349
619
44
1000
225
937
368
683
935
800
316
766
466
17
571
745
807
277
775
211
27
626
807
897
856
817
508
928
443
269
107
467
916
111
30
545
579
858
948
932
648
231
315
218
219
200
537
480
740
391
77
976
10
840
759
810
520
58
403
420
238
293
413
308
352
303
420
553
504
422
272
10
84
85
796
595
463
70
396
633
173
116
162
69
201
43
814
906
335
86
188
584
51
369
127
627
967
557
706
498
617
799
927
959
941
257
503
852
359
213
667
925
464
245
211
231
767
314
909
187
343
574
438
980
795
173
277
422
855
435
601
862
622
286
119
931
435
703
521
147
169
954
397
608
609
916
534
852
862
917
520
849
658
133
32
295
829
920
624
188
835
432
113
832
60
981
968
218
65
536
391
498
225
851
794
425
797
924
156
946
457
849
301
464
124
629
507
464
479
952
376
132
576
607
553
644
673
508
13
343
140
683
176
367
740
767
628
519
321
746
182
821
906
873
709
150
425
698
474
519
433
348
483
916
35
495
673
924
88
666
746
691
316
963
722
449
361
654
43
120
560
71
574
364
26
146
716
877
339
20
87
741
31
579
818
596
868
970
779
973
863
518
371
147
650
106
235
84
469
819
126
121
677
132
200
685
542
486
168
583
554
603
384
90
909
773
131
328
882
375
567
834
842
166
531
781
867
526
999
623
861
509
394
64
691
636
933
799
516
389
514
57
398
530
29
324
913
659
721
390
446
115
828
97
296
649
493
130
578
677
494
373
787
416
779
586
455
826
767
784
104
502
665
604
411
744
656
193
464
939
71
152
682
60
154
199
971
316
229
132
40
987
288
942
65
147
571
819
109
740
36
682
736
695
478
574
635
628
751
543
550
162
642
99
915
811
201
971
421
989
577
306
884
849
554
55
49
572
719
929
47
45
508
598
162
200
677
625
885
415
627
945
187
683
328
841
212
845
705
153
527
284
716
121
517
505
14
590
375
319
693
656
35
403
88
625
775
886
581
843
939
876
668
965
737
624
847
953
544
364
243
780
601
321
112
207
29
81
453
313
350
732
48
541
656
436
991
117
237
350
109
647
683
285
916
755
720
953
588
331
557
235
573
732
888
631
884
336
280
466
522
596
996
227
838
730
369
666
968
813
912
967
112
923
430
821
162
592
341
327
332
942
173
636
362
934
784
873
797
979
298
893
499
515
924
65
278
897
321
830
523
355
926
42
725
743
488
741
537
347
590
817
30
535
919
340
795
920
451
262
718
251
70
864
70
652
232
842
783
813
726
786
476
341
807
966
34
559
194
626
206
660
135
222
546
419
303
272
289
379
82
349
721
522
161
28
868
86
700
319
271
496
183
987
889
310
928
540
303
598
83
567
84
144
728
425
110
912
784
218
43
534
910
906
175
896
482
581
327
984
936
220
557
187
448
201
952
63
672
907
552
16
758
54
459
337
13
172
702
64
619
987
219
546
978
941
290
141
879
194
740
792
148
842
334
791
649
76
657
790
680
747
803
47
868
30
336
618
900
440
425
180
956
841
313
294
240
488
539
965
795
283
635
354
932
711
984
870
709
684
503
297
522
987
161
43
23
598
369
870
45
950
91
360
594
67
707
417
10
816
929
488
791
124
782
235
586
421
905
208
168
955
579
918
636
792
553
648
312
440
253
346
929
894
220
955
912
143
922
109
358
291
335
51
73
107
424
645
763
926
244
674
670
913
725
325
516
679
567
462
537
533
9
212
372
981
489
606
564
133
35
376
709
447
302
721
972
149
127
918
517
564
640
644
904
856
426
873
780
70
406
180
332
666
460
416
884
144
792
768
417
509
1000
834
380
808
978
124
728
794
989
932
576
355
920
497
565
339
123
185
457
599
871
78
615
246
708
523
917
128
144
398
902
890
340
114
253
290
244
708
25
947
369
88
168
168
274
640
603
256
69
950
329
143
527
633
129
829
587
266
984
550
361
475
651
754
631
62
33
765
59
729
615
316
668
740
804
234
706
104
164
565
293
658
1000
47
298
135
874
972
400
373
367
692
486
892
486
568
657
65
196
656
608
154
67
600
250
361
577
919
180
898
468
731
35
809
740
391
227
457
40
238
35
230
188
232
221
915
938
874
683
889
21
967
413
457
644
535
918
254
986
577
861
800
389
447
260
913
180
14
325
70
643
659
372
836
604
214
871
917
596
920
145
423
530
223
400
916
562
687
974
12
608
450
998
155
39
445
370
312
367
538
650
789
11
627
986
427
472
779
117
83
380
731
999
68
999
6
152
283
575
355
581
909
480
687
369
177
983
788
921
200
572
570
484
0
125
926
270
642
787
408
288
105
468
771
649
160
986
621
47
588
638
508
117
951
159
480
347
551
469
496
564
439
653
267
613
419
303
140
707
136
832
640
418
54
610
326
591
63
168
349
668
571
150
151
584
253
373
675
749
582
85
780
171
824
498
613
517
498
453
923
424
504
880
100
303
7
196
411
164
978
611
660
393
255
576
753
813
628
410
659
884
625
73
145
0
514
790
55
918
923
927
815
93
883
273
782
662
776
158
420
623
12
980
867
671
221
854
279
108
250
950
905
477
734
351
531
925
975
778
877
617
371
334
334
877
460
845
43
973
257
918
172
488
182
953
674
717
147
981
69
763
927
300
997
367
145
838
809
446
592
971
708
65
673
949
93
984
814
403
144
382
205
432
50
542
570
333
173
486
869
850
902
897
166
65
686
561
966
6
252
533
258
412
992
959
767
459
338
140
365
20
845
984
664
870
493
591
332
699
687
417
57
714
421
767
627
99
791
831
839
359
430
731
717
653
643
785
380
390
683
688
947
95
628
370
787
507
679
558
974
574
436
304
293
398
21
215
943
430
144
344
470
687
637
788
180
313
742
482
163
403
53
464
884
940
644
895
364
147
386
725
310
179
162
636
19
154
909
427
81
675
995
156
209
449
241
682
602
369
942
622
929
248
519
660
298
544
622
413
667
256
87
116
479
26
982
105
633
787
666
110
203
542
271
976
61
643
651
711
899
427
779
520
607
766
992
900
132
701
236
444
663
287
512
609
89
297
790
929
446
396
53
696
188
813
670
309
459
462
52
862
424
32
288
788
126
982
414
977
24
420
466
344
905
401
987
557
973
842
789
353
125
422
274
630
555
325
331
19
705
174
206
966
617
262
498
470
151
881
381
420
21
29
219
699
542
685
997
468
985
104
828
987
131
495
647
153
249
770
569
241
317
228
734
183
796
413
540
803
527
727
857
761
406
574
160
915
624
522
960
81
113
69
769
986
105
765
85
296
697
500
505
918
531
744
37
816
704
699
698
859
142
417
826
494
646
847
64
367
899
946
630
417
353
304
241
42
360
346
525
464
772
49
109
278
242
991
839
674
780
562
542
356
917
201
168
578
364
188
546
452
399
295
65
503
238
79
301
960
740
82
113
475
126
631
533
572
747
313
883
127
63
528
134
807
836
767
159
571
602
842
597
786
458
609
259
984
123
75
528
851
660
71
823
682
773
983
702
375
132
897
18
562
69
567
460
776
785
447
682
507
432
475
736
742
143
508
777
773
74
917
738
650
207
752
708
344
893
812
706
747
158
795
808
985
810
468
892
625
800
376
685
885
901
484
351
905
971
125
641
260
348
974
829
112
686
756
13
512
176
61
433
220
46
465
15
521
88
503
691
489
562
580
228
647
250
387
503
506
226
779
948
382
934
970
763
860
58
181
427
270
817
865
662
863
849
10
588
377
751
457
716
45
536
333
501
867
378
541
361
348
982
916
681
874
522
288
868
520
558
413
622
462
209
3
451
761
838
292
688
803
4
257
575
37
274
921
567
763
388
767
505
308
766
314
865
407
281
984
760
644
139
885
271
568
585
420
896
505
591
498
498
789
631
189
958
649
500
420
98
195
883
513
575
862
355
448
622
878
156
230
153
147
6
323
24
68
190
70
725
763
745
992
514
623
644
466
542
421
533
385
795
597
264
493
710
964
295
816
770
600
160
104
848
950
107
234
463
935
816
53
47
124
743
211
259
360
715
117
505
791
973
9
143
803
436
583
600
52
49
477
942
308
832
889
184
818
968
958
286
234
550
471
609
536
982
415
143
627
635
113
665
401
925
22
49
372
428
449
383
524
536
555
897
514
763
310
583
919
901
723
56
507
530
246
113
459
77
504
169
1000
652
608
634
551
639
253
642
673
731
311
641
88
284
645
802
565
712
67
487
971
726
225
876
694
838
274
585
7
762
190
337
282
378
739
972
978
870
116
921
117
797
417
669
370
304
702
56
415
27
984
889
63
596
582
550
662
491
318
344
759
859
527
329
829
399
734
793
818
579
264
996
629
932
52
507
413
63
244
961
280
764
921
740
80
376
732
391
577
902
205
374
675
751
306
437
1
461
783
0
474
5
974
344
767
906
902
309
701
914
885
401
167
417
882
102
854
29
528
548
123
588
526
380
608
101
564
789
370
665
544
269
76
885
455
748
538
73
375
36
122
658
488
867
582
302
254
315
989
550
494
139
306
51
272
934
213
796
924
678
859
211
70
790
22
477
17
601
997
877
395
445
982
267
166
521
613
920
685
566
258
732
213
846
115
11
778
948
842
88
435
337
172
636
133
726
583
827
532
710
133
764
299
503
712
225
998
484
890
578
82
965
504
573
25
48
306
90
928
990
967
268
13
456
484
846
969
444
487
908
831
783
474
935
503
488
26
743
420
490
724
226
209
924
599
371
879
410
272
490
128
867
940
779
131
403
456
151
924
107
128
253
72
727
111
941
152
678
409
790
435
354
192
840
459
747
862
640
201
314
197
110
302
415
899
677
733
126
112
208
128
230
192
405
183
187
497
561
803
329
825
497
975
979
902
580
264
423
192
334
501
813
912
941
702
27
561
987
220
53
944
321
335
627
165
990
635
229
644
63
175
790
291
894
988
190
639
298
284
271
796
28
219
632
689
86
984
659
235
524
565
583
621
762
773
458
293
275
941
971
603
17
690
376
759
410
702
651
804
508
65
334
178
384
493
297
57
235
620
708
757
228
328
249
135
302
148
612
257
833
344
448
103
598
401
497
614
627
443
664
890
285
243
390
69
921
111
333
568
990
735
786
439
812
318
729
836
79
702
415
749
634
143
229
298
809
818
337
667
468
489
90
822
943
567
656
464
915
430
276
384
554
828
733
728
802
397
204
788
994
856
739
942
831
21
72
887
859
837
739
478
436
938
510
979
743
364
972
975
887
811
227
468
12
865
87
376
699
284
559
672
661
195
64
955
753
517
32
925
313
668
324
421
647
969
602
772
6
477
626
96
938
18
234
840
62
33
858
857
811
734
433
126
709
944
523
337
632
439
114
122
86
225
722
294
887
548
943
725
150
367
506
686
917
206
554
909
545
109
519
55
56
787
842
488
50
443
241
154
394
293
177
21
623
56
584
500
261
925
24
398
851
413
982
894
697
47
878
608
855
711
174
931
33
646
148
847
337
980
565
126
737
310
176
65
898
755
200
798
650
836
135
834
996
854
922
715
910
927
824
801
933
755
512
118
124
244
286
234
899
307
753
780
508
799
270
308
719
319
218
36
760
979
610
127
244
544
228
850
598
959
860
325
342
671
987
397
815
515
706
11
473
878
841
339
423
234
818
973
628
152
158
429
675
1000
188
746
788
105
896
686
827
866
884
343
434
887
577
985
717
564
882
930
562
598
138
978
299
229
57
164
886
611
75
367
17
345
957
611
181
131
576
841
611
644
129
469
543
730
962
427
805
324
379
933
184
549
932
867
544
713
211
997
568
522
951
276
895
739
408
140
705
846
568
802
109
921
321
670
917
341
691
320
908
24
344
958
221
16
460
988
915
403
101
690
875
755
153
740
547
173
583
185
285
930
512
564
768
408
445
141
529
737
352
290
383
56
77
510
519
162
781
77
500
401
684
157
468
243
788
390
98
83
657
949
803
624
793
986
418
208
131
214
689
897
601
828
734
577
61
361
122
705
44
791
726
125
707
562
803
66
536
157
584
216
622
252
916
402
821
732
708
71
609
745
956
735
139
907
483
805
740
44
557
735
53
858
595
903
842
871
938
550
688
627
605
906
494
83
908
990
499
199
665
152
350
512
98
807
577
70
26
268
350
116
562
94
862
594
303
324
138
594
195
597
295
753
940
536
62
602
59
201
546
411
999
472
577
881
34
644
48
634
799
359
17
813
521
764
576
770
177
588
674
802
723
843
729
463
770
604
158
574
40
227
883
270
195
308
569
517
220
135
225
700
269
429
677
341
961
816
175
577
798
333
782
419
591
892
479
218
911
689
554
13
229
868
942
925
109
844
503
755
342
451
129
110
878
851
251
19
81
772
358
746
925
432
404
253
533
150
338
654
943
515
567
843
574
901
211
657
970
843
908
751
939
927
777
469
875
429
442
403
919
5
725
138
875
114
482
282
65
838
49
458
687
446
89
143
525
109
243
882
46
527
477
353
90
983
10
478
296
340
892
622
430
939
707
129
897
895
530
711
773
93
660
644
763
523
273
602
737
725
216
236
81
268
868
879
577
651
538
621
467
573
519
175
674
154
770
232
450
429
473
938
148
338
273
636
477
20
491
388
349
740
235
927
419
853
291
451
616
275
272
535
23
22
629
60
419
524
585
826
282
755
465
124
95
69
686
312
968
3
93
518
380
123
293
479
948
961
746
991
736
554
603
94
94
567
691
770
549
722
417
111
250
834
158
942
888
222
678
305
807
801
739
891
962
33
841
323
700
60
830
999
6
771
756
966
853
905
177
265
856
256
324
165
224
256
479
317
111
250
982
895
148
39
552
202
51
310
542
445
687
722
979
980
342
144
374
872
183
16
166
148
173
942
560
95
122
68
384
97
518
871
518
267
195
762
462
476
40
402
491
862
304
145
193
273
770
539
398
451
490
468
69
523
559
452
529
840
289
562
48
73
544
278
205
732
149
997
241
144
259
53
690
151
903
495
187
555
834
674
247
861
260
79
352
223
688
970
840
440
334
724
149
584
2
534
274
8
616
839
105
74
994
144
490
932
962
531
645
955
947
886
316
412
616
89
723
952
578
402
784
441
753
231
740
653
35
591
831
827
720
962
358
246
604
814
568
9
530
580
825
51
50
352
953
390
387
26
838
359
730
226
968
604
626
206
995
176
627
669
402
669
903
566
362
606
775
420
582
831
49
562
772
492
327
860
836
279
253
27
952
245
734
583
979
969
493
876
658
229
496
219
807
864
429
312
505
297
70
289
808
165
140
376
244
79
274
207
783
146
427
703
315
100
721
725
808
599
497
86
684
788
26
134
338
787
345
967
841
155
722
770
485
840
704
29
219
146
722
14
753
443
17
84
665
144
303
664
976
304
795
489
938
362
137
767
516
101
34
482
922
32
263
503
941
758
391
95
663
696
547
821
468
178
976
791
892
608
186
329
649
374
431
789
138
672
238
773
57
105
975
537
493
761
539
26
848
370
58
898
890
716
151
126
20
889
8
809
37
118
350
295
577
212
180
322
962
20
283
430
66
125
677
558
441
735
488
948
619
729
500
25
273
637
639
994
927
582
618
631
874
597
218
520
560
76
832
547
904
881
29
565
960
441
86
954
265
319
685
637
229
162
87
416
543
867
995
225
698
212
943
369
912
234
717
407
346
88
464
425
257
551
364
773
481
260
408
977
509
439
959
587
207
852
707
795
992
967
23
900
192
73
310
614
215
715
877
921
16
48
317
962
991
468
817
774
988
195
685
304
352
64
142
998
25
226
813
539
769
201
724
264
586
922
357
25
37
892
675
623
283
620
406
190
44
116
554
770
852
767
220
85
225
116
315
269
490
225
727
634
510
833
918
816
380
761
824
21
797
134
583
48
998
947
897
304
133
629
587
489
471
644
8
294
425
670
575
520
597
900
521
326
708
37
250
420
468
107
585
577
242
681
12
898
903
119
438
859
72
173
712
204
934
162
128
890
551
265
344
170
479
44
301
359
436
670
376
769
991
620
407
912
766
640
211
836
331
721
922
466
430
891
857
602
840
249
682
973
475
223
823
575
99
67
489
119
554
493
546
750
362
563
645
827
557
558
95
448
786
867
993
487
46
852
283
116
576
623
120
417
574
543
825
476
339
624
49
978
757
81
534
284
967
772
527
98
767
691
9
890
887
59
931
292
874
985
543
745
752
302
325
392
721
178
535
933
186
977
608
182
176
268
145
800
553
40
976
562
113
319
186
629
616
770
972
920
799
605
690
120
400
619
516
586
740
99
52
617
469
612
816
648
708
790
670
616
510
223
972
234
746
318
423
163
372
179
931
9
589
508
838
239
418
415
250
473
359
863
229
822
228
50
514
553
831
90
143
508
116
835
632
643
299
160
795
440
100
99
630
138
625
468
64
379
24
144
581
738
795
258
337
751
689
94
791
993
2
780
773
718
210
300
351
852
287
306
744
104
248
157
871
722
139
925
263
662
734
754
871
451
817
221
864
488
111
962
266
619
830
358
922
8
307
943
295
980
24
438
799
196
223
838
148
843
753
718
249
830
789
436
62
238
502
794
547
557
865
788
521
688
625
543
367
65
780
813
520
701
703
150
783
357
425
304
970
645
902
612
634
30
522
153
557
450
58
542
485
474
82
812
294
562
587
604
968
54
899
599
45
509
252
765
842
416
683
915
356
137
126
520
702
816
325
769
908
243
885
152
338
627
362
708
918
718
367
168
238
431
976
193
532
786
64
996
16
349
241
322
166
723
297
35
673
514
959
771
175
222
136
727
122
575
415
637
290
665
276
97
603
47
399
417
326
505
394
789
364
517
667
420
844
255
663
187
856
440
51
707
45
286
604
641
712
946
350
31
52
270
433
462
222
892
556
379
555
444
812
653
138
729
657
665
415
975
79
631
690
705
141
990
393
340
246
450
745
277
997
623
338
561
19
918
721
247
933
352
987
412
376
722
844
473
143
266
586
420
255
113
755
280
599
909
776
835
232
402
844
190
117
577
834
118
761
233
366
507
151
644
460
284
633
217
594
573
617
142
180
846
881
209
93
863
706
682
37
244
595
275
406
297
940
282
23
720
811
803
31
759
537
836
206
648
279
655
189
534
64
780
961
208
970
675
72
450
348
947
957
599
919
263
387
213
565
402
27
367
548
238
929
510
255
995
144
353
498
288
668
524
470
788
987
452
886
646
900
411
397
98
614
158
12
235
966
21
629
419
865
223
746
185
646
426
652
444
446
293
974
446
828
263
691
52
626
834
509
493
533
79
184
275
822
193
771
549
885
373
297
263
287
632
416
165
440
883
616
68
360
941
571
227
716
336
761
593
391
148
509
578
102
735
650
888
388
403
190
543
843
568
450
639
419
561
630
717
617
419
53
737
786
348
879
924
374
839
488
619
978
734
108
346
454
149
619
918
801
675
301
261
10
706
756
347
855
761
136
690
367
318
721
795
942
829
430
304
963
381
417
400
778
718
537
350
210
797
119
53
273
591
738
165
734
41
914
762
518
346
840
966
356
43
246
689
960
245
704
228
44
313
695
10
792
422
266
524
339
649
935
470
59
211
40
977
827
617
998
916
858
774
623
368
900
967
886
597
168
802
143
324
921
966
666
381
315
479
48
535
279
792
192
667
942
123
376
403
965
173
408
631
198
518
963
195
630
111
114
702
107
279
885
128
977
593
578
262
55
97
710
82
927
630
16
550
963
553
59
124
732
471
857
360
400
929
297
862
513
468
201
42
547
696
54
824
832
40
197
213
448
570
186
436
681
714
358
827
510
451
875
768
766
128
602
924
178
636
741
389
729
894
576
962
503
11
384
865
480
729
733
591
638
879
969
981
211
332
94
501
644
525
767
692
246
934
912
39
679
709
336
238
840
643
573
215
384
611
469
887
742
6
72
725
430
957
953
355
317
339
267
285
553
203
159
454
723
325
371
262
987
328
246
381
455
960
908
462
450
960
739
318
300
931
896
486
344
408
226
797
617
503
650
741
246
373
249
114
589
908
498
661
684
219
746
300
207
376
758
666
470
763
120
670
223
139
415
671
390
956
838
281
27
124
140
994
17
970
901
602
816
981
416
713
819
902
57
337
319
888
560
119
174
349
144
947
898
146
232
151
616
418
497
929
310
896
427
510
865
661
697
120
18
136
515
409
957
513
680
898
826
970
499
266
503
391
882
103
793
671
543
660
62
826
268
695
735
379
927
938
286
219
671
960
892
772
122
178
138
563
574
688
991
739
783
227
222
781
387
468
653
692
477
933
669
669
778
856
910
335
77
417
746
228
283
196
929
288
360
287
414
678
10
445
712
156
406
127
121
72
137
829
784
307
843
384
710
245
699
791
241
832
570
253
136
622
277
156
893
603
595
852
413
942
942
216
65
889
881
902
679
920
288
167
920
847
724
705
839
352
592
639
583
917
169
140
230
930
822
542
14
229
376
942
321
995
547
287
429
988
413
444
790
408
686
53
894
364
795
771
803
707
769
542
813
261
554
223
871
460
26
275
384
629
566
31
860
358
36
333
135
615
401
740
904
462
674
273
386
62
928
425
56
365
337
117
274
430
163
685
525
174
780
758
223
264
617
123
550
567
252
725
996
15
512
744
299
668
711
984
180
766
461
37
248
773
475
85
936
363
750
621
482
999
452
773
401
568
260
538
256
184
351
721
242
457
955
578
405
363
632
321
854
191
398
713
469
562
485
179
544
250
184
733
857
450
775
675
920
354
909
206
478
154
904
104
939
571
472
101
18
498
577
262
737
238
374
798
741
680
838
457
381
602
185
413
756
502
1000
187
879
887
5
182
860
934
444
766
323
828
712
10
101
800
992
823
692
991
203
787
597
940
939
793
812
393
488
156
600
131
736
690
650
443
791
891
686
276
954
678
627
795
367
216
253
950
32
6
225
884
908
565
687
920
195
150
422
955
940
139
554
401
471
248
695
914
72
482
100
432
74
369
202
182
968
331
899
623
575
954
912
246
485
437
202
683
487
751
484
193
695
112
268
710
324
684
235
55
261
830
119
273
616
160
514
901
451
896
826
742
114
101
466
513
912
905
631
835
720
864
545
11
935
618
303
944
949
715
958
972
23
149
127
5
717
161
70
847
358
649
50
398
233
104
125
27
159
184
842
922
102
539
233
687
566
233
954
138
7
12
22
997
147
146
708
793
907
128
38
102
943
867
922
569
191
479
780
570
146
858
846
960
591
972
84
561
27
786
507
825
361
550
3
247
557
771
67
650
696
604
453
927
55
653
562
203
787
459
784
886
490
450
87
873
799
970
324
659
941
949
482
366
615
330
369
530
670
248
480
112
333
232
851
81
582
578
232
623
388
119
409
631
363
524
3
663
765
954
858
686
372
54
505
644
623
199
605
113
126
226
415
900
312
936
389
42
209
531
413
927
77
803
95
208
10
180
67
271
674
172
24
826
215
380
692
862
747
694
962
166
766
782
631
607
869
231
163
176
667
824
691
51
980
360
902
637
980
246
425
231
470
187
262
628
928
266
786
288
982
450
415
225
207
521
972
821
211
650
568
315
221
223
377
805
87
84
921
564
24
489
850
164
978
810
770
789
818
253
396
321
910
507
799
328
629
88
548
289
199
971
908
181
488
992
516
100
635
577
108
262
638
166
276
837
386
819
145
730
413
173
110
463
578
527
861
284
948
482
451
769
639
497
80
950
171
48
662
687
119
952
595
760
547
79
549
957
772
231
262
920
642
482
126
713
806
729
71
150
7
81
691
571
160
396
625
147
807
927
315
979
665
50
261
614
188
281
289
489
614
836
185
229
105
329
773
917
704
27
977
765
101
821
822
217
47
121
141
660
329
980
602
618
560
999
436
844
419
873
447
645
685
333
158
71
909
577
982
903
256
949
330
914
404
125
633
147
606
201
933
899
262
629
21
617
850
360
88
92
107
93
538
302
429
979
841
509
47
422
421
114
493
884
921
785
400
311
713
723
451
323
731
547
288
774
475
680
899
377
901
816
96
854
688
23
880
215
907
716
432
932
961
991
697
838
373
393
210
63
127
431
1000
289
431
394
258
523
443
456
582
152
263
415
727
351
179
683
885
880
196
340
827
387
193
623
293
733
850
355
537
70
878
516
59
227
242
208
282
137
810
434
116
995
723
350
752
181
554
953
647
220
371
18
94
951
68
788
126
442
595
630
4
711
259
559
452
769
455
928
585
243
760
653
960
163
776
107
471
98
130
878
799
679
24
241
967
903
646
575
761
914
535
437
861
332
895
827
163
473
622
504
445
580
856
350
317
993
996
838
285
762
851
240
636
6
447
474
32
41
175
784
575
309
142
463
164
735
250
56
604
248
623
607
769
570
448
149
472
776
632
424
508
139
596
277
470
638
930
788
65
711
590
69
260
577
178
931
338
874
907
897
695
569
760
596
478
952
511
613
239
220
749
887
266
890
654
216
185
903
968
122
942
748
749
5
811
312
879
933
369
44
487
189
172
118
881
675
619
652
624
941
963
924
923
337
794
456
703
712
758
6
234
598
662
828
877
664
980
445
871
42
104
704
581
194
742
719
848
57
265
135
989
450
268
412
964
178
148
902
308
144
710
238
547
277
664
948
346
56
246
696
359
957
935
346
395
699
815
170
150
525
150
302
659
165
210
579
862
427
222
596
425
512
584
554
734
691
832
406
520
104
120
390
507
834
15
169
375
897
262
237
975
946
279
976
506
822
22
667
381
339
842
261
798
666
676
9
811
676
83
251
891
715
937
649
706
437
492
348
248
541
700
998
178
816
938
532
511
655
762
209
630
103
591
186
624
907
367
937
136
203
263
533
211
880
824
829
164
559
830
497
12
34
14
654
767
994
140
814
956
674
190
102
774
160
49
66
960
710
220
629
460
911
650
999
831
522
757
540
974
874
134
73
120
608
242
887
871
535
848
739
311
778
271
72
748
265
39
390
268
359
51
479
113
699
919
832
55
973
566
668
296
333
37
14
175
425
713
658
863
910
93
299
30
673
846
822
360
950
416
371
391
104
917
158
178
497
704
767
459
353
185
187
26
559
48
207
386
545
405
670
53
520
199
385
450
116
408
169
843
300
952
55
314
239
40
346
668
536
167
435
534
886
193
556
896
693
914
620
736
62
655
601
940
462
330
485
605
153
608
182
270
458
277
931
429
683
451
409
311
641
65
602
617
352
621
996
507
237
635
998
202
721
944
943
550
569
880
649
382
631
880
82
470
170
895
677
645
381
193
823
872
578
269
378
560
348
564
584
564
540
911
99
381
248
480
737
643
554
435
455
621
173
220
40
27
674
892
554
216
867
371
517
525
443
351
974
522
439
902
421
671
846
670
480
425
214
452
795
888
25
185
843
93
693
461
561
937
616
358
964
939
247
630
945
642
5
34
464
548
271
920
208
366
567
624
535
217
46
905
642
492
583
511
795
346
539
354
867
884
920
317
330
586
908
784
364
132
614
428
253
109
546
721
785
757
259
387
881
486
186
263
610
349
618
478
103
905
539
663
171
603
903
765
626
145
749
322
254
718
120
872
98
404
504
356
315
2
484
595
471
417
495
569
610
958
484
714
170
651
180
133
944
830
189
626
318
916
711
188
305
29
258
802
6
994
708
627
806
407
683
385
764
171
889
963
635
565
201
322
36
987
111
982
402
124
546
668
534
281
350
924
622
726
370
673
861
999
84
29
830
713
467
566
54
129
894
164
188
965
533
563
93
746
979
230
992
817
165
404
823
837
484
684
564
629
197
687
786
771
167
475
925
729
421
790
486
304
441
251
36
320
787
536
542
592
894
254
714
153
70
312
821
770
67
443
845
786
206
356
346
973
144
808
226
656
987
867
336
606
768
923
203
106
754
837
231
463
582
725
94
233
232
534
427
317
384
939
77
916
880
306
386
631
792
472
666
290
317
166
683
767
671
724
134
847
678
210
893
486
954
408
666
928
663
375
758
866
663
235
838
96
220
366
240
9
781
594
119
276
400
459
99
758
599
737
908
750
377
868
482
273
730
946
43
178
433
319
782
320
453
169
66
846
346
12
701
545
631
24
577
92
55
372
365
850
894
577
362
266
584
435
746
940
38
997
611
425
74
338
8
592
948
524
257
689
326
111
659
933
478
310
363
966
266
465
89
809
474
81
980
376
897
113
324
259
305
749
569
437
244
778
319
720
966
978
826
379
794
764
341
91
253
812
83
334
462
468
252
968
367
594
171
215
30
116
982
198
803
452
697
135
218
930
134
583
262
793
947
437
954
521
495
120
650
390
879
540
465
305
624
643
275
552
279
588
791
130
803
102
945
120
460
983
999
138
446
137
891
314
463
271
574
186
797
340
602
612
201
742
81
108
214
378
351
988
634
607
367
158
670
323
272
185
811
32
27
633
333
730
681
474
662
98
768
274
125
886
853
377
602
476
917
546
280
511
171
834
228
603
946
232
592
689
920
909
521
872
55
991
344
908
24
382
961
310
533
303
82
469
881
471
998
82
11
987
135
593
646
382
505
216
166
161
290
129
641
293
19
962
137
801
805
914
349
638
640
696
876
914
899
816
270
831
21
81
751
646
464
831
301
24
239
650
94
389
168
678
794
973
280
449
962
762
257
117
653
907
728
706
25
711
556
176
102
699
833
967
392
998
995
924
238
919
799
902
26
686
354
714
809
576
798
717
250
834
728
190
108
126
950
827
342
955
905
718
448
811
147
492
819
657
716
722
415
671
253
670
43
490
596
834
271
674
867
958
493
723
163
394
632
636
390
801
373
79
890
488
690
654
255
64
334
843
145
903
979
778
787
35
707
98
877
806
753
423
406
932
762
31
607
549
687
985
597
237
697
724
292
685
70
378
452
641
118
73
671
571
594
516
556
650
959
715
430
647
480
352
983
62
361
611
652
950
826
488
463
335
628
648
11
891
655
678
371
384
461
136
727
307
164
331
462
647
26
8
213
982
308
115
417
461
139
583
532
642
347
291
697
705
758
98
336
411
26
398
695
654
847
424
52
449
223
13
219
206
440
971
980
562
729
360
443
157
661
399
797
748
877
810
36
400
714
567
418
369
766
390
380
574
308
84
429
97
931
49
97
386
645
657
985
176
154
491
392
986
161
121
416
869
768
470
775
924
715
958
172
450
385
11
497
393
716
799
299
521
502
852
242
618
393
664
69
161
74
33
510
861
183
969
391
541
618
749
564
32
324
975
812
134
254
809
463
936
653
573
469
809
881
914
895
656
875
695
342
949
165
697
333
926
239
715
630
37
536
611
458
586
425
301
177
202
510
196
982
436
344
214
479
821
351
481
977
536
140
598
263
709
186
864
367
919
511
974
635
442
418
335
614
297
941
794
62
51
452
108
461
617
614
117
193
406
315
740
984
628
745
658
845
677
168
125
817
522
926
840
491
33
259
52
691
478
672
743
209
514
769
91
379
350
138
979
934
143
270
993
754
98
479
166
179
438
136
384
655
750
937
132
197
377
50
82
183
762
110
638
149
697
281
461
155
595
185
728
81
427
919
377
887
707
702
94
849
286
236
438
846
95
915
402
798
709
61
361
738
120
63
505
425
922
925
118
120
982
460
944
2
512
115
1
150
60
772
996
564
710
328
935
111
25
436
886
729
635
717
183
425
612
536
435
739
12
800
155
64
787
825
94
737
138
599
228
429
581
168
233
769
5
638
431
305
661
4
887
864
70
441
698
224
588
489
199
92
387
503
66
902
793
10
44
195
301
31
465
621
768
339
418
407
924
194
441
602
988
480
924
629
740
254
52
592
778
882
92
261
684
777
29
614
581
652
946
301
449
494
837
844
567
207
782
504
730
298
959
739
131
627
534
463
114
40
758
676
566
348
747
781
825
587
295
421
905
170
576
494
586
930
10
866
499
672
283
820
242
28
474
40
744
577
911
271
369
899
107
812
757
658
810
665
898
463
585
276
735
55
779
701
924
313
785
692
315
395
158
77
89
782
580
96
867
970
985
322
387
124
473
225
734
364
571
687
788
492
641
714
76
832
91
172
809
723
600
473
628
780
735
554
505
204
653
997
797
822
525
508
310
630
714
325
429
401
35
658
206
218
22
387
49
195
142
663
150
892
308
684
875
612
730
524
887
255
213
539
959
237
925
478
869
565
211
446
634
718
426
292
733
853
119
485
543
910
13
701
160
754
431
38
370
480
315
461
358
993
809
584
72
851
960
413
400
975
200
437
469
732
300
433
245
938
155
320
832
844
228
803
741
875
982
257
466
453
18
712
265
147
237
535
778
939
613
904
608
795
780
828
475
899
198
926
15
199
641
375
690
674
384
550
281
750
50
333
71
436
90
361
822
793
137
346
130
120
414
328
533
389
598
835
40
172
578
678
306
420
894
742
5
404
951
398
466
383
795
631
469
561
254
991
173
121
173
670
442
111
830
651
724
115
255
913
658
383
58
991
873
202
472
80
83
704
892
320
754
163
583
954
691
188
412
597
545
931
519
962
830
366
168
908
198
252
845
16
556
894
322
736
438
519
252
72
2
147
322
920
595
15
609
475
389
951
865
74
752
516
591
39
676
926
533
32
516
141
944
904
150
453
924
242
482
341
886
288
46
614
135
761
315
370
118
848
189
454
355
327
672
436
150
294
997
413
257
234
25
768
367
135
203
40
53
358
617
798
736
901
192
562
659
173
775
800
453
652
515
866
55
599
518
942
802
24
754
110
633
696
447
890
152
151
715
0
563
777
452
871
301
724
678
210
78
526
618
119
814
145
566
476
602
299
337
523
564
923
804
734
901
992
27
632
96
276
824
487
714
817
299
252
384
768
488
79
533
35
548
79
54
633
122
982
683
313
492
736
390
473
941
646
566
37
15
731
974
934
247
322
906
52
258
134
751
640
97
437
966
938
423
749
694
625
438
25
97
802
333
729
10
971
879
509
108
904
73
819
11
495
946
332
17
805
120
102
945
752
753
379
601
478
205
382
179
339
58
884
124
322
61
218
941
821
245
128
360
970
56
599
676
653
984
774
991
639
301
579
77
197
234
183
240
311
126
994
961
564
606
739
447
120
726
402
916
572
447
626
524
297
588
89
450
920
320
257
672
950
289
549
202
249
844
0
855
155
158
205
635
765
439
535
822
855
139
584
655
381
932
588
147
822
142
43
711
778
917
242
962
756
550
573
555
18
605
930
47
100
383
806
995
270
154
285
755
253
609
756
730
560
71
883
720
209
989
336
624
728
713
497
454
823
865
530
767
877
597
198
988
937
90
118
798
997
873
595
948
738
342
23
517
434
304
334
520
736
653
832
79
347
168
85
146
65
282
55
726
455
238
497
451
955
397
945
880
988
402
969
616
232
265
819
239
346
696
793
203
705
257
885
65
145
507
10
771
980
473
452
728
373
27
785
677
543
935
297
26
17
653
828
572
632
264
641
544
262
134
586
319
614
917
427
248
232
991
687
101
538
809
477
248
348
585
666
734
930
942
47
440
59
919
500
360
325
387
888
82
323
178
75
396
843
453
849
362
99
722
111
499
237
248
541
354
502
737
287
696
153
262
303
438
543
81
758
787
61
263
119
350
565
23
36
859
211
927
864
275
513
205
399
570
390
397
111
719
92
559
412
335
271
181
992
446
102
829
467
813
95
549
171
306
594
197
95
898
648
862
883
564
951
893
909
942
870
59
152
514
61
564
105
993
435
968
693
793
550
480
156
241
842
373
61
846
402
580
208
157
264
992
59
127
245
670
316
187
222
128
204
651
973
184
156
42
718
688
784
462
337
688
253
984
867
541
942
837
867
685
594
716
92
553
204
310
953
577
389
475
751
138
882
967
712
756
837
923
252
137
304
143
771
13
128
457
662
285
292
644
355
377
425
679
201
607
1000
559
738
271
415
978
338
820
510
387
386
463
243
405
762
740
114
989
879
78
819
435
494
181
773
955
98
117
626
979
525
360
932
783
211
260
96
193
860
928
735
751
133
904
70
378
863
397
260
440
703
267
515
587
309
71
918
946
277
78
456
547
446
63
309
515
244
760
49
10
576
282
705
63
414
859
426
224
402
311
530
830
870
719
6
503
585
171
947
114
949
719
778
701
11
109
638
217
789
916
156
264
959
616
525
971
483
902
582
800
85
453
669
984
927
983
573
388
717
226
616
575
727
37
283
454
128
964
247
39
408
683
549
710
481
324
910
158
314
682
285
821
327
458
953
155
736
506
964
182
591
865
189
626
489
943
181
340
395
777
852
764
730
543
150
848
204
283
890
330
854
424
454
346
124
644
7
951
558
265
305
958
1
765
370
801
610
352
299
952
869
216
319
669
384
634
583
156
151
957
732
769
53
178
65
974
905
826
653
332
14
938
381
928
23
940
284
99
203
80
981
943
141
907
254
984
436
209
615
287
471
232
145
239
140
888
723
315
586
740
764
934
716
264
621
562
770
406
631
70
357
838
254
241
517
786
558
987
27
422
754
75
347
384
742
392
194
73
393
757
817
762
883
879
534
778
342
21
546
419
248
821
766
483
896
378
192
977
81
629
560
678
131
497
561
975
804
10
537
730
889
611
624
776
67
488
216
264
113
816
48
456
952
795
909
321
629
211
442
586
74
316
324
745
287
667
199
866
334
876
313
828
652
964
928
278
344
560
150
673
707
316
897
662
991
0
623
145
943
269
614
324
130
269
444
422
803
597
665
756
634
203
165
420
313
449
614
913
899
18
299
878
875
35
301
919
386
190
965
89
758
615
606
662
957
142
620
349
702
760
473
136
167
288
621
838
644
396
782
863
602
166
604
986
439
451
978
504
512
943
673
174
410
436
481
264
722
831
448
754
751
490
802
291
298
76
805
261
829
16
325
164
393
264
655
534
690
767
365
850
760
884
891
36
86
800
27
879
253
255
396
920
231
197
525
11
323
61
204
694
564
461
517
729
346
654
860
783
93
309
769
136
435
785
755
609
205
128
734
324
439
978
214
693
994
470
183
152
963
153
711
776
313
71
557
82
55
206
955
172
855
263
282
888
317
904
228
965
588
284
156
614
920
783
83
816
75
946
904
877
872
762
432
436
795
189
914
86
587
225
286
721
989
308
976
407
841
393
608
376
39
623
665
622
358
452
530
0
295
53
517
534
462
935
26
560
645
620
580
939
951
169
409
658
208
113
632
726
573
257
504
846
472
352
900
586
338
441
189
208
79
247
769
777
690
200
82
747
654
94
532
984
710
372
869
592
43
962
364
603
274
196
584
643
92
311
293
745
205
499
401
464
648
43
168
330
836
947
566
451
756
331
193
497
689
587
863
618
241
631
630
367
146
150
64
465
7
452
418
841
749
163
945
496
795
279
772
530
271
969
950
701
496
228
337
115
818
772
140
174
990
822
68
569
587
775
35
645
983
387
476
623
807
961
554
749
784
926
80
531
788
621
304
90
350
905
770
242
239
746
961
188
799
742
995
65
570
12
152
703
347
3
238
739
797
838
398
891
772
877
68
371
871
735
413
108
858
323
157
508
958
820
123
28
75
596
326
418
902
913
665
877
99
629
275
708
44
321
901
694
497
165
440
872
95
652
139
439
874
773
551
233
610
392
961
536
566
778
503
15
540
14
841
67
253
379
764
509
394
634
551
877
79
7
707
648
624
819
493
589
752
458
359
9
809
65
593
159
503
141
158
967
836
748
446
693
436
863
950
142
113
16
502
795
742
325
466
9
716
382
857
981
942
888
334
660
468
898
686
614
65
565
977
239
13
873
409
796
565
988
285
608
44
615
305
500
750
487
565
221
253
262
890
379
99
779
400
341
858
687
172
713
106
13
868
541
987
146
727
956
848
770
259
916
384
161
48
426
119
297
406
971
4
792
36
281
807
637
964
972
930
15
136
770
373
406
965
875
907
672
660
985
433
673
448
699
409
261
551
569
928
861
39
894
899
477
744
919
993
118
482
695
495
870
643
112
216
566
229
955
739
500
986
87
877
589
248
291
146
155
191
865
149
346
339
82
85
593
86
511
278
300
28
361
763
16
871
580
452
542
263
221
403
67
100
676
223
828
63
852
801
456
43
799
843
377
840
785
997
622
781
563
489
792
395
936
894
498
802
404
665
560
475
302
307
631
806
6
469
192
217
782
442
87
246
956
772
12
626
92
370
202
817
69
222
794
77
392
181
637
347
693
517
276
355
31
695
408
553
730
493
143
14
246
521
498
145
980
408
337
49
907
691
201
847
712
970
972
290
382
938
395
521
411
334
843
552
139
412
44
982
442
160
439
481
416
550
643
257
309
696
639
575
611
535
620
325
974
295
253
155
209
610
475
411
408
670
683
587
311
639
944
414
868
627
928
6
151
703
676
25
904
263
707
585
258
947
874
306
683
567
675
344
917
341
877
625
828
789
310
108
320
782
971
569
944
472
990
503
690
14
820
554
314
967
171
271
458
357
554
541
711
567
840
360
194
557
459
522
515
226
819
586
180
1
914
609
813
25
514
20
145
861
29
787
297
678
491
418
344
296
660
519
694
437
543
343
20
437
434
576
161
224
611
407
116
448
937
362
882
791
783
597
592
673
280
662
88
107
681
57
677
556
882
289
96
386
645
853
930
460
215
779
721
678
585
405
120
288
717
995
679
304
397
908
74
426
534
13
981
679
160
188
767
261
909
297
247
652
1
167
359
3
734
9
50
84
234
326
172
414
193
2
378
547
904
536
146
758
675
516
147
951
385
358
364
971
401
476
644
979
100
927
390
591
294
942
579
662
807
180
31
761
355
210
308
799
353
327
537
935
96
395
444
186
2
345
478
512
879
129
838
470
98
199
801
260
387
377
203
764
481
220
347
687
334
807
394
140
849
987
227
230
354
372
62
908
748
14
327
322
621
202
141
570
73
651
859
0
662
74
653
517
498
267
643
63
258
259
967
454
35
2
689
415
777
80
909
326
101
721
649
826
959
898
912
763
198
92
629
490
545
392
697
127
17
639
727
319
322
437
955
474
12
723
602
308
907
562
827
974
935
770
675
195
151
70
414
700
43
653
878
617
166
852
403
10
984
202
556
819
983
957
281
513
396
523
943
751
831
33
706
249
589
598
476
267
10
703
415
231
25
623
539
690
863
600
314
824
690
335
976
174
212
870
909
736
677
823
243
861
879
314
562
446
600
948
677
970
805
402
606
417
366
319
281
40
395
530
391
961
575
298
518
632
142
34
900
445
304
425
83
96
876
146
635
987
213
198
324
537
618
905
109
158
506
609
141
904
794
868
77
86
811
944
402
519
889
789
137
125
687
191
397
459
379
963
847
861
370
923
517
543
53
864
333
461
99
761
679
423
839
308
85
812
594
676
279
373
407
644
509
927
673
400
898
155
713
292
348
212
585
486
319
8
605
503
491
396
730
78
601
846
107
355
529
206
113
726
84
639
949
344
519
797
789
393
355
836
392
625
395
587
992
953
86
258
719
410
607
22
414
438
497
554
717
703
918
794
11
841
661
551
323
24
798
795
268
592
11
858
67
697
284
918
926
90
527
470
250
754
211
456
54
272
272
739
677
74
27
713
828
123
254
902
897
66
647
491
364
586
729
659
887
471
264
23
83
72
178
810
1000
210
322
700
785
616
256
42
684
48
504
761
680
162
675
84
469
951
960
925
390
341
518
589
302
688
398
547
995
254
820
379
636
148
343
244
911
704
546
533
699
277
674
122
561
810
539
979
297
452
573
106
561
286
173
424
17
196
695
767
883
913
847
643
274
242
499
234
606
856
384
71
716
559
11
86
864
18
442
318
151
756
171
433
229
397
35
548
617
203
705
0
444
821
273
919
320
335
980
154
514
125
924
709
208
183
841
64
819
436
796
168
271
683
605
966
619
783
210
490
356
16
782
114
546
93
22
508
968
231
61
380
512
985
946
855
901
601
633
834
265
371
273
156
974
619
785
753
753
927
894
25
272
341
392
554
653
920
324
281
869
63
922
360
251
660
532
269
778
620
650
655
994
481
464
661
436
156
397
55
921
307
222
673
203
754
181
364
647
892
249
367
471
23
373
161
213
772
472
592
364
121
999
492
922
31
392
829
495
326
628
903
713
685
108
952
874
814
414
963
907
511
676
351
59
730
504
638
309
870
632
919
881
225
139
948
570
131
932
820
581
599
788
655
253
530
97
346
218
714
679
61
116
824
147
170
125
965
625
869
798
919
901
89
360
232
452
204
999
606
200
488
905
532
789
826
438
924
443
213
468
430
52
819
143
414
622
665
700
657
671
362
221
313
58
812
612
738
774
412
845
962
648
443
675
359
271
700
359
969
133
760
613
296
410
98
186
751
577
625
874
305
131
108
746
655
764
427
943
94
655
253
278
204
510
9
23
36
301
864
603
705
393
268
946
986
20
374
977
338
541
551
587
953
382
635
23
349
101
556
322
139
290
941
90
167
423
834
676
109
579
636
969
320
652
499
482
271
827
481
168
510
808
924
700
754
998
40
310
609
554
187
14
474
205
161
891
585
810
524
691
254
158
86
803
446
771
255
651
327
870
633
275
901
404
503
196
74
433
3
766
638
912
850
387
823
325
814
189
436
626
194
564
792
629
966
641
25
276
466
668
741
580
132
818
594
148
432
580
199
972
415
979
260
983
589
741
400
626
582
628
480
46
104
8
18
728
735
334
738
199
645
469
579
205
754
481
566
648
189
44
670
442
575
840
935
903
647
627
417
247
325
493
205
859
192
766
536
643
17
479
711
749
317
100
700
864
813
854
997
706
243
874
687
502
886
736
313
899
378
231
725
347
864
137
400
288
189
255
867
49
712
1
327
765
350
396
463
889
766
414
223
188
879
221
650
578
533
121
463
563
777
440
749
524
573
74
572
524
1000
742
278
152
553
808
519
344
220
240
890
573
59
706
887
57
540
51
101
361
829
317
698
78
566
888
528
31
287
729
3
491
868
611
919
670
589
674
287
792
787
164
286
970
665
686
864
129
406
833
756
985
732
432
976
687
48
786
119
378
564
580
302
52
639
360
55
381
739
35
190
936
33
91
872
121
875
781
72
400
92
97
67
578
469
42
482
905
327
622
449
908
597
55
733
120
979
216
385
569
15
26
459
738
473
449
5
723
673
226
68
206
143
426
248
345
45
729
279
501
115
815
68
356
657
44
390
113
350
834
365
212
225
149
940
363
120
315
665
31
114
909
285
88
419
823
691
488
513
896
72
977
620
165
835
62
750
115
276
257
996
818
193
185
50
836
823
353
77
216
992
456
145
782
159
916
897
542
970
256
211
581
515
776
690
695
259
918
741
477
491
128
423
8
944
812
929
405
187
441
557
219
699
926
643
277
894
639
623
396
281
135
638
137
623
890
201
953
164
737
432
955
691
251
102
96
433
998
299
390
657
519
875
157
321
865
991
170
680
367
125
529
30
209
778
235
945
658
407
41
246
45
654
239
382
874
54
509
23
489
345
129
723
570
985
448
117
23
562
456
910
85
950
175
247
947
31
901
721
436
968
294
156
767
37
488
580
192
821
689
690
907
293
148
599
330
48
476
385
492
704
636
560
175
849
316
287
831
681
923
171
727
836
612
43
189
624
33
721
519
19
78
655
292
946
854
932
618
132
505
130
32
898
346
614
710
449
179
673
872
462
947
128
638
540
742
146
932
534
197
633
879
343
537
257
218
872
461
134
926
649
889
956
591
826
779
391
844
771
184
914
320
421
217
791
353
79
490
34
221
716
393
636
590
981
109
206
726
93
688
644
630
891
787
146
471
9
15
478
601
501
494
86
380
88
503
513
903
422
319
16
788
455
33
382
221
111
759
309
345
797
939
152
759
705
692
672
565
529
903
942
870
406
489
756
302
848
477
752
192
149
697
251
491
397
691
414
865
719
230
182
673
21
7
953
577
721
42
335
204
58
770
678
628
24
640
397
935
485
672
690
641
712
763
905
181
794
676
982
935
852
103
442
159
270
136
426
183
114
901
503
301
166
520
250
909
454
908
820
861
263
176
655
600
640
716
319
762
759
924
309
941
18
105
424
937
10
892
769
246
224
314
497
278
783
705
546
600
142
787
310
193
56
856
868
565
678
202
294
935
612
255
278
122
220
736
673
567
584
581
420
599
730
306
279
504
226
664
807
397
188
797
436
360
315
297
336
349
229
12
922
413
49
363
819
666
260
248
52
848
283
489
863
706
69
644
891
734
637
436
671
929
284
571
754
70
386
29
688
635
490
497
574
115
332
985
210
215
920
620
13
722
474
945
917
374
549
245
817
138
800
346
224
727
832
659
703
672
587
949
827
492
147
128
276
687
918
674
113
108
109
566
809
415
657
322
492
453
133
742
729
875
802
681
161
70
890
9
467
343
415
873
374
175
499
298
720
945
190
481
983
295
346
262
490
1
475
1000
572
699
687
230
41
197
577
439
128
269
423
369
268
123
677
526
200
493
347
592
767
646
214
204
608
414
772
219
136
141
871
582
731
427
560
955
693
206
87
683
179
679
858
476
841
527
416
337
82
629
43
775
704
258
925
280
551
715
83
554
126
990
253
963
619
430
571
230
37
749
244
631
586
610
97
178
540
864
647
882
31
553
245
290
411
756
112
427
586
454
256
47
135
798
669
194
772
935
504
31
535
971
844
136
348
511
950
322
423
393
539
932
69
173
0
532
27
445
285
175
159
468
456
94
726
892
610
138
157
0
778
640
593
430
104
586
645
306
536
235
496
900
57
939
245
463
18
548
361
820
407
823
193
359
824
656
347
476
186
268
140
201
814
840
327
493
275
440
722
14
129
233
979
961
943
887
32
240
614
321
900
157
492
34
299
606
937
479
131
16
522
234
508
837
634
614
102
796
416
131
845
13
407
110
831
627
657
670
588
395
235
36
27
717
879
564
571
871
201
464
451
231
506
154
448
452
645
951
360
135
793
830
84
859
821
520
269
438
958
594
859
814
474
224
976
283
862
28
70
879
243
492
919
391
565
458
91
839
984
934
758
992
224
281
232
398
147
696
582
559
53
801
321
576
5
387
125
925
191
292
983
415
44
964
458
950
111
334
112
845
644
317
429
826
925
287
409
188
996
607
684
209
234
633
278
410
338
703
812
772
123
723
250
635
414
686
88
499
406
825
940
626
941
711
433
185
578
646
816
319
7
266
598
306
894
624
752
494
967
144
298
19
712
725
405
522
746
274
832
886
230
917
14
634
520
174
820
460
987
235
270
522
943
25
173
601
337
911
588
2
513
700
89
424
19
247
9
588
430
520
674
669
558
174
524
659
71
971
227
507
372
741
24
288
967
303
64
669
700
348
825
612
814
156
839
461
874
410
943
641
169
772
110
622
27
63
784
361
318
739
792
675
369
532
562
25
146
463
212
532
950
934
17
274
129
762
83
564
426
344
158
517
406
26
310
994
906
802
55
887
409
822
604
642
221
307
55
574
716
271
416
433
474
540
921
999
542
101
180
555
156
625
450
453
188
975
362
611
8
715
440
36
285
740
238
460
495
276
61
240
777
341
863
25
410
662
377
23
336
900
413
437
501
189
746
904
801
834
40
542
135
599
34
832
790
987
11
131
122
716
269
579
724
645
937
888
228
463
601
455
464
48
409
45
599
36
429
998
864
463
976
210
195
221
147
842
711
321
535
905
94
215
12
195
107
770
610
8
915
861
57
518
149
727
271
731
440
303
429
284
532
898
708
843
362
166
279
830
876
754
521
694
396
720
548
146
704
33
821
4
64
969
42
488
614
611
735
995
802
222
937
669
421
729
345
581
789
325
504
331
899
62
57
65
274
655
153
139
796
92
353
711
760
429
694
343
397
307
199
10
778
258
71
324
344
89
409
586
857
150
8
231
409
500
569
353
538
476
807
147
88
261
869
251
438
536
974
843
449
906
728
723
524
522
109
76
63
502
905
987
523
888
466
160
545
909
677
188
963
260
91
782
305
629
284
348
804
479
340
441
355
67
635
191
276
435
182
761
490
690
116
368
135
595
525
131
259
905
305
453
539
232
660
535
713
511
846
49
411
667
262
834
384
876
787
66
886
859
602
937
184
135
634
342
342
411
921
939
766
547
6
312
898
927
970
882
562
656
327
950
702
153
819
278
399
863
807
922
541
883
253
304
108
600
919
801
242
851
204
604
782
631
647
664
154
903
438
704
575
260
781
639
390
467
35
897
388
214
448
883
715
527
629
794
585
659
366
330
424
52
622
320
233
240
677
941
947
537
673
223
417
489
817
233
814
587
209
145
936
19
355
378
975
445
7
49
490
504
86
439
861
743
784
208
226
35
842
39
660
691
146
951
721
364
289
56
489
542
469
951
981
469
437
476
641
402
911
654
855
732
859
651
842
745
92
688
1
532
750
810
805
389
223
21
921
824
345
628
620
923
148
130
133
948
154
732
436
516
965
985
619
191
589
276
104
629
155
494
547
821
401
994
441
566
626
115
324
812
494
285
864
589
720
87
946
43
561
209
665
722
651
643
394
523
147
523
267
645
122
918
1000
957
914
509
933
14
721
328
760
680
623
12
780
530
92
149
601
140
365
663
461
844
735
116
547
37
563
714
630
703
626
870
478
188
928
809
605
242
145
150
816
383
21
429
765
941
255
295
666
680
528
268
766
850
3
904
846
989
779
970
365
133
348
30
338
430
960
524
197
216
716
125
884
690
272
801
561
954
521
651
52
775
699
13
288
520
364
538
183
110
485
692
901
224
735
159
562
685
552
768
294
736
105
367
44
692
240
820
856
268
730
157
370
835
508
915
676
811
722
270
875
409
449
626
937
104
445
893
698
526
722
818
266
8
493
263
504
48
635
940
270
39
653
606
15
848
932
109
674
574
86
216
71
146
453
342
600
900
600
869
413
638
630
361
403
893
773
246
518
293
279
341
194
240
998
133
518
623
127
39
837
96
205
555
398
500
729
670
224
678
962
74
742
596
886
553
401
93
349
713
119
769
859
488
799
167
317
441
586
16
273
815
711
750
199
369
764
432
635
14
480
533
600
985
177
267
963
264
310
379
308
599
787
368
162
414
617
835
28
560
202
471
654
891
835
403
678
515
190
869
957
526
517
113
937
303
417
595
400
684
845
366
689
251
613
541
718
734
990
533
330
125
690
469
933
544
769
640
857
314
39
808
260
460
630
536
539
560
504
975
775
689
993
936
59
312
520
592
460
971
573
858
267
938
41
427
600
636
100
984
250
111
6
95
681
44
553
969
135
91
535
881
741
451
22
79
174
593
733
724
393
162
386
75
550
950
347
531
747
788
377
480
660
794
821
379
23
310
717
973
985
949
354
519
615
776
429
322
383
911
644
885
578
359
314
86
370
31
947
623
376
612
979
330
598
36
510
302
1
256
540
808
819
507
209
896
857
552
839
759
777
56
600
102
487
671
923
320
119
882
448
645
572
494
737
778
885
815
295
144
444
117
314
322
288
292
672
970
129
916
891
716
765
62
347
802
1
312
620
799
907
437
407
404
320
933
481
283
532
312
610
605
503
869
945
990
525
773
6
807
355
349
69
463
355
575
807
964
229
564
864
722
454
298
154
568
465
221
366
674
531
47
129
277
888
234
611
118
378
911
592
948
325
852
999
208
982
914
928
728
158
638
350
809
354
33
263
97
910
887
673
397
229
674
395
490
312
963
855
782
378
107
177
933
135
10
964
609
831
531
996
2
420
876
62
277
734
510
354
931
242
968
745
818
68
714
202
653
864
814
307
398
635
551
651
967
288
99
898
516
455
193
571
959
172
11
704
291
107
98
840
824
66
3
536
742
167
563
354
238
147
6
537
370
296
549
731
323
105
725
31
8
47
333
390
719
208
156
28
732
234
714
16
960
644
783
181
567
546
900
966
667
971
82
93
909
162
250
838
888
854
108
92
183
309
68
811
667
930
532
733
464
843
584
776
604
728
488
477
747
583
295
255
481
518
246
559
320
391
636
975
603
502
443
535
79
245
679
400
823
331
659
467
948
408
366
921
16
374
807
82
420
816
552
799
792
524
85
931
723
487
255
745
459
367
646
668
14
807
187
861
750
797
460
335
120
315
200
260
882
780
314
156
258
738
264
561
290
502
946
414
258
265
893
860
779
140
263
305
330
938
500
163
578
318
323
307
772
852
112
397
294
168
368
332
829
327
438
513
376
162
336
232
911
693
623
532
867
283
896
299
562
933
546
129
864
971
12
51
259
162
632
371
655
779
570
145
345
282
1
289
677
394
718
656
70
276
307
874
976
700
150
65
985
724
423
960
894
558
392
507
71
221
524
761
694
665
520
635
224
599
843
865
779
102
434
915
372
965
290
485
470
491
544
963
620
611
278
382
233
19
835
57
244
320
76
306
727
811
320
456
770
841
229
1
516
539
87
92
439
893
221
443
996
129
580
917
569
970
579
390
450
437
238
361
970
672
734
557
449
943
26
56
354
403
220
7
44
219
652
192
422
896
325
509
509
940
510
373
705
530
666
30
396
139
45
256
895
388
401
57
748
663
907
21
387
866
395
866
188
297
505
412
358
452
376
679
914
202
16
737
560
148
619
911
883
789
999
646
849
420
755
797
944
530
276
238
168
564
415
695
596
365
975
596
667
176
158
172
484
434
80
384
949
46
800
149
22
711
948
160
152
478
428
987
511
747
493
700
947
939
657
352
549
761
638
738
358
675
46
840
858
280
197
14
708
284
640
512
539
424
127
381
183
158
59
30
395
467
698
269
879
763
412
764
689
201
270
144
874
917
14
282
440
441
276
505
747
273
927
390
56
907
215
64
80
981
580
633
562
46
382
390
638
420
285
964
422
434
605
353
902
631
671
850
50
432
439
382
712
561
502
711
498
25
433
569
603
886
826
703
896
714
285
739
435
46
24
342
114
318
353
866
993
20
13
321
837
782
837
848
676
173
71
826
893
906
250
665
83
273
466
950
99
939
770
455
910
709
656
746
829
388
660
323
789
521
192
236
524
396
859
611
607
655
269
177
797
295
243
530
640
434
66
816
333
313
34
699
950
100
660
49
767
624
174
820
576
516
206
530
75
532
380
510
900
3
94
36
417
74
214
899
804
919
211
5
166
796
599
222
317
530
605
517
570
550
560
488
125
543
853
800
528
474
692
390
435
121
802
487
35
673
910
468
368
113
428
165
571
486
507
369
113
201
755
150
50
684
406
495
760
646
296
672
165
105
234
58
126
875
712
181
127
980
535
990
395
974
928
36
154
400
133
729
96
839
669
572
617
977
510
592
987
961
300
692
903
701
580
755
586
625
418
849
23
442
268
745
355
0
831
973
289
784
706
147
981
746
627
872
8
86
625
638
509
161
690
299
763
420
516
588
657
335
832
153
133
528
421
896
377
695
403
816
834
763
867
712
940
480
179
807
275
293
466
117
951
292
279
200
759
285
971
143
394
763
537
800
559
614
241
904
854
373
287
685
591
704
175
128
515
687
207
817
176
431
981
646
550
880
728
453
596
293
822
931
616
20
428
969
208
133
36
147
561
46
297
511
80
75
389
415
420
127
969
223
725
487
461
167
413
820
493
85
808
167
794
859
731
868
180
275
944
663
716
844
499
678
92
77
183
803
5
824
981
170
875
47
349
263
17
682
143
670
815
619
587
904
558
858
184
671
536
400
979
140
355
374
868
428
996
901
485
310
238
129
337
443
273
56
18
11
796
317
801
157
330
323
580
479
631
972
806
709
475
850
689
14
693
247
801
716
51
266
463
885
373
639
22
957
329
145
373
607
382
357
528
241
234
620
107
396
569
58
797
859
250
730
239
980
807
279
589
60
648
409
557
682
967
106
8
413
285
171
587
259
621
230
271
126
953
437
623
997
792
169
442
280
607
646
178
149
775
879
878
21
941
75
35
301
666
964
368
142
798
149
708
83
153
576
778
254
584
823
648
267
77
501
662
630
927
561
40
201
21
111
80
162
728
295
873
928
576
547
658
253
417
567
317
839
366
349
695
469
481
346
878
409
547
991
814
983
791
686
564
773
435
822
471
36
9
503
154
136
595
749
42
750
805
171
574
1
284
351
934
688
248
64
14
419
249
632
920
458
851
780
509
626
217
148
768
815
381
758
27
224
804
896
184
653
595
484
458
136
787
327
540
82
192
939
881
159
557
394
545
116
681
531
857
403
222
793
332
293
282
465
480
939
629
234
930
87
290
51
645
678
604
613
388
345
313
40
550
761
931
59
839
587
446
303
161
304
72
894
756
794
885
119
537
879
683
427
61
448
571
623
989
112
241
82
336
520
150
423
188
430
338
188
404
144
889
717
84
835
341
611
822
25
263
265
229
977
481
958
370
704
505
664
903
251
441
270
599
758
894
453
504
312
655
431
502
589
811
881
734
848
391
973
116
944
974
242
412
782
204
21
633
558
648
228
629
786
138
364
713
519
895
141
193
518
561
651
410
469
376
658
200
881
215
812
291
82
621
743
302
263
127
200
111
429
657
719
667
161
126
49
191
76
480
102
611
729
4
942
141
319
467
23
748
147
106
774
489
851
909
860
960
289
973
274
995
511
758
559
788
281
462
415
364
557
946
785
140
415
133
497
438
265
334
973
195
818
484
332
203
214
566
43
452
487
676
249
286
214
185
860
750
281
373
104
389
170
267
319
223
791
656
265
683
590
67
125
371
980
1000
2
854
186
903
310
120
241
398
39
82
445
927
437
919
550
766
828
262
66
986
80
378
696
313
108
185
694
134
597
799
565
946
13
738
39
805
14
761
376
697
103
539
565
875
988
465
154
834
964
561
239
729
353
615
321
917
746
287
774
323
105
841
623
417
314
207
818
255
74
357
544
127
613
752
968
327
860
78
654
516
634
416
634
582
703
546
313
88
221
120
36
839
855
220
560
135
684
840
114
29
233
416
81
288
520
678
862
403
416
105
614
572
680
266
20
724
740
229
939
682
798
436
20
123
768
687
165
927
961
851
716
389
647
994
105
508
963
816
920
543
640
591
907
997
487
814
69
825
898
564
832
813
871
167
109
355
157
454
64
11
636
166
46
611
501
937
309
362
621
868
242
439
124
738
214
958
797
833
930
626
602
799
828
190
691
882
316
757
896
543
50
780
366
619
808
197
336
726
272
261
208
24
585
544
134
896
463
370
749
378
146
604
605
574
647
626
428
766
152
443
526
337
671
351
380
618
258
699
760
902
366
85
833
495
349
40
173
942
674
927
826
969
98
211
278
368
535
323
87
439
363
733
746
803
956
550
297
966
690
581
157
649
467
910
837
593
625
696
187
355
148
802
210
288
102
315
610
484
813
472
893
852
224
715
683
524
709
291
855
788
359
434
409
783
957
436
584
616
865
997
891
168
904
314
637
977
262
887
856
591
576
953
785
324
171
91
990
996
139
583
241
557
816
147
230
679
708
469
227
163
293
543
17
263
185
735
83
991
72
624
54
461
198
469
60
23
939
959
777
788
565
931
223
698
307
633
823
596
684
421
98
497
217
206
322
262
597
498
139
761
665
940
857
261
668
485
855
827
100
7
54
963
309
119
316
101
533
64
446
608
943
735
848
993
295
593
119
970
343
881
809
579
423
89
754
558
750
841
606
809
82
889
159
84
689
924
205
477
513
98
115
256
699
709
742
881
957
477
712
285
472
316
315
540
726
963
688
45
467
134
874
67
673
270
594
835
619
482
167
418
624
862
891
319
917
419
236
655
423
793
638
181
308
648
548
453
52
526
910
273
450
255
393
963
806
637
158
479
656
512
136
564
948
854
97
335
900
477
442
588
718
780
149
649
196
333
438
199
537
36
822
43
698
731
113
989
864
861
286
837
783
283
979
722
245
610
119
775
396
4
727
939
910
493
662
22
100
939
983
477
701
42
574
152
768
266
743
713
138
687
52
921
157
764
254
286
730
574
16
681
788
567
12
200
830
518
574
739
777
18
265
238
686
20
763
971
381
993
952
992
814
951
486
529
933
450
560
471
431
608
120
400
91
461
341
996
371
396
510
944
988
844
975
923
188
285
613
246
386
40
775
28
68
262
902
68
6
973
144
373
911
551
866
635
85
885
644
496
910
531
579
530
568
256
536
99
68
45
110
166
798
246
743
930
230
586
327
63
905
586
649
101
172
119
193
199
232
695
61
231
292
0
530
956
227
121
923
577
334
137
177
873
768
109
818
828
217
145
739
278
983
65
751
718
506
729
920
812
784
289
606
886
896
115
40
374
314
818
913
946
650
174
921
715
971
187
497
751
979
290
174
678
269
833
264
118
650
964
515
391
131
209
130
491
560
138
503
263
581
298
38
778
51
76
258
840
72
403
879
515
632
271
569
221
150
203
799
105
199
103
775
640
101
358
950
946
658
478
510
352
622
720
39
762
889
649
264
104
973
232
394
349
722
712
464
553
750
377
672
543
270
437
1000
682
146
154
40
992
597
166
88
633
346
576
893
42
95
4
235
856
952
83
923
481
916
45
801
518
864
175
634
100
592
920
634
172
245
695
535
601
699
475
639
12
223
245
157
632
155
419
703
75
77
913
145
204
362
640
740
954
728
889
524
393
469
506
977
235
930
139
922
837
552
999
90
9
7
573
222
348
152
723
678
875
489
583
286
541
505
424
534
950
825
958
276
472
41
89
875
719
26
41
632
838
84
800
802
696
244
600
757
128
790
275
25
393
82
303
738
870
289
222
723
556
778
911
257
490
557
361
881
330
240
123
614
0
982
204
254
535
113
551
410
303
888
390
14
607
267
467
459
320
599
509
976
264
434
458
728
117
106
620
453
720
530
152
579
460
353
653
739
273
474
512
440
187
410
603
650
276
882
40
257
776
14
624
946
924
174
589
958
701
81
910
43
94
469
14
930
837
165
909
764
301
255
822
645
193
739
546
592
430
105
311
284
11
194
708
885
713
214
748
96
571
849
799
35
983
379
810
638
732
777
665
478
722
150
34
535
111
357
318
114
467
70
189
363
499
694
96
603
185
183
600
208
60
249
74
568
181
40
671
30
282
701
543
670
446
194
358
328
387
599
936
463
509
353
323
967
213
527
973
343
375
413
112
222
108
889
110
475
137
438
862
976
237
736
839
479
459
661
106
64
679
502
568
218
770
749
310
566
833
617
109
532
308
816
635
229
680
394
171
318
752
719
323
174
13
373
14
833
257
548
963
974
512
597
832
300
480
187
631
830
11
707
805
978
498
153
396
526
272
74
120
24
266
744
721
191
21
783
996
309
694
376
690
832
274
659
696
239
110
13
659
531
168
712
675
802
36
462
452
260
828
1
677
37
891
579
797
475
104
749
355
22
414
325
82
861
663
883
79
175
333
527
710
674
179
209
820
810
150
518
358
106
931
569
104
119
714
828
430
445
7
638
746
555
684
883
431
186
290
374
357
83
20
436
79
379
427
257
989
919
47
487
15
667
575
692
173
22
40
261
454
426
620
830
83
212
557
28
879
391
735
755
157
524
132
378
125
831
687
759
622
39
330
593
368
207
987
619
511
763
172
683
78
445
287
333
57
646
166
329
767
891
358
130
449
593
151
824
878
520
610
133
459
731
497
249
119
77
44
26
292
606
225
695
547
663
612
202
416
906
767
601
430
215
295
970
651
213
833
947
711
84
754
257
752
410
836
915
714
398
506
772
116
851
251
686
306
737
583
970
883
396
853
827
845
166
750
547
913
282
940
464
499
100
853
338
763
563
129
451
177
533
34
748
975
741
730
144
716
10
777
568
508
200
977
156
662
818
896
548
703
625
316
506
911
999
532
999
941
475
974
178
954
988
138
476
186
684
643
50
477
602
578
670
964
928
661
519
837
491
564
84
6
940
19
1
508
363
103
497
788
418
386
285
854
781
159
436
868
321
648
645
45
639
830
167
201
783
114
602
341
791
530
661
515
552
114
571
904
814
201
296
77
392
467
821
429
935
694
35
308
766
585
798
654
952
61
664
814
767
30
16
461
375
777
430
19
118
536
477
923
936
498
652
248
584
350
463
93
907
381
886
863
376
130
391
145
454
268
496
631
955
475
700
710
278
161
695
596
745
71
219
41
47
754
748
68
13
325
272
640
406
577
104
684
732
549
133
284
17
725
450
948
831
469
844
250
344
778
18
764
431
922
988
941
724
615
346
700
674
939
605
798
134
342
421
686
398
454
625
55
666
103
313
258
337
996
322
924
719
270
454
139
766
458
305
153
391
348
931
549
114
493
785
328
702
579
402
253
855
193
924
546
752
422
646
737
686
809
792
802
569
896
228
582
751
410
983
90
689
344
277
223
245
842
35
486
971
561
9
281
128
294
718
245
337
947
926
274
877
138
540
910
404
787
380
601
202
143
560
173
265
516
34
941
126
223
4
489
754
59
284
790
891
460
103
184
841
161
324
793
843
505
824
61
711
13
191
973
5
871
583
537
470
0
900
130
618
331
553
850
234
967
262
156
720
67
832
982
603
417
452
773
735
922
803
875
523
691
945
971
993
695
698
890
520
167
474
595
72
406
780
257
432
973
584
561
370
318
742
665
267
367
705
865
171
244
282
596
837
360
379
461
716
648
657
948
742
304
231
227
35
104
13
679
75
166
381
332
570
73
150
972
558
137
231
472
142
904
736
348
499
934
416
121
596
882
121
747
810
521
481
95
802
88
616
101
99
679
287
491
194
871
240
506
21
93
570
191
221
280
678
309
745
837
72
508
327
834
129
133
689
738
886
503
36
102
674
821
384
321
453
583
259
314
518
986
65
570
321
850
907
474
171
148
822
277
872
21
715
38
163
939
529
550
943
185
16
800
251
803
511
71
608
976
370
657
827
147
523
464
636
372
340
933
311
213
803
105
605
159
48
734
128
813
471
568
61
672
720
55
961
640
678
276
622
611
885
835
303
860
682
73
650
118
47
529
647
116
618
166
675
534
97
843
150
540
118
9
131
929
658
392
885
588
724
905
117
557
0
73
636
576
868
157
617
110
152
127
284
589
862
414
684
83
227
468
541
834
326
480
474
671
628
985
710
972
253
876
44
116
865
160
534
401
307
780
879
464
301
898
752
952
418
792
699
32
496
885
547
54
280
311
34
182
295
257
940
332
864
849
825
823
433
595
527
477
432
270
7
935
482
176
503
578
678
255
594
937
840
54
646
739
4
212
911
816
568
930
58
712
433
951
265
674
728
758
314
581
354
825
10
657
747
551
481
812
444
764
167
992
420
343
932
472
369
699
125
555
851
991
169
313
446
210
373
883
201
757
133
785
461
504
978
909
645
514
516
738
631
390
542
628
433
942
305
169
515
878
264
428
587
101
30
844
515
257
424
705
6
918
976
299
295
317
435
336
803
276
759
461
382
945
906
643
62
211
619
271
317
22
723
803
503
753
638
373
488
265
656
10
479
963
676
840
997
668
890
926
268
867
40
575
155
841
540
869
137
622
33
357
812
474
287
449
22
314
138
810
507
752
810
559
830
504
164
461
636
477
91
644
661
309
905
307
623
153
149
976
467
116
139
789
553
10
100
190
307
797
259
961
878
344
135
583
620
170
867
887
174
365
165
546
285
821
374
65
896
501
630
903
346
317
495
853
679
396
90
82
354
792
19
536
246
395
650
13
313
919
596
986
108
574
732
979
406
492
918
816
896
473
290
37
486
620
715
595
404
737
569
414
4
945
308
361
996
383
324
678
703
488
521
393
363
502
381
444
429
677
308
261
376
263
678
285
25
481
417
831
918
814
849
359
64
812
660
8
355
517
232
163
844
718
510
220
178
255
596
373
216
348
928
746
545
822
205
716
302
252
258
196
500
673
614
983
152
973
184
80
442
187
656
927
829
366
865
444
758
915
281
114
307
530
381
339
387
994
46
164
756
33
177
668
346
264
28
651
393
959
796
914
169
769
159
125
885
10
539
131
270
482
140
157
677
280
666
813
237
503
731
670
919
845
816
971
110
68
895
412
149
230
51
593
967
860
664
217
499
95
693
695
319
464
496
218
299
406
309
819
954
316
655
179
900
100
958
387
79
38
859
545
445
208
308
297
745
382
85
63
427
404
714
700
600
481
228
327
307
325
515
315
852
523
289
566
434
918
839
52
904
416
111
327
738
872
85
804
728
374
545
857
972
883
630
609
327
160
182
265
879
675
403
108
962
399
778
116
808
234
435
335
936
82
122
174
42
501
439
34
819
60
136
492
483
936
874
427
678
747
959
98
303
476
407
742
987
593
46
750
435
72
659
479
385
292
306
755
566
295
190
866
650
830
469
583
559
15
576
373
106
577
233
951
797
527
471
20
951
59
521
231
861
419
7
945
557
173
0
184
912
934
488
573
850
564
541
35
580
849
657
498
544
454
653
488
511
280
784
872
895
479
985
622
617
543
123
51
48
173
261
596
159
93
225
958
809
346
720
35
233
133
39
714
632
862
275
428
416
179
609
762
543
912
225
359
842
843
537
645
994
404
920
667
900
148
754
399
366
517
880
687
744
372
285
195
98
275
98
136
225
891
339
937
185
464
91
679
722
55
504
528
443
462
742
64
214
659
643
323
763
814
76
530
630
702
736
895
597
775
902
822
296
209
442
72
979
172
345
544
614
304
239
43
184
199
552
539
670
573
888
188
250
1000
351
565
12
93
935
989
519
192
614
248
727
105
581
773
762
368
321
460
806
479
2
624
489
594
717
466
13
804
511
89
77
168
441
305
89
203
261
828
713
572
290
190
518
806
665
243
623
186
141
161
896
720
608
966
872
194
874
382
705
503
924
17
354
380
806
373
623
806
896
553
38
263
517
599
706
553
945
630
87
452
507
160
902
470
498
931
561
746
620
692
5
729
973
695
314
375
201
63
278
81
903
775
401
625
334
881
785
294
291
230
666
28
793
184
627
647
402
875
222
353
344
179
844
617
473
417
210
742
542
838
841
559
506
807
944
392
778
892
601
286
365
990
615
97
148
211
799
366
553
67
873
835
430
156
475
800
862
427
390
943
616
956
172
435
493
218
350
510
259
943
883
546
141
662
42
457
299
531
15
307
425
241
266
962
6
67
853
69
101
818
711
494
746
827
899
849
929
470
567
22
170
336
522
861
955
510
536
145
478
799
702
334
849
968
677
940
781
595
51
819
10
466
928
84
779
174
528
476
577
875
266
696
527
65
308
536
396
157
554
128
863
147
919
960
762
269
351
407
388
420
118
494
8
84
452
878
825
241
167
638
317
378
586
181
213
91
576
317
934
84
423
676
567
853
342
9
234
856
279
618
213
235
224
339
959
240
522
521
786
43
458
594
175
707
383
828
108
248
266
303
211
258
412
619
511
422
642
482
403
414
48
313
867
138
162
642
605
117
369
198
497
332
213
925
529
92
571
663
811
727
10
849
910
325
849
286
853
412
620
769
436
400
310
977
570
182
302
98
336
11
726
620
634
521
123
852
916
726
384
446
381
370
596
892
594
13
124
37
634
56
905
768
904
412
440
69
373
25
912
576
557
695
345
256
9
118
692
318
369
870
643
78
86
639
814
101
179
472
481
437
43
177
784
639
721
129
942
828
633
770
237
210
81
895
93
772
713
576
267
279
232
640
500
130
716
46
537
380
755
8
684
604
246
43
534
911
562
645
997
296
775
287
279
919
677
244
900
125
937
663
750
705
0
359
469
280
234
109
738
439
448
245
209
164
295
681
566
623
640
900
135
555
493
250
840
40
613
126
224
289
497
171
130
139
703
999
265
633
966
553
642
237
949
264
827
384
71
639
529
524
360
145
606
372
840
192
220
459
133
735
70
161
230
726
78
89
462
545
731
408
396
850
199
413
748
545
488
50
148
917
183
867
998
668
910
443
387
710
493
258
442
367
587
812
55
560
848
380
286
872
792
851
762
356
474
460
967
694
973
481
871
172
746
324
728
800
940
442
59
803
567
928
241
955
674
87
681
922
387
240
508
374
148
48
535
144
939
64
241
955
927
852
819
626
943
58
130
729
354
352
362
254
537
831
544
298
587
430
657
69
717
563
653
276
210
426
194
670
734
856
807
229
449
136
411
775
10
330
153
683
470
840
81
369
735
302
283
168
72
838
770
559
880
618
51
945
629
667
622
370
256
326
536
925
614
513
796
776
156
672
889
188
575
631
275
572
38
322
57
768
936
850
689
928
684
147
811
684
814
70
856
761
149
89
965
84
852
775
245
861
852
373
783
756
633
230
304
764
625
641
521
864
350
990
455
562
335
710
725
587
167
211
41
740
893
670
224
572
167
203
279
123
173
384
564
626
286
39
73
434
70
502
346
887
371
458
410
869
515
688
624
419
185
473
150
205
841
736
608
282
245
879
121
145
426
41
528
722
276
677
505
10
879
961
914
8
641
695
741
468
241
673
287
202
426
972
662
619
643
384
420
479
636
920
232
720
473
298
749
143
301
456
302
870
546
577
413
912
187
519
136
718
331
444
567
581
62
830
956
698
534
435
451
529
705
366
178
692
751
457
474
116
876
537
873
209
28
924
22
239
986
84
231
270
233
470
577
552
33
682
44
30
869
20
239
629
911
322
910
883
512
580
770
405
593
989
973
777
47
92
433
917
129
927
251
513
41
798
816
194
225
589
807
676
830
199
346
548
357
401
844
157
559
519
224
532
51
479
501
17
140
255
985
785
644
463
115
177
642
6
655
728
770
924
558
723
454
70
447
817
399
296
755
714
337
978
266
146
938
190
71
143
3
695
953
488
60
597
835
33
860
20
695
952
932
272
702
616
459
384
334
714
28
964
633
127
181
503
711
629
179
901
368
305
424
102
497
322
260
999
904
363
485
800
294
651
711
885
281
432
90
538
194
256
545
658
487
311
869
583
344
91
346
948
250
477
978
189
37
625
543
239
575
135
269
689
907
417
662
10
144
946
406
946
413
338
447
905
743
175
590
841
868
305
892
353
256
638
304
535
854
560
500
530
870
322
317
241
16
563
967
716
109
500
135
225
534
81
345
375
161
300
731
451
146
739
347
86
742
673
380
192
509
29
216
327
538
980
943
622
546
836
147
967
734
738
974
51
219
231
995
1
38
547
942
417
502
421
989
945
382
53
462
959
705
430
632
261
420
258
72
866
20
472
877
156
781
584
376
648
557
681
112
141
405
292
370
596
411
171
240
891
896
971
957
749
470
926
755
575
118
534
47
711
189
618
470
579
218
232
983
267
517
866
11
341
844
361
762
382
240
691
86
277
324
481
195
990
699
399
930
255
71
776
953
479
962
623
740
972
746
135
48
596
824
130
291
602
707
631
687
142
18
604
778
459
497
408
75
725
301
459
643
260
615
204
473
344
865
611
890
842
59
425
921
363
86
19
693
24
799
754
525
591
172
482
828
825
288
147
316
457
208
644
585
37
805
459
698
626
497
274
47
903
621
457
818
66
261
343
519
950
921
673
133
484
709
203
490
215
164
821
530
946
577
556
750
4
982
86
460
888
541
846
249
88
923
413
0
973
812
325
491
304
517
106
437
972
126
353
33
498
223
95
885
991
849
99
590
417
786
275
844
918
394
972
988
440
874
897
238
600
560
38
116
160
595
814
615
179
890
940
64
775
379
150
792
915
973
616
220
656
431
91
269
137
555
385
648
994
621
955
793
730
443
491
441
134
110
620
843
841
560
737
299
698
934
370
72
3
882
119
698
683
280
954
558
736
751
108
576
766
412
112
86
348
655
362
713
272
204
763
73
740
249
216
111
536
679
788
12
577
44
96
24
551
535
203
220
202
471
664
384
839
997
78
971
291
928
925
982
747
317
854
961
576
647
7
338
904
640
183
954
930
640
989
318
578
64
254
444
417
626
656
81
538
30
998
896
856
443
15
878
813
322
702
473
971
531
23
598
859
626
396
166
582
323
564
385
940
885
324
137
772
102
586
590
983
986
943
345
889
218
289
669
773
727
51
66
179
588
212
743
817
112
630
701
181
65
739
746
115
490
674
191
595
918
61
800
227
95
211
977
984
355
103
368
255
109
85
467
690
848
954
271
791
508
256
395
389
277
236
776
202
611
1
976
25
325
973
383
733
515
492
401
831
445
641
835
843
832
44
138
739
362
619
420
728
671
961
98
894
873
811
392
846
617
490
927
477
218
157
782
757
849
323
349
667
2
638
655
593
230
394
487
110
314
599
408
559
958
372
401
984
629
361
992
636
109
245
447
111
233
396
147
748
278
90
385
840
131
832
700
567
156
765
198
171
959
244
465
909
689
154
542
319
653
422
665
827
460
592
777
960
532
258
65
109
87
731
104
730
566
375
300
260
506
1000
455
868
919
582
625
825
698
968
221
856
928
550
588
522
176
287
293
155
184
459
967
200
611
5
78
652
295
556
927
100
38
106
868
181
312
739
430
332
613
350
962
298
854
626
600
480
936
899
873
522
727
296
265
843
260
850
294
146
56
809
815
470
988
672
338
638
959
588
919
649
262
489
592
873
754
676
1000
84
256
825
751
295
160
687
672
636
524
1000
818
744
130
581
257
769
76
521
680
626
550
208
173
481
246
308
70
648
576
919
352
928
517
141
473
337
487
647
559
344
416
218
901
596
497
895
911
977
955
580
664
226
276
250
163
579
436
877
278
856
336
98
117
540
718
65
672
950
391
360
105
687
424
865
815
482
502
722
540
989
424
408
685
627
858
505
44
106
258
255
719
280
75
197
178
712
528
412
368
23
901
158
638
930
920
963
111
0
681
5
832
463
313
459
671
272
675
778
7
860
55
437
370
453
473
962
584
121
822
216
188
818
501
985
115
330
349
9
854
597
873
263
605
612
421
686
154
546
492
696
239
369
285
995
917
4
53
504
873
589
541
1
590
608
815
203
597
342
230
96
439
418
744
36
576
490
903
80
514
62
581
360
778
318
53
715
883
982
313
143
786
726
37
830
594
674
815
69
199
36
877
833
373
866
573
871
498
854
347
705
977
975
814
329
295
469
145
631
750
253
655
221
189
283
832
4
400
690
603
128
565
302
209
991
751
832
265
340
393
35
213
291
12
623
671
190
622
148
831
303
657
622
946
868
198
940
670
834
431
913
364
864
308
490
75
525
362
303
628
538
947
851
147
560
986
192
282
795
50
108
760
11
625
592
289
51
273
756
845
555
527
434
522
33
101
846
324
703
404
545
811
914
404
209
28
560
50
639
553
482
389
903
101
231
615
427
629
560
408
262
433
873
504
403
191
154
788
103
336
524
729
59
765
810
430
124
999
417
882
769
615
112
844
203
408
919
351
839
768
608
917
85
517
88
260
159
639
461
461
783
876
450
152
403
311
569
746
916
371
426
542
425
696
756
539
826
659
889
981
781
237
999
750
635
150
501
276
2
180
983
696
899
233
258
977
9
75
89
316
777
117
82
843
406
639
523
101
992
889
804
862
460
14
304
545
565
17
505
554
837
164
583
442
712
246
70
174
474
871
116
818
986
322
205
267
471
490
524
9
369
868
874
513
825
796
162
683
322
763
625
150
971
655
870
238
731
375
849
616
71
412
961
973
583
146
482
316
855
455
647
220
197
191
299
575
56
39
102
995
218
453
406
278
869
235
120
511
880
232
552
580
905
527
692
873
237
687
343
854
713
119
393
715
318
857
344
389
171
972
285
591
956
255
296
238
766
20
659
856
162
636
739
506
204
504
93
815
381
214
237
381
297
785
939
813
865
436
736
580
286
141
489
70
955
778
841
932
887
228
891
989
602
532
892
92
922
473
910
704
456
605
201
392
113
998
701
32
864
534
634
349
457
214
569
23
365
659
421
317
377
794
237
787
277
618
136
855
403
15
58
504
86
753
333
148
759
570
592
122
219
751
161
768
954
708
530
125
951
949
495
895
253
442
606
657
202
91
202
679
82
752
536
947
215
836
33
214
459
219
828
226
612
326
262
282
435
662
215
134
295
233
8
525
407
228
664
173
489
43
936
347
340
801
577
538
627
117
771
637
444
880
393
990
219
4
319
515
153
724
179
86
158
925
21
582
648
420
406
290
201
582
393
920
394
979
827
388
583
184
211
145
480
900
703
9
285
179
300
318
733
303
299
485
19
188
876
937
323
341
421
680
571
227
584
322
427
363
265
348
927
811
309
338
99
484
364
307
374
223
458
673
263
993
258
297
963
831
287
234
963
654
563
140
564
906
710
822
526
835
959
671
680
495
892
411
214
890
143
814
944
833
843
796
136
846
507
203
725
771
770
576
876
15
772
884
355
43
108
98
277
750
424
919
82
864
80
883
104
101
142
88
795
322
93
354
951
667
813
406
909
498
68
253
768
380
945
761
692
951
316
449
419
919
25
902
70
75
997
642
504
176
494
713
439
352
768
536
978
944
229
794
713
174
117
378
945
809
400
320
812
95
160
143
284
4
158
558
951
796
331
82
425
944
357
468
654
846
209
306
748
696
804
362
795
710
902
481
146
18
291
265
67
400
580
574
795
368
636
784
240
136
464
119
16
960
738
175
588
243
930
486
640
70
819
786
918
326
215
363
265
960
931
228
683
961
963
919
751
244
704
57
150
813
685
719
321
479
663
388
788
967
83
606
690
659
583
794
343
144
619
511
622
15
239
322
148
574
454
201
500
127
263
439
620
821
418
499
245
27
845
771
468
797
302
227
55
668
186
207
36
834
320
372
914
673
361
834
853
311
824
839
689
176
571
22
797
622
851
9
186
563
431
510
754
665
413
629
36
948
21
343
956
817
714
497
430
859
303
137
41
534
246
354
360
156
575
571
133
555
420
233
498
606
508
471
181
320
994
63
643
734
968
892
642
343
843
610
493
680
793
152
505
361
726
170
168
531
296
591
594
487
358
114
806
618
124
252
307
694
622
969
183
851
712
927
806
529
556
748
813
837
12
523
58
763
835
556
540
915
331
892
138
222
162
193
990
711
970
318
439
931
393
946
538
652
672
484
317
256
221
25
281
317
635
477
659
982
158
741
799
701
611
854
888
973
997
700
681
791
231
29
890
794
127
640
580
697
746
501
164
310
18
172
151
662
45
301
709
969
216
466
567
395
352
459
285
733
374
77
448
182
824
188
409
63
260
212
918
504
748
890
388
886
151
625
45
811
469
380
313
415
871
920
659
584
320
40
124
212
884
334
629
625
135
544
23
353
624
997
563
86
430
440
139
365
365
275
549
253
643
410
261
489
777
135
421
990
354
611
734
698
383
671
753
498
28
71
794
844
57
50
130
186
561
76
761
659
886
412
989
126
802
380
629
559
117
493
142
138
832
285
418
334
98
938
249
526
595
380
247
74
85
315
814
522
181
678
938
448
123
429
394
325
24
30
876
253
415
657
641
98
78
512
129
75
338
107
808
70
374
699
474
658
535
188
225
258
354
228
496
707
588
606
560
333
704
438
570
954
352
613
375
160
794
137
113
713
931
786
23
914
751
705
344
878
48
344
161
579
205
95
855
474
189
713
761
686
723
861
229
388
84
63
824
16
336
14
23
780
644
443
834
17
296
261
753
153
311
125
779
538
589
424
223
827
27
812
931
979
543
241
707
515
983
780
51
191
314
778
370
231
876
872
616
635
116
684
53
927
132
204
393
430
824
779
133
633
48
739
441
676
392
9
914
759
180
39
499
341
581
728
761
813
244
114
906
37
677
807
516
766
726
507
805
490
162
415
760
667
371
134
679
450
287
97
103
748
39
129
39
840
718
121
439
807
214
4
466
983
529
463
277
326
814
594
474
746
559
780
55
873
601
5
343
402
318
694
31
10
335
267
276
688
647
479
558
767
805
649
768
63
895
622
626
811
3
347
351
94
264
557
266
731
330
603
251
328
43
643
123
795
131
7
372
838
940
932
987
557
557
736
617
231
309
21
629
797
609
762
463
617
170
613
660
359
618
859
132
68
808
87
564
247
583
822
320
545
943
85
247
541
320
537
421
949
984
214
677
321
793
409
605
334
113
820
947
976
509
248
500
456
494
195
934
270
87
728
643
34
784
954
840
348
847
704
782
235
738
451
206
715
483
107
626
543
449
421
161
934
718
189
81
902
198
606
948
492
206
796
989
992
46
940
615
645
686
815
797
97
262
245
186
968
647
79
60
446
199
832
242
775
948
936
594
513
277
149
419
702
210
567
10
343
517
969
653
559
422
212
158
829
712
505
581
849
973
332
371
866
260
945
902
323
162
295
262
186
195
918
612
947
627
898
55
626
853
799
404
92
83
733
962
935
875
478
539
379
645
983
461
403
93
778
616
683
607
432
53
650
806
21
695
792
651
716
928
436
870
424
585
168
272
712
698
776
880
326
840
584
432
61
454
115
952
197
145
587
596
630
14
153
537
732
836
810
861
517
130
369
255
257
523
81
343
376
979
552
246
583
785
108
731
858
129
242
272
152
253
332
315
316
739
599
712
203
621
573
115
2
212
987
847
637
798
468
603
573
938
96
121
959
119
49
860
54
117
999
193
451
58
470
483
141
280
762
143
165
118
269
611
243
447
672
243
605
921
505
873
333
749
851
819
702
550
593
494
128
889
743
436
61
123
127
509
40
955
91
979
268
391
115
634
976
891
33
65
155
892
437
630
351
324
503
188
490
614
786
489
38
886
87
474
0
558
911
139
14
320
7
740
943
760
798
282
621
155
900
783
773
394
228
592
602
739
190
838
297
375
376
863
502
694
557
862
236
655
219
663
281
656
761
336
868
239
5
587
344
1
826
954
386
792
113
679
509
456
533
599
879
618
462
422
470
67
630
478
601
417
638
139
201
746
11
894
890
765
345
203
946
852
875
216
764
487
130
259
214
81
792
734
340
287
672
952
283
508
751
42
104
166
783
347
139
515
105
425
812
459
646
952
705
115
470
919
53
67
290
675
1000
919
198
661
17
669
769
290
145
382
304
177
595
97
508
549
76
867
107
149
73
288
418
311
468
543
383
672
191
394
306
852
663
671
27
953
920
196
694
778
649
504
921
464
229
531
505
487
158
15
843
51
203
2
103
721
276
594
439
931
980
404
170
714
40
166
890
532
591
760
555
444
146
597
188
528
225
184
997
588
775
938
524
592
26
6
48
854
860
939
588
707
590
980
873
298
678
922
669
58
775
789
565
779
270
850
472
172
761
633
584
694
553
823
579
149
651
957
401
993
345
952
893
46
589
735
880
726
812
929
370
599
931
623
168
218
222
192
76
694
905
791
863
587
474
454
217
507
833
916
347
649
223
771
687
682
192
918
514
455
211
392
112
377
976
462
431
262
530
191
934
339
196
969
541
741
273
626
568
346
40
572
344
106
675
757
860
782
25
793
65
129
389
110
622
798
869
757
345
547
513
844
18
737
585
910
923
824
270
666
671
574
895
326
331
225
201
171
405
641
53
627
823
988
664
244
52
880
333
719
322
226
794
947
946
968
765
506
741
997
686
837
983
855
211
107
348
200
903
962
39
438
831
80
434
843
971
855
403
286
360
191
313
323
447
883
925
915
862
972
539
646
107
584
60
628
227
981
799
510
745
880
164
370
729
193
702
608
524
419
283
782
726
790
757
914
922
75
76
267
56
559
656
788
659
138
835
859
195
635
636
159
753
287
385
486
82
289
317
116
437
609
315
946
300
751
693
466
957
739
623
997
40
928
283
705
169
8
729
351
981
571
268
429
222
456
993
970
978
756
308
684
925
664
138
859
684
95
991
858
98
544
28
287
461
568
486
230
794
45
837
383
542
440
909
355
591
16
739
846
255
481
599
969
964
942
624
530
452
954
486
27
353
806
180
798
431
804
787
434
510
83
97
538
746
602
152
25
987
42
954
827
244
361
708
223
441
286
188
693
560
823
805
795
341
817
198
318
104
93
365
488
968
435
839
225
837
264
248
964
880
122
185
679
65
51
614
236
94
255
775
140
672
659
25
477
759
501
983
941
574
134
43
807
802
866
63
233
937
49
210
507
665
956
684
145
112
381
926
762
65
526
221
483
104
716
478
602
9
328
820
583
498
768
743
715
448
735
135
143
980
452
353
384
694
854
64
6
322
685
772
426
546
39
237
989
735
534
355
685
249
562
185
983
995
794
354
49
154
1
763
798
38
986
143
985
901
540
822
646
115
405
107
56
131
208
847
718
77
863
528
901
941
339
303
485
942
834
697
942
722
188
640
684
890
153
472
809
155
994
108
227
293
759
911
157
514
22
413
299
195
313
631
8
18
966
235
969
806
159
254
104
722
322
221
704
138
938
149
405
325
331
198
650
685
999
288
289
333
780
800
173
729
465
950
496
728
448
637
314
107
704
659
981
66
459
571
634
925
790
440
952
937
507
910
404
490
611
594
680
998
890
866
278
179
160
483
61
486
338
409
834
15
847
450
91
773
192
525
739
917
129
530
330
813
447
18
368
820
872
205
714
3
975
915
934
836
62
105
842
959
461
843
196
699
387
249
763
864
146
981
687
621
313
219
483
213
267
329
916
105
366
891
549
144
439
778
893
324
521
863
383
337
791
109
705
23
610
839
497
883
623
395
210
307
143
577
528
911
737
393
100
402
21
603
662
415
931
754
377
621
499
476
343
607
96
833
152
235
621
746
133
16
377
660
670
515
549
221
533
628
645
334
456
800
499
373
345
803
312
639
120
629
361
926
852
537
942
705
122
110
906
546
828
851
267
867
540
788
535
719
600
232
636
418
491
457
281
62
152
218
852
326
194
86
157
213
205
433
589
416
623
996
731
381
857
190
56
999
25
709
189
769
859
968
347
405
859
489
544
332
436
869
206
650
342
755
213
798
167
751
893
972
766
304
71
156
147
383
696
777
531
868
934
192
269
735
466
692
548
497
567
869
511
872
314
522
23
540
783
507
899
469
306
554
432
883
795
472
231
977
803
603
125
314
364
271
122
979
307
70
558
76
169
802
667
372
37
681
589
558
631
411
69
272
451
985
508
14
330
175
236
733
602
995
121
57
982
360
754
137
456
581
426
52
732
34
38
769
843
453
446
41
249
126
755
10
990
995
508
294
608
220
568
543
902
675
642
443
607
843
29
119
16
570
733
143
242
982
222
108
627
302
999
480
511
979
123
502
978
397
831
431
448
629
324
33
509
724
156
48
593
78
535
280
690
399
263
481
193
754
770
389
572
896
132
656
571
890
445
425
211
437
960
306
20
553
572
297
712
980
810
931
160
372
543
654
605
410
216
961
616
701
545
493
964
149
289
885
378
61
305
508
911
527
398
248
968
98
295
599
828
174
570
684
65
954
450
260
46
588
293
221
450
841
708
57
502
127
61
677
10
828
201
12
370
850
931
715
243
316
569
109
943
353
348
376
160
338
732
316
478
329
656
491
835
134
834
299
914
390
191
829
219
78
617
983
587
373
953
575
735
42
410
132
994
754
774
702
107
496
666
658
667
245
584
956
450
512
261
888
322
807
783
612
834
548
584
690
636
615
539
941
254
478
690
505
562
460
845
207
822
645
684
22
595
176
572
43
463
153
370
322
256
404
930
567
587
774
803
491
154
726
562
927
586
83
729
315
959
810
618
170
355
422
293
123
288
183
449
552
329
212
1000
173
636
38
743
217
767
502
5
299
680
845
596
786
738
356
311
359
588
806
971
246
762
118
123
381
470
603
205
914
493
301
359
901
105
940
473
504
863
948
455
541
58
157
968
287
304
642
538
233
552
401
646
89
805
702
599
272
286
973
764
588
662
465
694
693
86
62
105
843
173
364
232
293
50
536
404
339
775
9
260
360
752
756
583
613
931
152
729
683
498
156
582
426
208
246
921
485
936
701
678
563
299
233
978
299
208
857
206
645
770
567
555
621
687
383
801
726
511
85
369
663
212
37
895
786
52
110
548
474
659
501
391
572
820
925
127
588
411
766
771
286
597
324
646
32
530
385
90
188
573
690
9
369
944
778
93
701
558
652
239
685
251
231
990
963
213
965
624
235
759
30
70
383
470
861
797
5
58
9
541
154
832
261
914
88
620
491
656
386
222
699
141
499
946
262
795
923
439
194
586
273
944
589
865
66
580
577
266
478
195
450
139
675
407
118
775
239
436
671
340
162
486
815
227
768
493
781
864
872
608
773
547
738
106
869
149
174
589
530
488
290
246
107
343
837
448
510
107
723
7
524
981
532
450
922
922
213
477
555
218
694
842
655
850
402
718
499
930
326
368
806
429
186
994
193
498
116
306
403
913
139
928
93
947
1
864
674
15
539
731
624
631
167
945
596
498
996
528
799
765
872
494
19
118
516
192
372
626
364
597
753
405
563
911
599
711
550
671
561
291
643
184
867
796
218
701
258
758
208
926
512
930
728
928
255
119
25
995
423
133
12
318
865
852
65
359
406
715
609
3
391
197
935
385
798
196
536
255
269
387
37
505
65
858
213
678
898
923
514
486
209
823
938
52
337
502
315
606
688
743
514
826
44
952
72
690
77
748
669
651
688
126
392
873
643
759
545
330
381
403
812
901
480
530
839
364
730
805
182
113
534
638
198
684
450
690
664
413
347
400
639
127
957
712
439
136
103
575
217
709
597
156
72
37
308
52
48
324
875
848
386
439
969
749
954
591
475
34
810
121
12
178
852
354
714
64
772
675
946
468
942
316
783
172
660
636
824
514
851
726
969
852
87
731
344
133
459
470
12
234
801
789
772
778
213
559
347
968
132
96
443
893
941
902
407
521
844
49
194
962
393
199
340
338
77
31
89
186
443
148
563
35
892
895
3
139
17
289
742
657
975
498
628
163
729
362
304
42
168
759
532
40
917
708
695
825
868
73
848
758
331
65
413
163
51
135
270
685
621
535
144
562
227
216
264
638
737
844
890
428
796
303
421
318
874
360
633
911
467
742
349
303
277
786
91
88
724
11
498
55
137
832
986
292
551
931
239
371
493
912
114
711
57
756
306
358
466
558
816
884
588
441
947
325
435
511
801
26
719
284
83
445
537
296
253
175
572
815
258
495
638
753
588
275
448
825
502
82
896
265
997
787
657
114
691
708
974
802
501
902
797
763
868
960
539
227
140
388
321
274
487
364
969
338
718
124
589
928
289
249
372
886
113
102
680
946
103
322
911
422
665
843
161
192
361
851
721
468
920
962
906
470
614
238
237
488
522
368
485
642
770
725
267
340
605
223
833
873
520
745
313
947
291
446
519
62
272
287
443
158
260
147
800
489
751
592
152
847
604
2
204
662
850
734
901
715
822
427
94
264
334
198
435
548
408
424
165
450
314
275
473
234
329
144
631
24
268
431
362
328
141
715
774
234
88
953
803
473
652
132
278
130
116
392
385
911
60
678
102
900
932
811
454
17
434
344
579
724
569
747
543
283
17
131
393
938
88
168
892
139
796
258
779
269
424
887
406
410
113
151
101
138
388
272
919
676
729
165
647
304
662
527
325
983
832
194
976
528
788
400
378
768
739
134
512
179
350
127
469
338
963
456
789
576
96
311
720
57
799
504
602
631
464
550
82
390
72
247
226
269
698
624
11
302
344
157
505
883
699
827
506
754
787
352
366
96
109
94
966
826
427
549
557
722
957
337
492
570
159
28
714
465
859
600
19
496
306
273
88
875
304
618
651
358
909
286
265
951
751
69
75
859
635
1
472
430
773
172
146
184
529
226
442
275
757
701
828
531
450
485
519
278
81
268
823
618
304
545
210
58
536
931
327
828
288
40
444
812
794
151
113
251
149
152
288
34
792
547
379
97
718
958
552
926
634
917
742
466
725
718
608
840
241
490
376
119
544
372
149
105
467
317
297
139
626
272
489
570
139
157
960
402
503
122
399
392
601
159
280
952
991
385
520
741
851
190
197
726
138
81
274
962
943
64
138
708
946
276
410
771
986
367
23
771
205
728
723
851
955
989
234
392
152
803
716
843
862
916
373
706
79
271
948
341
41
71
49
371
699
694
973
946
316
276
136
146
326
66
608
366
234
725
319
58
112
409
351
351
499
201
853
634
9
312
258
235
631
745
74
262
669
859
822
543
298
77
85
626
312
519
329
706
10
746
661
708
741
363
948
570
89
526
953
646
815
323
863
238
777
907
652
230
737
19
559
347
348
728
661
895
541
904
714
863
902
428
257
307
371
513
916
931
744
983
278
114
298
913
523
312
476
198
288
427
609
145
361
750
325
548
842
0
898
343
132
731
339
695
50
304
445
131
214
435
16
204
532
402
261
169
925
119
862
531
522
270
589
671
774
12
265
189
727
965
342
659
691
916
846
270
647
32
587
464
671
644
946
847
786
246
167
671
400
664
709
269
717
77
339
511
336
346
413
373
686
170
595
272
482
118
536
498
262
189
777
113
92
156
434
400
380
651
191
204
136
924
144
976
478
601
837
144
626
877
898
472
148
72
449
320
173
984
323
628
806
180
277
123
635
450
706
336
547
538
356
441
562
667
864
202
270
83
87
3
149
110
839
595
97
466
255
123
320
360
531
237
59
64
519
974
323
661
588
554
642
837
389
154
252
328
572
301
115
254
17
519
300
175
994
930
536
56
902
743
574
370
424
111
268
838
83
370
716
798
926
657
347
943
656
984
415
323
594
869
46
820
779
563
31
542
117
456
603
543
728
330
779
496
647
954
62
918
175
845
168
695
833
634
845
642
367
830
756
951
876
83
347
998
299
130
320
320
532
15
77
956
611
824
330
427
280
445
211
26
124
596
345
978
936
554
138
230
441
703
488
889
35
427
848
183
747
790
647
934
491
397
233
305
385
463
471
860
725
391
758
842
861
744
250
214
686
905
708
901
777
314
44
40
573
170
539
559
526
117
360
145
410
50
609
169
580
319
85
137
911
773
560
398
162
105
218
569
986
487
299
825
281
12
155
642
240
501
507
100
512
139
285
380
913
840
111
576
811
938
263
712
465
273
15
116
484
533
857
352
247
860
990
308
367
652
189
367
488
247
515
685
795
889
261
905
396
838
579
71
56
600
63
516
254
409
405
607
896
513
962
712
136
729
260
336
10
533
488
963
824
417
500
380
676
273
912
309
860
436
916
305
510
764
448
857
917
123
300
365
22
285
906
116
568
81
235
862
614
787
527
978
291
258
274
473
946
315
950
739
553
473
313
493
88
532
190
217
823
4
433
569
616
229
188
941
371
139
455
133
930
522
709
553
359
267
746
381
978
878
437
923
597
501
452
763
471
76
218
391
811
294
82
442
662
79
776
998
386
279
658
574
971
304
143
209
871
647
946
36
312
878
715
668
325
60
226
610
868
257
981
27
129
342
137
594
519
355
380
58
497
586
507
434
651
590
418
351
105
723
242
262
698
688
618
263
938
853
748
268
677
731
350
405
239
844
518
122
991
344
123
45
756
74
807
2
212
524
919
168
8
925
10
693
460
646
121
447
981
641
37
652
846
912
541
544
728
267
703
812
159
370
668
576
874
957
511
293
860
328
82
15
216
945
431
120
618
764
333
908
986
472
715
413
188
538
270
555
475
773
534
130
576
712
458
441
804
606
556
68
148
138
728
936
516
42
614
539
685
819
80
607
5
791
516
333
546
449
224
778
214
819
158
694
562
509
184
446
523
750
883
808
505
423
788
659
58
485
708
398
792
198
263
73
660
782
638
632
631
331
150
512
63
274
198
508
180
681
483
793
374
93
681
208
515
838
876
342
144
717
635
601
553
733
419
128
30
157
139
777
26
653
571
870
93
299
127
610
745
266
895
500
573
336
510
990
496
630
100
111
657
648
520
289
232
975
267
891
522
358
76
451
819
120
954
492
623
643
379
120
138
929
98
292
730
39
259
747
405
873
595
723
370
554
764
387
668
889
654
977
88
258
922
626
562
110
406
708
902
799
288
171
506
228
642
364
533
346
64
761
566
490
349
907
427
6
934
818
505
757
561
373
626
871
686
272
58
680
323
914
456
612
997
856
27
570
938
419
333
399
921
873
191
854
172
963
62
134
955
678
539
469
74
226
355
367
318
43
745
566
893
294
907
249
907
115
271
389
273
341
54
293
35
301
368
995
999
963
33
944
942
352
516
382
845
115
249
411
225
750
111
652
982
630
898
574
814
334
869
275
909
391
855
721
500
239
517
565
125
328
251
624
776
564
32
523
765
634
919
251
748
806
982
547
474
714
971
710
942
971
567
659
673
145
639
22
218
591
778
984
287
728
565
616
912
805
462
312
125
923
808
282
261
696
457
340
532
505
575
540
200
165
831
6
910
494
420
434
625
355
240
805
475
661
483
521
29
810
992
517
461
248
409
957
39
54
377
855
836
556
983
354
455
825
879
98
948
591
168
34
745
653
863
298
997
681
884
659
362
495
973
994
842
875
547
542
949
891
852
716
64
86
316
864
625
61
965
347
261
865
550
936
8
750
239
874
10
785
734
403
180
942
11
22
369
436
726
874
780
773
150
871
42
528
718
933
355
781
900
749
289
932
248
855
718
109
63
320
890
806
733
692
635
408
801
544
875
241
775
199
652
387
304
669
57
573
354
271
880
232
64
378
402
363
610
270
380
439
173
78
909
492
460
987
180
201
342
712
46
92
610
988
418
806
783
70
41
187
978
251
354
793
35
520
472
919
987
774
648
8
919
681
783
167
53
938
862
860
688
131
513
71
29
274
734
684
1
955
312
438
120
688
322
860
492
669
942
2
306
768
751
42
549
652
192
327
231
524
303
120
525
519
917
352
501
853
343
931
706
448
938
964
599
789
997
976
131
999
111
93
221
930
488
707
816
633
527
253
776
494
362
259
601
629
663
573
834
754
943
834
279
529
468
210
403
159
847
184
530
717
180
262
571
440
765
106
249
244
812
817
540
822
354
572
71
882
596
631
162
420
477
147
786
832
878
834
573
693
907
611
374
798
822
465
837
476
90
730
632
154
961
523
600
822
88
127
279
892
103
57
505
230
109
708
911
997
12
865
808
629
141
232
635
664
685
592
526
764
953
577
475
603
806
511
870
800
991
217
973
52
66
167
265
518
3
8
812
899
495
115
157
990
871
618
708
597
647
350
136
366
735
376
11
93
395
970
108
360
695
438
444
689
256
989
159
824
164
628
721
76
290
487
390
59
423
856
53
188
83
105
738
847
773
953
783
89
36
16
808
11
287
787
513
282
531
139
859
363
502
8
435
55
431
977
345
155
101
325
108
637
946
691
385
290
281
622
755
7
579
698
267
781
996
520
56
261
925
532
952
541
952
649
487
187
219
527
517
857
664
471
440
323
460
252
983
134
20
197
587
858
185
685
239
11
976
95
768
868
557
770
431
331
334
118
334
928
614
435
941
183
30
374
441
468
487
48
171
144
693
250
356
594
258
841
414
663
196
791
381
363
228
880
630
291
901
324
655
569
720
215
38
979
494
990
69
473
57
259
549
236
831
108
727
951
468
101
172
640
391
911
505
926
60
59
547
182
298
301
901
795
149
967
285
748
923
622
671
988
825
987
395
273
998
709
120
821
854
791
721
833
583
957
361
898
91
691
480
347
889
62
276
44
270
386
486
947
269
508
763
871
641
165
838
329
504
408
625
849
528
325
552
964
114
954
610
356
596
71
341
142
105
178
537
817
474
621
878
58
285
998
411
112
111
501
796
263
715
233
210
728
117
822
669
711
445
141
557
583
17
873
456
652
413
853
210
595
323
887
37
969
253
748
91
655
270
720
903
924
953
748
176
213
563
563
910
988
365
76
795
543
603
970
125
191
550
389
920
197
979
862
227
693
849
732
633
717
815
612
880
905
347
129
94
404
671
495
778
794
786
289
308
169
308
174
274
938
889
492
336
795
281
500
199
438
320
517
581
766
965
211
595
906
952
783
603
851
492
337
357
556
739
128
521
480
522
820
646
414
476
253
455
410
152
740
648
3
569
660
254
572
553
31
3
418
663
601
735
764
774
489
431
459
869
644
483
243
473
363
721
402
11
675
467
859
944
431
305
892
71
215
622
96
122
745
780
219
876
179
500
909
616
763
619
940
182
250
331
137
321
376
133
738
907
332
935
278
545
760
308
572
239
846
380
661
699
245
421
631
356
414
6
561
912
660
342
929
269
956
434
787
78
206
398
239
398
587
559
655
732
196
167
830
848
529
90
836
477
984
81
438
228
653
80
265
647
941
252
775
884
802
281
154
511
869
90
15
750
596
251
137
801
952
476
160
559
650
715
304
686
381
995
894
553
326
624
892
660
856
355
735
696
291
519
276
66
59
456
798
81
826
762
72
145
877
769
60
22
256
377
287
318
683
353
655
947
994
683
880
51
101
876
166
27
120
275
974
602
432
621
954
697
312
711
402
630
418
238
919
432
757
577
203
64
208
808
822
998
889
601
86
896
153
385
25
970
105
950
82
505
841
299
507
662
293
105
369
457
856
406
846
358
286
51
760
334
882
155
171
234
340
233
556
582
561
846
342
981
594
547
724
459
530
593
583
910
190
668
298
713
163
549
303
179
774
878
570
729
550
808
82
963
681
498
556
862
707
425
460
172
74
280
518
274
941
478
127
717
881
398
379
285
291
328
903
86
559
756
498
669
567
231
417
603
927
169
219
118
523
67
184
884
185
555
636
669
961
694
820
836
291
285
177
330
763
516
643
9
41
510
910
189
784
765
813
249
299
254
148
253
688
539
232
615
289
10
690
385
774
59
67
891
608
144
888
377
158
593
684
904
279
62
77
267
448
118
24
501
224
661
234
961
170
433
370
626
212
517
608
835
94
463
829
920
527
477
570
855
969
168
577
819
86
866
8
905
328
277
954
906
116
72
560
513
659
256
314
147
947
47
970
540
109
180
103
268
879
866
690
629
124
612
724
803
506
494
920
911
326
433
319
346
186
914
902
764
561
249
553
332
413
162
596
106
259
879
427
81
789
331
182
538
942
958
955
588
95
611
871
365
219
656
794
789
179
708
443
425
539
330
869
505
69
665
72
674
888
138
648
54
964
851
3
170
39
175
807
553
983
257
955
109
26
154
571
136
386
506
56
724
459
313
18
417
449
864
745
894
55
772
765
387
749
111
869
782
928
63
864
948
71
588
407
403
337
375
433
953
625
275
281
287
108
1000
942
902
941
186
292
978
997
603
857
693
866
741
91
202
208
597
249
128
468
321
425
808
2
976
281
513
988
79
662
441
12
794
539
497
24
380
929
728
616
949
235
908
756
160
434
401
868
668
377
153
267
903
139
124
442
841
747
452
669
382
864
926
391
647
193
943
229
283
612
276
189
709
584
108
911
913
467
738
31
182
214
520
303
473
260
24
152
55
288
843
127
30
707
706
838
236
306
326
431
855
592
634
799
326
113
346
976
568
59
893
719
615
191
763
481
170
174
951
461
434
676
866
524
454
676
241
921
331
664
380
921
991
3
488
717
503
307
458
763
864
356
682
420
570
812
657
738
515
679
547
187
211
922
545
505
153
7
453
220
296
191
279
734
378
621
726
84
298
289
914
801
641
93
803
637
98
531
128
60
85
944
157
252
973
514
494
619
330
242
266
357
997
135
938
736
953
278
101
467
222
468
166
146
885
373
704
74
430
849
653
788
864
762
148
28
539
220
436
533
827
794
970
192
850
867
26
57
523
161
581
489
998
467
148
126
597
3
556
164
660
378
446
16
561
170
771
788
36
988
571
464
853
423
782
955
828
976
339
168
358
501
646
128
285
459
934
273
972
123
340
110
473
338
242
637
722
235
850
100
94
440
362
614
673
678
869
749
994
922
412
64
63
928
909
200
750
116
476
593
836
917
759
46
255
174
986
549
769
695
736
835
333
133
760
522
380
138
805
27
308
919
250
133
57
723
739
699
44
986
366
182
881
582
736
226
287
10
323
552
871
531
763
974
730
374
909
669
695
256
340
439
932
210
236
939
465
829
921
767
592
536
96
239
925
59
56
28
125
643
874
647
788
947
412
308
164
809
672
758
865
154
210
76
65
670
969
760
668
499
674
426
475
331
893
332
731
326
56
550
156
930
293
367
279
713
757
258
899
534
72
34
145
466
97
881
161
904
852
546
787
329
556
326
293
406
210
445
728
660
35
466
145
152
121
115
327
675
591
121
630
995
55
51
81
325
337
413
954
794
759
721
140
993
673
414
821
768
999
333
524
491
775
962
215
73
787
897
369
366
203
981
335
239
840
31
900
185
650
171
969
293
542
581
220
130
59
370
65
55
26
423
909
884
974
960
738
111
537
575
741
787
314
998
631
404
947
817
445
114
20
861
607
73
407
894
208
953
640
424
766
606
850
54
170
176
299
40
587
766
339
579
991
384
733
809
648
966
224
515
910
845
902
900
355
638
789
585
800
825
407
701
751
997
404
683
126
541
716
997
179
534
919
701
204
796
981
907
383
900
678
518
30
545
369
535
429
305
971
117
365
580
673
776
693
2
287
602
174
962
953
138
678
782
584
493
541
356
738
697
381
465
107
690
397
238
73
112
95
689
333
783
284
383
790
533
998
735
804
910
948
824
716
77
190
431
135
756
865
643
616
686
995
800
381
267
428
81
597
245
824
422
580
709
706
114
850
847
931
4
675
686
475
411
337
853
938
640
872
636
65
364
595
9
232
388
962
413
718
478
491
446
837
306
966
234
810
752
893
441
348
352
3
603
182
846
690
398
730
481
924
255
537
692
219
69
364
195
124
681
978
471
174
779
376
158
794
620
210
502
367
638
421
696
457
380
809
12
687
673
804
721
422
170
53
126
475
759
482
795
926
408
636
496
693
336
768
271
567
912
626
204
109
67
640
95
729
238
164
847
687
923
876
205
762
26
651
784
213
320
238
257
912
551
177
110
530
221
938
260
264
287
609
893
640
417
711
373
774
807
505
530
672
177
848
140
693
865
943
779
276
966
427
258
858
835
536
511
632
584
742
770
437
268
617
753
433
693
31
802
488
599
840
455
157
214
400
627
995
137
881
594
797
95
610
226
268
42
948
63
948
994
893
221
993
465
57
656
624
446
20
785
212
449
539
63
424
634
980
329
775
956
549
916
837
727
368
462
194
334
206
344
11
404
47
650
217
598
678
629
200
823
871
69
611
920
203
923
517
230
332
675
756
245
127
794
667
258
876
990
483
520
596
902
359
354
866
997
596
357
442
329
716
596
415
388
156
559
796
574
119
158
787
602
112
996
553
744
975
646
579
57
359
83
763
821
753
945
321
532
156
186
204
893
579
92
356
893
206
940
116
262
976
71
323
14
633
168
451
197
295
570
155
112
140
313
853
488
218
901
458
828
22
485
481
662
128
20
490
863
366
150
196
323
826
380
371
208
94
492
401
325
373
167
340
302
905
671
372
906
612
468
350
817
502
984
123
63
658
46
925
960
458
668
111
225
325
659
608
206
55
225
50
495
381
410
42
243
188
684
655
8
589
23
928
120
988
313
973
122
927
801
479
228
638
752
817
80
717
984
281
227
91
948
365
353
366
70
175
38
680
320
88
772
531
773
328
778
921
291
71
147
39
430
240
885
669
762
390
552
232
708
83
28
180
334
556
646
567
195
246
243
728
125
692
782
749
692
407
703
864
804
959
420
684
684
645
572
287
348
636
578
102
980
619
52
944
187
455
474
363
579
623
331
124
544
82
459
808
259
823
951
929
463
319
412
146
921
347
742
662
795
306
230
74
925
922
565
40
117
553
749
31
212
847
815
15
241
504
654
285
708
448
818
107
286
293
967
157
3
522
686
688
774
66
289
41
298
191
577
160
896
531
547
106
100
79
943
25
708
41
678
574
924
825
635
490
708
756
924
269
319
980
418
36
134
769
960
115
857
87
621
254
408
941
136
814
870
422
933
694
691
677
319
789
690
609
665
455
225
521
649
688
458
457
411
653
293
523
484
126
997
179
46
292
706
348
294
358
922
90
720
247
134
104
288
731
490
295
351
14
139
239
946
503
277
469
942
186
969
535
904
178
338
393
959
180
664
325
163
121
612
977
861
133
660
598
638
530
970
699
748
428
964
739
606
624
903
586
531
259
425
247
62
852
402
28
822
750
347
111
360
103
26
968
703
992
869
631
928
230
472
73
969
734
248
357
759
446
766
966
364
874
99
104
550
698
866
850
813
615
559
931
512
997
414
371
433
732
612
468
721
669
337
120
702
5
985
721
664
228
410
665
460
660
596
162
279
708
674
55
775
355
928
382
369
623
211
568
466
408
915
903
707
438
804
413
156
591
806
107
53
978
226
532
947
154
547
43
286
525
653
740
520
131
171
573
116
525
933
30
968
308
697
278
486
113
152
964
391
944
885
896
896
596
32
150
126
107
529
199
934
511
366
18
19
279
268
764
729
236
802
877
338
899
61
139
64
299
973
627
795
808
596
679
199
848
691
290
617
815
983
395
169
36
908
421
311
464
148
543
483
644
84
806
474
347
302
703
845
650
396
273
356
154
538
942
667
675
250
80
93
522
259
924
105
261
522
51
172
307
348
943
665
31
20
75
275
765
859
198
432
405
50
637
97
355
45
36
526
425
776
854
933
294
498
581
663
893
147
90
578
709
304
711
387
273
877
140
881
127
701
58
313
206
918
185
321
362
956
333
477
153
59
415
696
424
116
457
196
218
949
576
682
258
791
887
111
721
351
252
554
723
51
291
421
914
163
651
719
767
55
770
51
656
289
690
559
19
876
733
62
869
746
77
286
826
182
919
264
523
171
420
74
884
436
892
273
859
119
734
212
710
19
225
918
776
40
811
399
137
399
314
531
725
820
396
827
425
942
76
188
109
752
207
839
661
211
242
426
791
791
403
579
70
542
865
934
167
641
621
212
26
205
872
129
286
385
522
57
202
389
34
41
826
599
932
580
605
5
655
511
542
146
152
682
432
479
56
127
853
667
899
643
788
540
231
77
875
748
307
28
836
763
873
740
227
690
178
722
546
894
345
675
916
679
982
393
723
551
203
525
115
786
990
837
57
516
970
774
213
99
510
932
19
511
810
12
703
107
453
645
361
271
378
948
331
897
963
468
610
143
598
496
179
157
846
424
189
862
129
190
914
923
605
686
979
605
18
119
386
831
414
661
764
441
402
588
607
484
747
621
109
517
42
870
545
392
411
669
431
762
118
691
742
941
883
467
986
11
9
206
705
110
912
121
28
760
138
312
41
78
545
530
391
348
505
767
995
404
335
241
319
833
937
875
149
484
204
278
105
995
777
884
636
801
708
156
755
872
195
770
34
389
385
800
231
902
824
348
467
669
90
941
316
234
600
742
984
906
44
519
125
589
534
227
766
662
740
510
787
144
223
667
200
943
535
17
714
267
962
221
526
379
837
728
48
800
291
978
683
45
953
780
496
748
158
7
72
394
864
4
269
432
678
479
956
421
397
946
513
685
73
993
307
409
537
447
839
985
187
788
583
143
581
400
598
889
867
598
1000
843
242
610
868
984
758
82
919
567
239
4
173
733
122
447
731
441
97
77
748
386
557
833
830
300
752
967
239
667
894
777
138
337
155
967
333
241
299
724
592
504
410
79
61
636
795
529
741
8
329
546
276
862
921
830
657
325
493
557
804
300
208
96
708
624
615
298
304
537
167
688
701
363
350
649
204
96
923
38
359
476
348
14
254
333
921
981
261
646
759
588
146
0
46
273
37
285
78
559
317
721
680
183
585
663
446
607
802
114
463
52
587
431
210
401
261
266
581
414
955
528
906
472
81
351
313
161
744
971
22
65
51
372
488
95
85
65
84
245
155
703
968
449
158
717
724
87
114
826
684
640
116
377
86
645
418
353
601
966
618
509
488
898
349
458
472
450
728
155
314
54
446
525
253
751
431
246
633
789
157
995
222
758
942
63
547
775
26
266
47
383
851
779
328
98
474
390
946
414
21
819
953
519
297
143
559
204
926
753
854
534
457
929
750
580
958
33
264
722
412
890
455
280
502
153
909
921
943
515
877
984
381
20
690
494
190
310
402
224
83
690
166
271
930
628
512
919
185
555
105
417
103
545
613
32
259
435
441
823
42
289
326
840
482
380
613
39
919
592
857
961
653
554
826
52
78
693
709
238
47
444
309
566
857
849
701
249
633
570
575
448
733
724
633
490
688
774
192
671
318
246
126
975
810
457
214
912
773
129
764
143
186
854
941
550
6
17
903
74
131
141
307
370
582
706
855
148
153
203
589
810
838
349
962
404
679
623
857
69
354
288
106
234
628
182
658
914
248
896
88
501
963
284
763
702
373
87
200
75
253
54
790
139
598
850
596
708
946
880
30
587
287
833
333
101
749
993
495
779
396
461
894
287
442
644
343
947
476
894
405
43
413
979
846
205
600
704
12
733
854
127
296
639
446
931
761
480
815
367
544
310
398
171
329
685
56
610
374
464
551
621
834
420
218
59
364
929
297
996
369
425
220
845
371
348
633
596
773
433
93
887
103
528
699
794
532
850
763
643
639
814
530
888
439
189
374
394
571
719
719
461
99
526
64
821
229
958
114
448
968
702
905
839
674
188
127
215
812
337
252
528
868
703
69
213
196
869
44
567
352
878
707
335
96
501
981
607
304
863
363
399
713
32
310
606
401
260
992
562
30
379
267
82
556
661
42
349
480
910
685
104
811
855
756
176
960
650
277
936
5
809
794
79
471
568
65
535
400
833
948
190
771
635
224
444
642
424
155
284
993
860
755
895
136
188
953
870
875
472
981
127
730
382
797
720
429
869
85
961
642
0
313
315
134
10
179
374
731
392
420
575
422
573
295
966
570
251
153
278
643
471
467
175
63
759
147
468
432
800
747
530
782
516
814
389
189
694
554
129
83
897
830
953
579
860
730
23
673
839
810
77
165
646
624
843
602
30
791
392
379
962
923
618
953
697
652
235
634
716
184
779
914
387
395
422
922
466
691
197
534
115
24
246
586
369
699
720
655
111
991
358
241
409
313
5
312
665
707
933
900
705
223
377
487
300
873
645
946
490
645
503
165
106
725
902
592
79
304
374
724
867
450
329
114
177
737
919
1000
828
308
307
402
125
560
404
721
805
594
79
771
980
988
402
544
222
854
596
435
440
447
368
46
341
870
166
840
105
191
992
749
251
398
544
341
407
422
822
295
296
10
318
156
799
890
725
67
840
413
49
735
846
192
722
563
479
410
718
660
196
915
215
880
692
674
268
896
303
130
120
918
649
496
55
790
521
340
303
767
68
857
82
775
445
603
513
205
990
244
32
437
604
50
510
509
928
708
630
602
760
23
247
683
242
328
130
520
195
667
704
531
98
889
237
392
603
768
224
752
332
794
58
175
129
938
337
377
943
297
857
279
185
328
399
518
189
377
257
636
382
613
273
123
371
468
372
142
192
533
391
383
991
805
828
876
74
895
308
989
578
411
692
981
608
295
801
520
242
636
216
341
75
568
759
113
1
954
877
739
779
426
91
290
218
803
608
511
393
565
82
143
186
499
294
922
211
570
635
224
425
786
339
452
197
581
221
955
971
878
941
748
700
203
892
660
586
201
575
873
987
488
7
315
609
682
454
739
312
938
355
774
67
888
502
291
285
173
801
612
6
562
719
772
344
976
207
434
409
856
981
467
407
306
602
776
612
990
963
406
373
48
777
907
205
480
978
40
100
620
590
348
155
344
957
796
408
785
742
380
514
513
598
689
343
915
859
954
549
89
822
126
46
247
634
597
508
302
868
240
781
486
29
291
514
527
259
577
148
384
15
121
38
873
782
382
716
361
439
499
884
849
184
39
760
364
921
827
521
999
36
350
146
827
769
978
272
986
619
20
28
435
575
910
666
241
759
862
270
436
824
230
458
820
925
560
301
902
282
82
25
910
695
117
307
861
619
57
681
75
196
73
611
500
635
743
544
110
325
719
1
540
507
684
521
470
365
547
603
794
531
368
870
735
771
505
771
827
691
638
61
278
632
279
615
937
723
541
250
853
343
674
101
374
868
354
222
664
649
56
293
285
875
458
903
861
960
510
103
502
333
936
277
550
836
361
639
727
642
737
495
73
759
215
484
867
544
793
0
838
431
805
152
552
42
929
618
173
605
42
546
818
26
402
756
710
675
217
650
503
444
277
791
60
920
608
279
682
233
637
484
61
905
930
610
427
513
393
465
966
9
14
927
228
246
955
807
551
153
564
932
906
618
699
451
822
334
932
883
609
867
997
101
997
331
300
451
652
459
434
839
194
592
308
314
400
643
181
329
566
914
119
405
509
144
913
444
563
116
95
443
867
10
704
841
663
875
994
976
967
625
918
872
130
691
677
415
849
622
741
860
582
96
987
131
362
223
367
950
441
3
733
789
957
638
321
356
300
584
143
590
708
944
0
645
297
197
28
214
61
648
936
545
935
397
544
342
155
765
679
403
175
636
966
19
405
692
145
953
773
735
205
23
948
631
3
249
73
612
996
17
576
303
807
513
187
578
325
563
764
766
483
326
464
149
129
6
420
346
546
107
400
775
743
29
706
374
439
161
842
375
935
127
545
297
592
407
89
266
277
793
384
34
992
347
979
936
721
782
318
32
195
220
803
327
331
112
977
442
610
494
977
842
476
45
388
299
500
482
405
148
712
861
919
864
572
853
36
591
197
506
134
884
327
251
393
517
135
477
472
153
934
911
439
865
447
465
195
807
901
936
662
773
468
186
275
298
754
143
807
156
923
995
502
507
918
895
322
703
492
702
597
614
441
793
876
938
588
5
906
417
323
617
72
126
725
427
85
1000
275
213
212
873
508
130
881
822
715
556
900
679
28
484
578
777
658
393
852
380
902
672
13
138
221
455
723
809
729
296
800
901
420
238
528
660
77
735
844
47
333
895
883
665
502
836
313
630
767
659
343
98
675
780
862
11
376
989
600
197
630
225
385
142
881
762
485
242
223
685
885
521
772
117
574
879
417
400
175
71
215
690
258
529
433
313
27
604
744
911
701
247
931
904
317
620
891
334
191
680
725
791
982
384
244
162
959
116
717
679
3
213
821
301
783
825
757
3
144
461
260
880
164
927
644
292
772
714
354
448
295
231
199
678
870
115
254
962
991
333
378
144
460
640
639
113
92
583
169
43
913
983
208
13
408
843
198
297
89
130
549
194
443
260
605
61
462
193
680
347
291
939
942
725
671
913
17
637
813
342
743
849
948
893
636
746
941
935
174
455
696
787
673
446
775
964
310
331
490
974
754
822
913
229
7
692
545
827
917
313
338
195
482
430
384
940
29
473
70
440
533
569
116
779
142
718
203
481
368
184
526
894
875
435
79
388
527
289
626
836
712
184
354
902
240
499
601
790
266
232
487
419
694
149
850
812
383
776
436
961
959
825
614
526
986
127
754
933
917
118
810
205
235
81
862
645
798
668
358
188
908
933
900
132
715
108
679
547
243
796
620
803
978
430
109
4
479
351
757
753
522
222
3
141
202
854
792
555
169
830
248
600
37
742
304
658
997
359
577
290
800
511
107
463
783
375
544
890
505
573
256
854
781
293
512
394
954
76
852
719
540
521
297
327
107
433
468
192
97
979
927
571
152
928
815
57
687
1000
51
829
80
102
550
601
551
230
528
877
588
869
122
364
850
456
642
930
108
673
448
237
965
978
983
662
957
133
294
424
673
495
242
893
974
147
857
36
729
770
952
578
495
340
624
949
779
559
714
341
589
411
779
299
384
691
111
117
977
867
221
305
443
2
86
280
649
734
289
984
121
848
175
967
636
11
229
336
320
391
268
25
205
182
441
601
252
575
703
944
84
128
719
649
395
537
731
267
654
736
492
249
652
507
19
102
927
601
475
169
954
892
323
878
649
346
34
711
259
96
217
590
38
335
490
965
548
214
239
703
570
999
225
533
636
882
852
0
345
393
337
726
74
823
141
523
821
531
432
723
143
335
989
164
545
400
634
785
721
115
245
326
603
728
243
61
397
432
885
833
350
889
400
706
228
32
697
404
767
427
931
420
721
628
258
963
203
551
340
655
278
427
80
209
842
5
849
999
797
737
442
197
871
857
64
357
602
935
645
81
466
85
330
667
265
297
113
469
839
548
375
176
631
880
658
70
335
212
503
715
273
285
265
510
536
679
179
955
542
960
313
306
303
958
277
563
133
951
882
397
729
520
389
367
879
359
777
224
889
835
546
519
318
864
184
614
595
449
406
457
271
179
309
313
715
324
806
138
434
818
529
518
879
528
136
462
293
668
646
320
589
666
844
331
277
250
810
639
348
638
81
185
978
257
165
429
543
103
262
742
394
565
563
856
450
324
29
746
790
651
524
494
481
179
471
671
412
154
661
215
230
995
507
623
442
455
673
959
738
120
321
15
564
699
849
89
532
328
363
489
686
323
270
626
285
206
135
962
578
268
435
984
266
765
425
440
788
306
606
901
633
476
24
936
687
783
274
303
328
136
653
769
404
483
169
537
514
205
392
66
935
945
276
52
843
722
385
8
445
302
520
530
145
224
975
831
406
715
360
491
119
287
73
277
685
782
390
215
463
931
447
942
374
660
849
498
347
332
166
672
165
353
484
123
831
349
363
896
609
651
501
794
804
82
826
780
709
943
400
745
139
271
867
106
156
357
272
28
504
833
376
592
445
384
795
874
70
83
80
734
806
997
625
211
31
41
203
832
115
333
475
268
353
80
455
233
256
554
354
282
596
505
269
100
497
689
874
275
913
247
556
268
7
53
919
687
223
78
607
491
333
967
362
175
200
301
457
116
38
607
819
964
411
75
149
364
99
921
829
160
284
479
666
536
367
159
810
59
217
73
853
140
30
223
210
379
213
620
912
22
106
908
29
651
779
32
118
72
225
959
166
311
229
201
775
204
959
229
616
187
261
547
285
317
256
319
328
817
614
269
94
645
258
801
707
1
84
764
854
560
77
471
638
927
204
62
462
957
826
601
799
566
295
705
202
669
914
327
263
274
519
654
649
114
621
583
285
288
563
210
778
99
189
410
692
570
509
519
8
447
487
319
77
164
313
318
799
112
613
87
220
380
734
678
768
236
256
359
480
938
618
67
198
483
614
26
503
915
92
7
528
98
188
603
701
431
516
824
577
590
471
967
589
358
850
141
353
371
514
911
458
319
173
532
995
351
343
794
761
801
973
258
875
847
15
457
550
140
176
616
488
733
259
201
897
67
780
643
5
44
974
957
68
44
879
204
66
166
652
438
559
109
54
485
723
779
283
839
863
517
36
362
26
11
428
802
507
415
730
777
67
235
992
299
634
685
867
874
619
936
945
928
528
592
922
160
380
655
375
817
470
178
388
209
183
466
224
728
224
278
683
343
153
108
787
190
198
141
224
282
56
385
730
145
264
104
629
985
711
101
432
137
220
205
617
894
261
68
888
415
438
424
830
76
700
928
99
857
570
67
823
832
6
940
147
171
504
747
241
619
783
443
365
805
171
503
128
490
85
329
139
192
628
233
564
440
163
838
295
52
603
195
161
565
823
672
169
423
611
594
657
708
138
42
4
262
461
953
997
65
22
851
443
997
300
820
423
549
716
266
942
666
10
286
216
628
753
611
408
863
196
713
657
380
366
270
576
424
586
672
899
939
840
671
344
955
223
400
152
442
268
709
446
265
434
26
251
336
756
574
711
851
513
284
827
881
315
616
203
1000
292
298
58
769
43
191
344
460
487
712
978
509
968
96
775
685
498
497
854
275
344
387
544
935
456
717
936
261
971
139
732
515
904
712
111
237
859
251
227
728
967
891
245
285
753
53
692
711
442
187
985
672
320
305
120
699
340
67
184
870
399
44
577
170
59
940
704
868
587
101
786
154
336
342
518
100
293
455
455
27
337
390
584
749
191
977
111
763
67
983
548
470
646
22
447
654
440
606
156
450
963
754
30
852
803
148
937
191
544
928
238
100
595
189
282
488
99
120
603
988
428
831
279
800
928
366
922
755
436
7
54
15
447
871
866
102
773
550
267
574
513
136
437
326
732
609
77
461
679
888
114
918
282
918
694
525
674
756
806
376
297
408
935
804
198
629
716
409
276
285
828
401
163
606
986
293
672
861
56
239
201
771
674
935
817
229
99
398
130
514
589
911
510
111
655
314
932
179
166
593
118
956
490
910
752
635
422
681
587
801
285
373
684
390
322
500
582
661
804
629
773
718
498
583
999
448
845
269
800
790
317
945
162
904
297
474
137
676
912
224
110
81
404
855
939
784
710
530
258
508
513
769
431
914
310
882
856
495
43
36
382
296
183
361
46
634
156
145
590
755
804
410
562
267
551
881
943
377
878
418
581
803
985
775
450
741
467
696
518
257
626
526
100
982
688
150
809
509
133
780
906
972
126
635
349
245
402
947
156
37
797
562
862
658
338
172
411
306
28
697
111
488
299
527
63
613
815
931
836
784
218
613
399
192
96
822
227
858
459
793
742
852
529
65
17
959
102
358
734
468
875
142
61
609
419
821
240
39
258
921
398
880
968
23
406
929
976
488
637
342
88
837
48
11
394
693
768
401
492
415
535
61
121
910
931
911
898
372
131
178
387
141
106
868
160
45
460
147
743
509
945
411
448
994
755
858
319
35
834
532
219
171
357
166
201
883
918
779
196
86
640
397
226
260
710
345
698
694
69
849
729
339
850
679
362
426
767
528
42
781
824
742
687
115
760
451
749
783
289
55
225
784
359
535
70
310
242
499
462
592
381
669
680
798
511
818
865
380
565
135
30
408
889
919
422
544
628
356
474
184
537
65
869
675
103
603
759
403
210
424
919
576
255
172
549
187
423
724
319
274
360
339
811
224
540
138
472
253
699
388
960
530
540
594
137
512
71
752
889
607
581
179
348
499
305
501
876
136
938
373
956
837
814
190
909
750
476
245
799
641
749
249
797
111
973
409
284
761
366
248
530
564
943
580
665
649
91
154
77
706
912
612
507
968
622
207
50
283
292
421
722
617
599
174
638
992
906
713
251
7
20
913
838
289
361
117
771
645
144
140
567
786
972
629
3
486
75
889
449
836
790
621
411
181
187
473
252
788
208
658
324
454
567
408
435
32
152
698
280
655
449
109
584
880
593
318
902
115
420
268
423
110
519
412
645
785
929
0
361
727
677
627
998
261
46
60
320
7
340
935
877
517
153
613
619
293
77
267
702
1000
98
282
858
50
22
925
583
599
435
421
639
765
810
943
60
803
235
540
289
176
344
205
393
408
310
433
689
522
986
316
925
654
667
353
660
575
816
291
309
8
684
239
25
842
58
179
659
572
377
773
98
457
973
340
227
269
160
755
734
147
509
728
415
401
566
557
561
486
767
737
974
539
419
442
449
609
818
718
647
158
864
770
25
980
300
480
961
49
487
893
136
313
555
869
602
377
378
535
699
84
990
691
599
500
895
76
516
584
331
39
347
406
214
876
595
65
180
34
765
356
724
456
443
736
562
975
600
184
794
159
307
155
444
889
903
607
642
916
39
580
704
393
285
379
291
81
547
778
462
788
442
197
603
550
969
102
588
518
137
414
452
495
975
187
965
777
132
584
182
189
892
760
968
694
448
557
778
435
990
104
300
983
432
691
68
256
550
374
836
672
665
523
193
552
147
158
422
30
393
748
24
533
645
606
0
703
863
194
651
664
610
293
93
885
930
756
188
699
261
788
342
941
156
483
437
401
586
594
89
542
690
842
536
489
941
482
441
372
707
809
107
579
330
345
610
355
621
76
25
743
977
644
251
26
81
548
922
531
832
215
947
919
275
811
293
954
434
357
313
126
453
609
146
789
590
56
512
730
375
74
613
531
743
581
792
521
975
931
135
200
581
569
690
781
968
915
372
299
600
533
280
817
568
322
505
768
899
529
216
505
27
541
959
508
1000
254
305
840
800
654
245
120
965
596
804
747
726
909
418
302
99
694
912
859
529
6
177
671
251
888
172
380
674
305
158
74
971
868
957
768
78
418
11
896
603
160
903
293
221
811
173
557
692
157
288
140
619
837
523
201
462
149
780
715
630
443
453
580
366
212
169
290
870
644
30
444
981
254
403
934
708
779
195
535
618
230
748
317
763
197
968
259
456
494
774
648
728
999
752
569
781
773
303
520
70
788
962
396
921
469
995
394
446
335
881
796
490
451
282
217
587
368
26
775
801
682
308
68
492
632
911
188
800
646
926
58
511
470
886
680
866
244
630
291
345
191
898
922
626
18
146
243
382
515
347
84
735
703
222
345
512
306
410
897
229
611
109
100
767
765
696
768
169
893
364
812
759
492
489
583
91
869
171
866
137
102
449
755
801
783
816
925
784
699
593
37
836
213
874
166
125
275
66
927
703
931
663
124
371
950
678
779
892
136
795
740
443
536
331
49
489
468
819
817
350
605
786
663
112
966
697
181
335
616
777
198
239
188
456
40
64
659
382
926
666
721
831
424
806
807
899
675
548
60
44
33
230
345
771
373
603
557
384
950
52
249
442
266
70
60
376
459
598
147
825
97
326
350
967
679
13
878
69
379
183
56
438
588
794
876
758
80
248
385
525
611
42
857
137
719
664
550
244
358
118
72
288
395
925
72
485
709
804
309
244
95
636
661
865
943
665
156
884
477
577
370
600
371
436
347
479
51
332
196
302
642
811
911
408
704
612
411
191
772
476
457
298
656
47
293
907
741
540
966
460
963
207
28
914
742
815
527
145
434
911
849
475
165
38
487
703
61
95
826
718
336
416
496
320
384
231
658
900
588
259
901
127
432
551
995
856
675
509
825
649
397
875
198
523
551
295
245
640
105
67
4
150
156
10
206
710
758
348
421
116
731
244
165
842
983
291
193
47
74
660
684
230
123
205
838
126
609
670
166
273
933
402
494
383
741
914
186
311
543
287
530
741
773
284
622
817
216
32
917
751
900
696
76
827
615
341
527
913
968
189
585
766
989
980
817
334
64
788
58
877
293
438
797
903
446
464
162
30
41
379
705
34
953
189
672
106
598
588
899
67
174
794
796
850
52
226
675
67
80
270
328
522
325
760
60
85
274
587
58
834
909
714
139
755
496
213
906
778
48
383
606
736
353
163
814
788
932
409
131
969
407
61
197
613
964
600
691
535
608
790
529
329
73
886
741
241
556
521
336
269
492
935
61
935
837
901
661
513
690
858
674
172
207
995
501
959
830
949
640
656
546
885
327
507
653
141
687
494
868
576
165
510
427
916
186
893
638
449
557
906
353
273
223
724
594
174
373
134
51
249
781
191
472
189
544
284
104
131
38
310
359
841
559
275
409
693
204
214
30
276
480
472
347
418
962
226
674
796
446
244
278
858
139
145
450
49
125
434
323
223
754
934
389
247
493
890
94
311
434
312
158
293
585
914
76
382
616
495
260
946
685
386
151
387
109
150
615
458
49
963
53
519
712
462
630
941
496
942
236
402
10
399
82
110
734
806
635
33
763
824
271
513
679
30
612
227
437
443
1
35
754
189
135
831
551
159
951
19
387
970
73
877
68
379
309
962
432
989
467
89
849
708
658
214
258
112
990
536
237
276
145
248
885
549
133
374
558
297
221
174
262
349
323
604
120
394
831
433
622
543
269
550
111
492
798
546
155
260
760
397
38
594
188
13
624
860
944
532
891
54
792
26
393
307
817
59
713
281
559
142
124
86
921
911
739
697
96
353
582
642
692
527
855
232
102
283
217
827
707
91
872
519
168
570
35
301
997
970
27
793
974
289
796
279
803
6
568
341
454
482
19
25
59
428
957
812
795
351
424
791
849
483
120
863
462
598
667
547
675
87
116
813
344
552
859
193
638
56
347
277
955
316
924
692
478
848
207
616
332
894
494
855
41
408
741
428
445
71
70
836
680
963
932
683
635
423
831
556
26
435
188
924
84
793
202
216
456
294
994
459
469
144
929
801
151
474
711
647
966
917
829
566
143
467
988
111
904
580
100
240
23
553
986
968
770
711
742
604
291
615
403
776
569
754
435
130
850
860
17
627
317
106
523
158
210
91
540
263
602
318
695
513
362
372
897
398
102
967
784
789
985
64
761
502
121
523
555
771
780
121
124
731
738
671
939
803
867
808
813
141
889
903
776
903
215
961
143
65
720
502
594
796
135
870
343
192
751
307
671
740
394
654
963
546
558
65
789
596
308
413
564
699
911
416
949
218
701
489
526
851
59
844
27
895
450
985
734
398
104
618
991
707
376
224
79
481
693
513
472
677
527
294
20
907
678
757
324
114
460
511
598
710
946
920
873
738
562
576
87
720
111
265
754
263
734
48
448
507
205
568
952
89
972
4
671
958
175
395
430
190
576
897
199
542
786
410
49
17
604
899
481
642
382
622
587
776
369
802
504
228
803
718
956
349
907
249
194
518
42
791
425
338
392
204
262
185
172
23
162
578
337
137
81
475
3
186
657
394
93
980
558
431
469
990
417
77
310
587
211
723
210
3
497
848
499
415
74
724
11
268
446
374
141
297
208
586
27
261
215
503
405
392
563
951
926
792
146
530
155
43
464
790
432
857
582
772
920
65
759
804
282
469
849
371
212
730
75
632
28
486
426
730
436
561
454
827
465
236
983
332
959
322
414
387
439
19
142
867
501
604
428
879
38
536
350
705
698
260
701
130
828
675
951
109
21
134
802
464
544
312
318
466
626
558
489
848
946
256
850
777
275
775
699
523
306
409
602
102
214
454
759
718
451
623
472
807
158
343
17
885
115
807
195
808
269
685
99
717
198
453
777
608
358
867
317
479
939
973
927
562
577
337
447
776
362
380
688
625
791
635
641
932
557
775
786
691
294
722
731
42
620
823
593
506
80
688
774
33
742
438
437
1000
725
14
495
806
775
48
484
786
952
983
646
983
999
339
870
434
427
890
936
859
914
376
890
360
188
658
798
934
731
554
529
960
221
753
517
158
933
217
129
856
778
91
285
888
252
894
323
55
418
421
402
413
13
209
957
917
806
497
585
814
369
914
808
740
42
825
274
693
937
755
744
688
889
678
270
136
425
118
474
84
697
538
185
951
183
710
296
898
151
60
223
77
281
699
952
901
964
978
162
535
930
14
999
25
2
358
77
702
194
529
181
432
840
466
960
748
269
122
381
984
628
723
346
106
459
974
219
352
236
928
778
892
648
91
985
703
4
982
780
195
755
567
829
786
121
936
27
600
928
709
586
210
967
912
396
506
791
12
239
681
775
499
864
628
296
680
174
439
164
968
925
443
212
462
385
754
404
69
20
696
152
311
689
551
16
588
792
851
312
376
741
295
519
406
318
541
841
29
170
308
508
247
711
642
280
82
32
680
259
399
982
816
980
762
817
454
474
989
355
620
812
399
110
845
668
880
116
779
408
54
247
46
124
194
55
984
402
898
204
565
90
889
830
168
160
487
280
774
652
8
214
165
491
38
396
644
991
24
381
585
941
933
53
893
689
623
729
954
859
421
576
451
196
941
659
714
912
827
162
53
916
616
617
624
139
809
71
538
486
818
863
986
993
197
26
113
589
467
865
471
395
721
607
862
171
903
245
356
462
211
405
942
796
24
459
826
736
958
403
861
133
308
753
570
499
108
552
417
288
763
628
248
384
219
720
964
275
599
982
534
383
984
386
123
102
110
659
759
672
759
311
13
342
978
79
341
608
294
317
3
119
456
166
94
622
831
319
723
568
675
257
969
434
317
230
286
831
219
523
761
310
411
242
870
81
371
159
894
319
27
42
560
654
963
891
810
7
549
26
992
853
971
851
952
983
589
397
423
735
678
440
805
781
222
203
871
363
504
86
352
173
645
705
69
243
526
24
904
714
968
341
483
361
380
583
684
849
472
41
335
870
720
450
829
356
273
765
880
917
924
705
9
494
324
636
830
248
783
157
801
748
209
512
664
557
833
69
480
796
864
794
114
565
941
658
875
788
147
251
347
596
982
119
436
328
630
849
394
98
915
680
366
774
570
921
834
378
802
20
694
3
938
920
774
753
730
169
989
200
455
833
995
578
322
0
548
783
882
379
545
289
458
24
852
482
919
29
398
115
687
575
537
984
881
166
643
312
371
308
315
373
284
806
119
242
166
672
256
339
293
357
639
505
478
626
538
676
249
570
607
415
425
271
729
339
686
675
167
172
101
32
505
130
827
751
61
739
993
878
800
802
239
390
229
663
755
751
886
6
840
665
423
535
531
390
930
337
67
519
600
820
628
510
74
589
398
29
637
807
767
352
892
762
298
468
874
236
896
454
603
14
882
239
418
951
985
821
485
997
356
802
754
735
89
442
649
870
254
465
85
576
692
822
858
225
750
46
390
539
604
560
89
850
52
147
694
171
337
470
137
771
656
418
135
863
358
107
63
253
646
29
281
994
515
301
332
969
681
468
179
143
451
807
550
58
200
67
989
467
393
389
487
691
265
431
419
280
220
894
866
385
23
958
621
234
133
397
503
311
342
251
647
890
200
475
352
742
977
493
785
963
973
656
690
59
496
566
345
187
109
618
746
194
609
941
457
109
527
924
519
148
709
96
296
524
562
293
739
903
22
76
671
546
602
341
373
240
5
63
497
326
548
856
869
57
367
43
463
929
432
535
483
719
301
222
429
803
626
819
846
833
727
97
311
345
502
844
559
718
485
570
352
247
5
917
616
970
985
941
451
489
236
504
776
848
659
913
877
782
225
77
868
467
314
957
743
14
109
823
860
153
788
655
932
742
437
589
484
188
226
524
105
544
780
707
514
578
651
391
41
938
167
455
10
252
194
697
564
675
818
234
892
611
993
304
283
648
198
712
191
440
349
477
945
285
922
302
476
977
340
419
424
335
487
490
255
347
423
564
571
644
27
575
863
422
774
321
519
799
474
656
633
288
167
982
89
695
331
57
803
730
339
57
347
872
242
38
139
305
254
236
555
322
487
513
146
591
820
864
600
488
483
965
693
201
617
124
981
153
462
230
861
995
637
844
777
409
981
36
929
106
737
30
260
304
237
954
277
337
432
503
630
49
735
372
920
431
936
920
844
720
159
739
655
402
266
66
649
18
231
937
611
845
535
97
392
946
596
645
768
508
945
694
231
506
544
283
104
632
926
682
732
979
883
358
221
291
814
217
291
574
306
568
240
296
722
581
27
813
851
884
595
304
967
906
430
626
769
648
769
47
267
114
912
293
381
364
511
390
863
97
618
547
472
277
650
482
750
870
925
336
273
93
27
107
605
820
436
248
907
735
219
17
655
760
398
71
791
215
794
191
541
29
424
911
825
727
423
70
96
351
155
310
794
204
377
903
856
273
994
100
765
935
166
299
223
977
473
907
183
709
848
726
662
24
129
591
197
61
431
857
203
789
646
515
204
186
268
286
166
195
3
878
268
896
732
754
700
905
674
50
344
652
684
933
522
92
823
851
180
979
990
711
407
744
130
121
457
593
187
477
802
288
118
397
399
77
588
194
3
885
244
556
24
5
323
303
153
70
837
949
114
467
208
180
8
493
386
489
647
599
310
947
342
549
203
838
728
858
566
657
966
337
334
467
456
435
830
88
775
961
857
676
293
405
23
739
336
288
426
429
978
386
829
682
715
558
565
880
267
902
529
455
722
49
363
768
651
329
598
600
993
957
835
133
866
212
614
891
51
474
641
402
67
239
414
831
687
935
819
768
899
20
614
54
737
628
458
527
482
116
172
511
958
351
606
732
448
833
798
116
783
61
230
174
715
65
32
155
217
209
313
321
147
505
413
628
987
576
215
890
311
354
31
994
463
546
334
810
649
282
596
112
93
428
71
831
931
891
193
79
347
19
575
518
641
703
583
108
741
650
124
561
724
802
50
498
883
988
172
6
10
145
828
661
182
2
861
228
223
840
490
45
305
960
278
167
430
980
884
320
796
410
629
853
988
435
499
762
622
681
574
898
113
969
226
61
33
871
238
286
739
318
186
830
911
87
435
458
861
410
233
861
151
760
204
526
317
398
552
285
628
334
80
536
861
604
35
989
768
622
877
303
295
436
539
340
797
223
164
333
320
38
346
554
209
992
930
164
596
990
238
99
81
748
8
898
221
809
823
182
576
598
583
986
753
463
979
652
728
103
624
623
667
489
671
810
986
746
474
830
758
104
606
506
797
240
267
470
304
153
203
922
765
715
57
358
776
355
794
297
563
617
381
505
117
13
328
586
681
565
196
887
581
866
210
268
455
716
329
92
429
531
44
764
800
485
261
150
996
721
860
416
577
578
49
595
588
272
594
675
523
748
355
970
536
599
472
314
955
391
831
481
727
823
961
964
284
130
832
998
362
781
46
322
758
241
788
570
311
970
762
684
349
654
855
916
68
938
962
995
719
983
948
835
710
251
275
779
644
300
950
154
386
685
8
710
433
218
510
2
616
765
842
56
143
759
484
585
174
965
523
613
128
110
696
390
276
81
313
710
431
486
698
523
380
70
954
176
166
80
335
314
819
148
939
609
2
921
119
103
331
61
850
807
815
393
886
141
382
964
450
339
236
753
820
561
675
888
753
384
913
516
7
666
215
106
660
469
460
188
85
117
300
622
148
981
901
865
81
24
917
39
573
11
287
957
651
994
184
15
342
370
237
0
76
718
149
971
550
106
263
250
383
490
162
617
615
282
36
486
251
773
751
678
800
712
476
425
788
391
257
835
824
238
99
2
871
106
901
549
612
995
87
784
54
801
51
153
176
249
106
219
869
392
467
458
631
702
681
455
34
851
791
227
8
950
303
392
930
111
261
306
816
604
26
922
857
909
72
513
492
955
682
396
920
531
143
756
863
168
585
372
497
558
835
325
285
469
285
461
68
687
643
48
970
477
248
937
186
644
754
559
355
441
386
492
131
936
350
89
879
717
681
828
593
912
137
904
372
970
665
541
657
559
287
813
743
218
129
408
738
65
321
860
525
129
0
771
708
664
505
985
979
248
987
875
328
636
952
111
603
962
824
764
907
845
554
506
457
26
902
268
815
777
45
332
953
863
210
589
974
495
856
803
679
259
976
304
1000
663
316
641
71
551
338
155
262
554
927
462
849
377
790
830
394
449
672
604
2
231
128
916
323
345
486
821
158
568
837
416
705
368
736
816
550
731
589
24
497
507
282
743
227
813
645
129
200
8
73
500
438
569
833
147
216
199
232
297
328
672
848
571
114
861
92
425
64
310
812
553
365
312
211
930
53
28
893
751
32
261
147
214
302
204
568
803
971
190
816
793
592
959
144
919
414
869
24
210
251
419
744
708
205
786
976
264
641
650
92
32
716
469
922
554
52
932
325
131
502
615
445
10
142
314
275
64
517
652
646
687
349
943
200
969
369
724
913
165
60
378
345
227
821
175
369
568
605
218
942
755
130
638
477
215
924
916
484
771
579
766
745
852
625
170
931
751
237
704
656
471
368
689
432
355
102
740
956
146
460
88
465
560
856
20
656
845
741
337
987
798
597
411
897
541
347
390
318
814
577
951
95
765
800
991
407
107
101
257
206
844
586
412
845
815
991
688
324
608
711
558
449
759
973
792
410
992
739
530
898
304
671
641
866
204
351
383
621
843
623
48
739
668
915
297
843
6
327
176
167
467
672
825
564
515
983
609
329
527
30
981
364
890
978
654
130
429
191
616
705
868
123
228
394
610
679
464
884
245
155
650
942
434
629
469
516
608
220
177
170
892
9
811
443
964
816
436
550
969
194
216
278
858
94
996
36
82
767
446
566
541
269
908
297
542
32
312
700
210
876
337
117
244
143
39
184
546
533
19
869
583
954
492
7
25
378
963
585
677
200
350
382
695
768
687
438
226
376
266
976
179
725
89
109
121
692
232
753
236
541
84
850
523
139
110
128
661
942
202
293
490
100
705
836
362
782
155
340
536
555
57
348
61
198
696
873
100
396
179
265
245
155
551
400
226
159
454
98
586
227
188
664
383
685
155
895
673
191
535
484
744
240
160
175
355
360
782
809
740
325
67
821
769
372
561
510
695
744
73
643
478
35
280
253
134
301
149
297
373
417
25
50
791
489
522
357
7
5
366
209
513
732
255
342
299
442
580
694
130
115
371
115
93
65
177
848
795
624
694
595
733
774
862
435
888
832
494
143
249
176
731
281
373
694
586
939
504
306
468
985
597
342
503
903
414
570
747
676
504
524
687
789
395
524
575
503
866
207
595
672
513
459
382
640
76
260
450
158
269
499
662
439
370
697
676
233
435
486
764
202
233
212
928
481
634
919
294
343
155
18
349
911
525
275
42
889
11
991
927
919
663
888
718
519
885
203
167
458
390
605
956
288
1
426
834
97
267
487
434
868
64
664
625
805
733
950
982
714
800
461
724
665
398
103
124
88
656
998
181
897
42
766
474
426
795
227
535
358
500
960
837
952
812
439
358
832
159
198
322
394
824
413
438
539
282
215
142
371
26
22
512
790
522
115
395
412
625
224
790
191
93
603
38
851
911
410
213
66
499
778
429
53
664
763
439
988
425
369
800
376
304
874
559
789
27
375
28
318
318
88
284
595
972
166
740
165
789
189
812
854
510
939
209
130
391
95
535
786
888
496
428
620
895
339
513
540
88
680
194
880
234
713
469
904
775
188
733
143
974
536
640
92
988
988
78
356
999
747
412
347
168
355
362
763
149
749
674
703
318
568
61
43
214
421
327
342
513
657
441
783
23
770
688
670
641
421
836
685
57
983
414
968
985
790
521
355
748
135
192
508
492
185
861
544
417
45
9
962
286
417
250
385
109
197
590
52
796
802
710
268
444
336
790
241
814
642
902
991
630
727
580
469
45
439
62
767
32
172
688
163
677
912
950
446
66
808
924
738
268
657
989
28
768
680
319
1
936
191
318
612
20
673
238
851
234
44
486
431
941
499
443
718
76
79
527
922
281
918
389
992
393
734
580
449
45
219
615
230
642
863
974
804
404
105
610
798
435
793
328
33
525
828
912
77
310
620
465
956
731
748
264
587
665
244
385
752
223
959
587
110
709
760
963
312
381
510
44
74
183
211
99
218
543
425
912
500
576
254
842
507
592
538
951
558
527
495
438
709
504
244
541
886
359
752
515
482
744
976
457
317
686
678
463
136
953
962
400
352
911
746
386
288
432
619
651
918
35
72
170
208
230
381
121
17
380
563
192
3
724
638
541
848
497
130
723
215
879
291
730
259
315
262
117
354
645
408
664
402
38
461
935
936
862
502
265
377
349
478
85
335
30
528
748
529
226
180
479
68
542
367
140
50
362
655
374
302
11
367
710
710
671
638
132
543
227
345
366
30
214
638
704
767
712
585
591
853
644
274
367
799
953
685
632
737
935
868
260
105
944
49
811
555
277
560
503
124
825
291
262
46
68
120
599
394
381
943
410
85
295
680
707
222
985
274
113
796
370
599
221
993
385
153
398
557
9
376
845
89
929
660
475
884
386
303
439
114
711
10
831
351
560
187
225
375
305
815
770
262
322
675
62
233
721
169
743
139
591
492
766
527
708
162
845
209
653
59
427
855
560
617
877
591
162
907
683
921
912
427
410
635
708
160
534
153
797
885
667
90
887
395
859
846
729
331
959
249
448
934
218
913
826
146
898
371
183
675
775
577
829
286
572
596
163
879
260
477
130
249
608
681
197
620
501
554
104
957
520
760
402
207
219
941
560
277
870
611
661
846
915
435
787
273
94
472
537
805
558
332
893
989
445
601
984
814
140
172
748
90
769
459
114
497
338
99
256
416
790
88
948
734
769
471
497
81
967
287
830
36
574
38
576
763
219
969
5
277
184
457
793
572
487
818
533
607
664
530
707
307
238
181
162
295
178
546
729
577
852
779
101
73
109
488
500
757
404
320
832
975
290
412
685
766
756
108
863
638
409
929
474
847
335
491
97
153
630
160
845
223
441
74
861
836
815
189
206
622
521
273
247
343
593
543
810
580
649
946
986
582
773
737
863
22
19
826
707
626
695
779
499
388
408
719
439
654
794
796
983
970
310
799
605
59
814
965
586
501
927
48
124
711
90
834
813
72
518
379
313
211
398
309
946
926
639
138
924
957
270
937
939
901
804
28
720
630
186
823
188
398
897
941
910
327
273
748
389
227
236
247
675
367
28
624
114
979
245
92
253
614
897
932
208
173
274
127
382
352
202
44
800
206
772
217
932
522
133
431
847
222
481
125
876
590
111
927
915
806
956
370
170
871
854
495
158
743
559
75
214
618
220
351
210
725
805
70
774
927
197
204
155
133
699
654
765
531
271
484
794
545
92
957
811
196
195
939
301
26
266
22
908
447
328
816
721
65
214
87
685
49
72
81
680
751
476
668
82
66
273
328
522
935
802
711
717
82
741
551
501
519
502
29
621
862
972
618
943
165
778
642
347
863
619
932
416
127
957
784
794
850
536
915
368
306
209
729
905
652
54
94
180
228
664
423
725
564
303
663
804
2
132
912
988
669
228
538
77
694
854
60
473
726
628
579
11
331
111
472
518
362
496
77
770
204
433
693
957
184
711
960
841
70
695
578
85
48
604
431
954
255
223
376
370
728
60
46
168
946
825
962
635
470
821
537
965
253
515
353
170
988
694
331
850
296
464
8
117
33
192
296
877
441
210
858
448
749
439
664
298
538
120
52
194
643
861
840
380
196
959
123
23
225
831
88
845
76
245
989
295
378
868
6
166
869
938
342
658
518
643
144
735
486
528
902
397
18
51
567
277
488
746
994
440
882
902
420
922
809
43
514
745
948
845
16
432
924
141
883
8
529
749
996
158
752
99
643
510
883
134
498
622
479
955
807
920
269
370
274
974
471
307
982
786
30
819
188
818
307
430
518
473
507
971
771
83
247
426
14
96
196
707
882
437
173
912
482
479
309
116
5
187
335
704
937
897
878
842
262
434
829
231
576
525
192
802
14
515
935
707
374
112
383
167
681
750
238
649
474
453
800
336
829
721
812
226
398
476
486
652
636
699
167
942
631
441
611
256
922
943
137
35
700
889
293
982
116
95
489
176
356
964
357
358
80
695
469
414
748
511
723
742
243
105
388
157
124
672
999
430
36
342
727
205
548
570
447
151
275
319
343
175
511
919
640
153
64
251
166
63
678
547
689
79
863
335
675
959
940
807
688
280
598
552
814
44
426
763
922
609
461
970
587
913
113
365
867
430
543
533
658
124
585
172
932
723
211
222
23
703
914
385
845
474
341
663
590
348
318
532
525
179
19
746
615
16
124
642
792
860
569
368
715
73
899
507
858
872
225
668
518
554
180
153
251
115
578
63
586
697
744
297
484
627
566
941
371
633
232
398
864
754
843
257
180
328
842
479
758
902
393
638
274
438
220
340
233
952
304
988
900
692
933
417
224
254
140
252
647
537
790
206
563
104
439
890
216
711
856
397
33
78
333
244
639
483
2
23
522
777
465
821
7
681
446
415
269
530
597
719
216
414
290
735
952
980
60
875
141
186
551
765
903
535
607
92
245
863
979
497
411
504
400
101
319
599
663
841
844
345
298
349
669
143
237
452
843
509
846
752
98
418
377
266
43
65
883
809
419
657
736
768
439
565
827
555
80
901
999
822
937
617
14
181
64
156
338
295
759
214
856
149
803
804
925
608
770
87
420
573
484
105
811
684
274
431
271
73
636
498
127
103
470
896
723
204
812
120
420
357
170
624
429
427
344
245
942
535
95
99
367
731
870
160
117
135
268
747
822
620
449
713
375
257
393
688
122
530
582
755
96
351
163
480
930
443
578
31
279
686
245
502
991
836
213
181
631
530
5
57
707
87
752
789
592
322
814
33
314
331
451
916
258
335
623
791
422
47
40
550
323
11
772
919
545
691
525
522
576
510
783
175
605
246
580
37
232
834
711
193
927
666
7
329
169
687
560
301
691
874
219
435
387
180
4
57
127
521
437
480
451
426
196
198
502
784
215
228
155
61
629
42
486
966
505
448
823
399
639
432
846
432
797
583
579
328
492
826
431
334
690
950
517
463
782
439
76
309
543
217
735
37
958
83
25
793
202
519
318
584
269
716
316
122
669
966
730
551
963
926
303
332
527
449
673
70
990
898
428
544
90
963
732
192
753
196
626
103
983
289
513
366
300
514
924
44
592
740
771
103
350
233
946
310
299
644
29
532
814
30
505
170
389
642
237
520
727
586
658
0
433
612
117
433
513
849
83
649
205
27
619
790
778
550
562
829
750
442
462
15
977
726
723
988
160
94
127
123
807
505
473
507
3
939
89
918
702
114
230
267
781
289
999
804
623
151
342
662
752
826
411
901
873
520
648
522
164
952
692
44
682
199
410
193
699
138
412
518
296
834
253
769
605
88
878
490
909
67
543
396
111
276
86
143
769
366
267
546
984
945
226
597
510
674
580
706
642
892
945
520
447
898
288
200
374
161
842
407
401
116
434
257
623
333
449
30
26
629
86
614
305
167
671
290
937
511
560
350
871
682
22
512
637
908
878
332
561
696
207
853
866
275
389
463
289
92
56
631
843
215
328
652
919
843
80
544
894
369
729
69
193
3
879
510
233
170
174
2
344
8
91
799
167
740
372
314
581
579
672
665
395
919
743
715
693
581
986
832
438
221
925
746
833
269
111
89
677
435
553
304
943
11
691
813
612
46
151
718
104
506
254
613
708
943
962
990
673
758
486
24
225
183
447
100
795
660
86
115
602
268
856
439
767
373
973
839
674
497
250
449
450
86
627
491
123
387
129
81
906
531
281
734
193
487
547
220
377
28
876
406
399
449
933
602
883
414
190
992
18
649
525
75
106
182
414
131
459
600
745
517
631
690
676
597
57
89
302
109
413
811
75
669
141
593
836
257
791
669
186
163
191
438
219
631
509
930
487
437
409
45
420
312
496
121
301
601
528
572
264
924
687
524
444
320
450
943
688
570
289
808
933
517
892
976
409
574
904
969
957
651
609
410
846
318
673
79
972
510
265
933
364
830
666
107
19
880
794
572
579
221
311
446
495
86
791
954
586
406
754
637
179
26
964
11
737
101
236
761
90
787
775
917
955
225
991
552
212
604
422
512
89
387
623
23
581
796
146
338
326
275
414
978
514
578
499
487
601
323
198
35
37
931
403
203
841
480
29
727
624
164
422
166
865
635
316
399
336
408
677
628
838
478
518
854
101
23
533
286
572
64
569
259
649
368
826
490
293
270
525
5
216
182
530
138
685
321
440
248
620
736
464
905
924
353
60
990
182
237
349
372
608
832
999
228
612
454
790
372
847
607
320
927
479
259
5
528
166
66
533
908
454
81
702
49
311
405
910
923
968
206
712
660
56
25
153
381
470
91
942
362
842
652
157
950
700
313
802
253
809
122
641
204
347
323
705
534
460
294
667
923
208
455
631
806
131
916
375
591
734
49
493
424
565
276
45
571
802
348
905
719
367
598
8
500
932
509
479
751
575
986
467
69
395
154
695
823
709
802
711
179
423
928
443
870
543
189
803
98
430
140
463
934
526
770
900
97
162
955
612
35
719
931
245
507
269
966
840
280
217
197
335
109
710
982
456
151
205
987
586
686
2
149
332
895
650
834
627
26
823
299
478
487
535
389
222
529
789
212
638
370
869
167
740
998
316
769
245
477
847
763
108
543
633
555
732
237
413
906
68
453
757
71
959
215
723
466
730
712
920
471
840
965
211
499
684
756
744
508
154
581
925
383
575
510
397
707
400
623
400
142
384
813
338
332
171
988
255
346
180
419
222
569
63
373
371
296
677
477
69
591
681
177
246
801
68
696
550
111
139
82
984
678
493
313
26
99
68
953
717
870
892
903
927
576
639
193
230
835
925
301
905
268
160
865
604
91
379
336
878
430
609
432
509
639
952
912
341
475
624
459
549
58
175
931
835
362
859
20
945
99
445
637
800
981
69
936
30
359
288
221
255
636
365
905
575
904
716
914
420
309
253
206
240
472
486
809
187
11
408
391
906
279
886
405
663
540
933
902
752
85
900
678
194
66
812
124
275
721
660
46
442
648
672
344
804
718
482
54
928
995
670
287
939
649
472
467
422
705
438
573
933
104
514
273
504
27
842
426
466
132
178
970
758
844
327
858
280
276
61
928
639
436
924
903
903
233
91
968
269
686
668
286
264
972
441
116
364
411
560
623
567
222
160
432
198
262
67
640
647
151
304
986
630
902
123
257
930
322
35
244
86
925
864
174
656
83
804
394
223
780
725
528
937
524
798
122
166
849
913
856
991
13
455
395
323
414
733
849
401
335
24
393
477
624
154
428
918
535
167
3
375
534
444
654
470
147
39
354
431
109
34
523
687
253
264
119
282
222
677
654
9
705
965
938
461
675
752
886
995
712
165
505
478
830
434
555
994
553
794
963
412
51
208
516
301
683
791
27
391
579
36
374
445
677
454
513
446
687
401
899
505
159
211
712
888
591
726
975
645
473
760
477
626
516
121
319
182
503
760
897
277
120
828
470
657
816
476
656
540
288
808
378
921
813
656
21
872
340
829
280
577
224
492
384
370
499
216
321
452
501
729
845
187
545
613
303
648
570
10
63
496
215
240
223
11
610
831
961
768
412
847
965
678
722
413
909
955
417
82
436
251
729
841
362
945
319
992
831
818
327
572
446
105
660
813
40
49
933
439
328
741
407
372
113
125
61
254
709
398
911
969
256
861
393
721
104
406
767
350
425
573
421
599
65
416
144
830
948
161
550
342
534
83
427
587
452
794
717
168
821
192
323
277
503
482
207
358
676
120
82
611
847
470
972
378
490
165
125
195
118
507
434
405
953
755
304
145
31
611
19
144
443
579
368
749
62
882
957
724
604
263
889
511
109
478
920
791
393
978
186
493
543
653
968
580
880
296
50
179
151
540
407
118
20
615
856
94
702
344
511
527
510
254
311
740
363
910
741
56
665
731
79
908
392
808
450
335
442
610
996
696
224
765
871
343
4
286
953
217
171
208
214
303
710
359
461
694
254
996
733
711
697
688
223
171
622
118
986
820
962
59
196
822
887
661
657
121
18
555
597
75
924
984
603
734
904
154
454
644
433
156
553
261
163
709
653
134
143
363
150
221
875
405
806
621
23
170
858
850
336
686
730
675
288
503
535
30
359
776
186
54
807
149
93
488
908
358
695
407
836
479
682
726
934
892
496
341
693
883
592
219
173
189
634
797
760
185
464
710
698
627
385
815
514
264
490
387
100
334
187
407
788
602
83
58
670
622
245
385
360
728
28
929
17
214
961
760
224
455
733
602
943
448
660
319
144
465
462
687
945
457
144
354
140
629
738
107
903
193
949
980
877
967
796
786
528
911
11
615
273
117
962
99
334
867
553
442
654
798
645
61
575
321
508
55
896
427
537
515
731
925
931
678
548
950
711
763
276
692
794
815
142
718
653
469
568
330
158
194
373
639
992
963
970
1000
415
856
67
186
440
483
487
325
978
232
386
675
687
597
16
869
578
996
730
14
699
81
91
269
138
233
807
839
830
262
252
721
486
480
117
184
195
577
795
180
128
593
755
463
652
36
611
479
59
161
795
666
516
415
73
65
180
64
276
828
871
942
808
678
718
70
434
207
798
847
556
703
306
835
670
985
189
745
119
18
106
252
545
30
965
207
444
786
387
662
125
335
509
942
1000
833
873
486
721
169
237
592
883
319
680
586
147
275
189
258
520
180
782
396
410
757
485
9
177
822
535
722
456
855
577
148
133
531
949
978
411
970
530
0
176
877
134
964
357
502
932
620
439
106
963
924
940
116
335
633
304
523
298
215
358
561
675
519
505
102
714
923
709
390
347
267
613
637
59
175
93
916
95
779
825
562
783
388
393
161
276
588
579
332
220
421
21
960
608
862
540
370
318
943
593
137
372
361
204
808
366
774
650
142
955
39
854
474
977
419
13
445
534
596
118
976
710
537
123
657
485
800
533
881
0
103
913
934
231
436
0
717
825
855
827
705
797
804
629
395
169
701
24
705
886
379
763
122
362
657
515
535
489
500
782
403
609
73
938
578
619
949
491
798
205
969
850
585
809
530
476
59
426
781
0
1000
396
434
565
859
529
682
325
490
842
567
61
132
175
213
738
48
794
49
809
328
901
344
683
488
286
787
278
873
611
682
548
534
231
643
783
879
793
31
974
408
502
937
183
504
989
754
790
693
645
648
754
247
155
683
5
576
882
941
997
78
631
65
935
570
377
843
346
968
946
143
730
751
33
77
913
884
336
216
853
256
668
421
363
377
291
568
540
806
201
205
718
214
543
501
636
243
224
394
705
598
227
113
179
436
439
995
896
585
29
569
432
960
129
828
461
798
905
514
594
616
180
487
809
239
746
41
30
256
530
439
850
355
704
890
880
578
930
264
188
795
970
987
789
845
789
710
284
249
953
803
955
263
571
941
911
913
642
996
611
721
952
168
570
531
298
787
669
623
386
852
436
410
767
806
712
507
56
209
591
916
923
877
287
636
277
713
735
589
556
883
273
27
869
430
603
595
97
82
559
343
1000
747
718
764
37
443
423
34
520
58
782
21
920
759
507
908
788
909
494
904
166
888
154
360
813
658
467
162
187
609
422
994
395
519
422
710
473
881
286
179
427
130
819
518
703
2
900
920
298
596
214
858
591
898
449
672
150
359
516
682
340
687
470
858
49
371
515
258
291
181
841
629
691
980
9
60
635
225
617
554
2
249
394
551
964
964
627
283
323
156
780
970
327
505
89
93
628
790
396
196
942
162
65
918
791
324
408
504
813
154
621
172
529
796
943
843
496
0
504
518
733
224
64
783
896
407
245
673
20
699
380
92
455
862
850
611
956
883
956
0
123
432
523
795
980
866
445
888
130
239
667
616
514
675
30
116
50
142
625
757
722
227
849
505
206
384
985
427
731
159
28
429
666
418
928
100
437
511
873
675
635
107
231
449
562
336
521
497
799
497
807
743
266
183
672
920
309
224
355
615
81
31
191
903
863
133
968
371
899
85
427
14
81
164
734
297
82
847
103
948
928
619
771
923
306
659
991
954
614
652
438
35
730
694
147
236
518
110
950
824
313
577
112
291
695
607
215
664
567
786
664
736
314
427
836
154
669
898
870
86
666
198
573
788
609
356
820
92
361
283
575
393
864
396
99
608
615
104
745
255
126
173
473
926
51
798
64
97
369
431
605
551
615
186
925
129
968
927
257
445
307
815
502
905
82
75
178
162
950
330
341
93
943
601
447
554
426
586
745
706
566
883
479
105
192
285
902
720
428
645
710
152
770
596
896
791
226
664
719
814
422
777
148
713
597
905
548
477
396
572
389
583
685
85
483
347
649
725
258
495
63
944
624
532
333
621
80
573
179
949
542
20
987
266
973
190
778
258
537
49
196
123
546
919
233
612
275
62
152
207
517
788
20
276
461
439
833
607
601
362
444
625
679
497
703
456
355
542
752
56
29
339
267
98
473
505
136
317
298
222
358
322
946
346
253
167
408
992
784
891
86
162
24
405
599
942
412
660
613
745
563
991
565
327
512
206
162
816
14
818
911
947
405
795
227
205
922
335
328
807
989
582
6
985
487
502
880
375
304
879
595
502
767
896
814
17
210
811
531
762
724
152
506
890
667
916
825
596
76
367
377
633
23
21
674
368
694
619
117
188
627
570
704
984
339
619
282
901
286
106
49
985
216
165
802
377
424
601
821
516
464
356
818
894
223
559
193
808
492
552
704
897
765
812
836
765
624
71
278
178
944
810
662
998
357
56
399
392
743
225
388
612
304
783
775
633
262
623
355
83
620
699
501
344
356
508
790
772
112
655
978
720
283
554
294
3
890
532
353
325
562
907
661
623
121
807
520
332
333
89
149
252
223
69
558
813
19
265
189
81
533
903
937
461
515
699
680
978
541
326
441
90
629
154
514
238
12
448
950
78
942
986
68
74
254
868
279
114
396
823
431
511
755
883
979
591
163
27
674
415
559
326
292
692
62
767
49
92
480
370
488
118
81
103
851
829
247
6
203
146
803
67
579
363
542
627
91
237
528
366
959
607
653
490
359
417
459
688
316
619
612
358
297
439
761
222
613
249
228
605
784
654
776
1000
708
483
409
34
12
94
874
37
166
357
986
87
954
772
889
965
676
515
599
849
270
647
56
826
7
320
463
839
580
612
886
12
153
530
11
548
505
393
151
1000
712
372
951
478
970
278
77
646
686
870
233
766
307
595
870
736
923
403
647
318
69
230
27
75
288
737
626
341
34
219
109
462
301
795
876
552
893
737
336
767
655
554
982
85
558
584
487
941
93
442
66
246
435
229
906
413
929
730
685
672
853
177
377
963
354
992
332
109
868
559
362
948
234
555
802
918
182
810
456
84
43
414
527
271
800
40
64
444
240
548
969
377
467
401
331
344
417
665
999
973
821
288
112
602
731
864
585
33
679
86
418
555
863
635
641
390
91
248
314
529
816
944
134
995
342
963
722
783
557
472
171
729
628
513
120
310
388
488
441
969
337
146
522
10
41
409
13
852
714
45
23
479
219
536
513
306
195
150
847
460
674
295
474
455
543
269
103
805
2
766
291
589
622
182
208
260
347
517
936
281
535
608
432
981
509
233
12
204
703
977
745
220
522
786
900
761
270
864
503
263
892
235
898
608
123
506
238
113
810
313
76
365
840
395
177
55
703
719
420
880
104
704
735
943
35
267
847
82
693
989
890
807
603
164
153
126
757
143
831
826
11
149
676
138
832
491
963
486
831
998
298
966
66
912
854
333
712
941
70
748
223
151
163
159
725
821
217
53
0
378
392
659
340
596
463
580
859
675
464
695
223
109
624
870
600
928
683
692
923
452
973
335
10
973
644
734
471
117
459
318
491
281
924
71
944
280
852
486
409
196
506
866
362
560
979
373
541
16
56
316
818
658
448
402
513
219
334
152
963
425
100
969
513
758
477
468
272
217
219
176
202
509
966
402
673
44
158
279
45
376
801
755
307
30
150
612
592
425
98
364
845
565
372
770
792
321
792
709
704
409
622
254
463
966
897
629
579
463
38
52
179
257
450
213
867
163
338
947
626
731
473
942
842
107
140
749
377
560
82
698
994
690
239
618
281
375
863
774
526
805
669
688
886
995
74
669
616
864
302
670
858
415
195
762
812
594
125
646
836
220
49
478
80
724
149
851
286
468
829
69
136
106
292
48
171
389
881
713
42
974
865
898
722
268
211
859
161
186
173
230
81
456
638
750
692
24
680
346
667
55
632
617
634
149
512
946
230
728
108
628
280
321
192
223
664
913
42
649
208
22
296
559
446
451
796
724
489
450
857
737
68
218
138
949
593
583
319
474
326
48
766
211
174
911
580
155
531
338
900
707
638
174
657
510
248
579
260
790
649
239
683
122
921
182
52
967
14
413
191
207
797
612
226
107
262
706
358
212
879
237
369
297
376
257
787
544
83
686
400
906
169
705
147
429
134
759
749
149
293
769
770
216
829
0
378
339
163
259
885
781
236
786
791
946
122
82
102
45
774
372
559
216
922
227
742
157
659
876
125
703
961
936
218
319
474
316
520
580
809
982
471
801
233
758
124
431
79
453
253
97
717
311
100
556
896
665
456
785
590
479
33
456
694
386
522
524
541
625
732
37
114
718
910
399
149
68
993
253
235
738
1000
427
746
14
8
0
788
636
323
137
420
771
793
11
571
964
649
844
322
234
16
213
959
255
653
780
346
57
368
833
907
367
862
915
508
82
785
444
859
878
310
347
891
702
539
10
665
841
354
825
856
841
739
547
958
560
466
255
885
929
335
588
396
544
902
191
628
381
801
982
17
370
463
670
812
827
575
429
525
898
660
613
705
584
693
646
224
420
115
712
797
926
0
992
923
632
1
630
533
600
870
351
272
5
0
489
73
633
462
289
477
957
51
966
481
103
143
356
217
616
718
526
600
49
725
540
786
68
154
406
781
997
790
566
690
739
863
438
275
879
351
481
203
359
815
771
483
845
624
85
119
832
38
12
16
581
348
205
627
8
918
391
847
816
828
826
719
590
865
679
450
666
849
205
954
371
505
854
794
828
812
31
114
782
198
861
777
900
421
539
615
365
163
236
754
105
213
629
514
166
102
399
312
216
691
961
354
490
621
730
973
60
884
918
115
701
243
347
625
696
772
455
88
283
604
721
663
3
166
221
739
857
381
294
712
492
169
56
466
858
642
503
472
926
601
202
842
486
812
748
748
599
211
608
620
579
180
188
285
671
990
889
950
882
264
422
639
966
381
984
359
979
825
949
998
470
131
535
618
906
54
374
701
816
21
138
367
646
692
166
374
43
555
982
386
32
723
73
164
577
701
628
528
150
472
549
903
486
443
316
913
106
345
916
542
29
979
223
448
156
949
24
162
154
884
155
846
115
616
103
782
877
576
628
877
216
24
260
740
828
635
336
708
491
916
636
397
366
219
199
805
523
576
627
647
471
980
388
356
997
370
327
778
297
934
75
505
783
55
583
99
224
982
131
673
837
674
624
104
411
910
445
350
438
531
169
706
695
471
221
330
423
368
114
120
842
707
915
425
328
439
550
600
635
192
455
637
395
605
174
64
740
632
51
336
481
865
263
880
798
289
495
683
187
649
639
742
349
759
94
407
709
5
270
977
341
249
944
201
745
772
381
5
207
715
436
422
994
653
745
625
422
396
402
512
670
881
481
8
268
146
553
53
373
785
571
901
886
67
705
621
571
37
605
363
341
179
546
416
474
109
437
115
828
376
47
424
114
903
291
256
572
485
330
634
453
506
660
864
881
270
305
576
784
398
367
62
472
189
184
671
230
907
939
785
200
105
593
156
928
32
875
109
589
395
662
702
242
296
55
990
527
464
956
22
949
114
980
320
599
477
374
754
728
112
347
778
870
910
572
684
677
314
33
761
581
171
278
769
6
904
979
3
791
177
923
681
560
881
993
331
190
722
700
196
272
992
970
625
261
119
918
881
83
396
174
204
274
402
438
325
54
107
126
267
67
858
343
308
963
710
520
666
333
661
105
233
909
567
336
561
77
814
804
784
583
777
211
922
889
123
547
537
156
672
790
448
589
10
647
846
395
638
668
762
108
647
346
781
120
53
118
597
311
116
840
469
914
628
705
133
144
633
215
613
860
15
669
835
747
850
448
411
535
542
904
752
615
228
251
672
618
669
8
910
44
849
942
444
797
179
583
664
63
150
640
465
12
147
182
365
495
709
422
583
630
698
230
220
466
656
806
654
452
603
653
669
657
554
934
627
860
158
73
397
376
470
421
196
647
811
841
553
756
304
912
417
703
947
182
639
951
148
521
568
955
771
951
416
193
100
756
117
101
851
187
15
491
938
930
817
86
924
312
892
556
695
9
596
252
834
76
678
772
679
825
881
288
883
519
956
801
622
948
191
343
3
624
225
659
231
757
619
602
694
569
257
221
479
925
521
778
222
399
123
559
673
846
473
972
994
501
703
576
794
388
725
951
416
835
565
709
882
555
533
127
993
960
588
204
825
701
95
741
992
858
482
134
320
442
807
79
871
908
852
64
87
616
73
748
120
482
460
830
594
121
7
379
400
207
972
398
576
452
496
726
64
211
581
171
896
789
679
368
373
40
284
902
971
739
205
769
353
601
971
46
18
707
264
401
220
929
358
973
670
32
920
568
396
339
8
985
638
710
456
644
317
712
49
806
565
890
434
952
175
486
870
98
795
428
167
97
405
905
18
527
687
676
875
409
382
106
542
494
206
133
865
785
738
953
134
762
783
17
987
65
311
96
480
752
175
44
576
242
629
728
991
680
686
651
384
277
306
919
315
461
329
50
733
946
312
928
883
573
347
80
303
996
415
589
108
438
386
537
104
672
831
145
461
254
737
129
447
22
408
895
548
606
80
854
469
193
166
135
240
965
832
931
288
927
53
248
557
364
69
305
535
916
722
93
27
631
419
340
218
534
14
57
765
997
634
881
20
227
17
182
75
622
13
384
726
74
768
183
589
498
330
902
682
411
798
974
622
765
845
937
78
886
462
260
348
394
768
760
159
142
82
242
322
516
902
594
616
640
771
485
658
305
531
423
72
359
994
621
811
130
38
217
674
384
3
403
194
327
368
490
805
174
624
864
437
286
518
877
549
572
959
403
458
105
415
521
786
62
983
86
159
992
751
81
936
131
170
714
576
644
342
855
403
569
2
565
399
521
60
353
941
368
281
373
994
150
427
408
199
620
83
769
299
653
538
481
655
812
3
449
543
782
412
566
871
332
511
792
219
301
920
258
17
414
540
13
209
571
526
419
220
602
407
237
333
43
132
693
593
667
604
420
901
916
984
600
926
99
895
230
948
240
342
572
118
169
917
2
170
751
976
760
971
314
47
79
99
331
622
746
584
578
626
737
570
586
888
322
413
717
89
958
839
146
523
678
234
548
782
586
795
35
628
916
454
666
845
982
757
517
81
50
75
955
51
70
748
339
656
146
818
768
63
438
336
603
942
581
772
334
803
197
52
959
181
135
986
123
38
245
978
471
392
682
233
873
426
663
397
843
927
673
231
669
599
486
936
293
906
796
624
547
581
1000
596
998
816
735
617
970
205
17
431
742
568
759
56
673
953
187
599
525
784
287
542
628
930
316
731
696
749
343
541
201
217
645
856
945
57
952
20
315
944
58
107
808
385
539
139
434
814
683
619
557
565
639
327
661
433
573
392
365
854
654
217
434
530
501
342
347
142
950
537
165
82
919
733
763
247
309
782
772
819
535
110
106
975
911
528
840
72
31
515
6
142
498
996
503
831
447
716
62
730
435
624
413
736
716
269
861
522
409
28
214
962
583
608
691
125
634
170
340
36
213
112
1000
598
408
261
312
944
886
521
547
743
782
932
412
509
802
926
895
662
438
624
560
906
909
428
75
812
188
926
625
540
135
241
531
907
671
176
590
447
535
768
522
567
200
620
705
129
848
309
488
28
140
742
260
224
994
201
878
111
825
669
248
532
772
689
553
104
515
384
239
952
931
838
596
613
848
845
393
298
355
68
945
69
35
43
6
537
935
916
977
612
808
704
431
520
630
647
127
667
160
629
745
64
783
770
259
274
595
737
154
589
167
170
390
396
362
189
886
118
404
479
903
531
123
409
512
122
623
459
243
381
278
78
204
865
578
534
619
63
163
781
403
675
454
234
940
157
928
108
792
715
451
590
876
439
300
953
936
792
150
992
487
148
380
753
468
52
398
346
783
986
307
2
615
505
396
401
480
918
654
550
879
520
10
664
316
749
286
837
381
611
231
587
705
988
415
154
709
420
190
183
362
711
391
562
380
444
727
230
522
304
899
862
292
179
490
467
826
81
382
687
281
481
755
599
436
89
754
683
757
835
976
613
838
742
466
753
66
128
419
788
554
269
956
746
0
307
135
33
400
745
635
95
33
964
297
272
179
4
225
431
165
24
449
371
730
188
931
206
820
60
871
522
975
968
438
461
713
459
465
929
1000
632
182
419
572
860
221
182
641
837
790
645
579
356
724
293
800
496
173
917
738
193
992
250
279
887
954
397
531
403
692
694
941
812
168
206
363
324
121
60
99
432
185
170
586
226
779
127
866
826
205
952
115
773
721
70
178
449
70
100
735
791
396
758
498
92
952
375
186
783
988
957
275
369
259
708
530
747
503
37
333
259
167
600
461
867
271
528
711
179
147
442
504
411
373
655
680
266
501
629
22
94
85
91
610
549
513
885
521
747
223
624
968
133
331
612
780
166
97
375
711
614
146
797
920
511
754
164
779
941
629
681
542
271
81
389
775
376
371
774
348
371
555
227
478
138
973
809
307
998
611
506
20
275
110
460
69
468
946
390
601
762
232
879
321
975
574
863
89
896
981
273
946
493
418
787
618
353
793
644
191
268
658
621
316
235
531
377
259
585
82
380
360
915
613
61
97
951
310
800
570
669
366
389
796
986
989
97
376
590
623
877
213
71
771
442
711
728
30
635
336
263
351
773
892
604
431
111
829
72
221
758
564
406
526
4
139
100
63
681
271
111
76
877
81
658
5
18
482
556
54
378
599
585
623
360
596
761
100
561
935
863
875
344
548
749
835
961
475
750
226
159
295
421
446
582
317
865
810
667
415
255
885
51
71
97
650
284
297
634
271
866
32
232
164
493
308
467
406
509
225
110
852
557
877
220
425
954
956
636
342
400
936
886
298
992
80
862
595
100
848
661
936
448
883
790
127
910
641
135
538
675
972
81
868
231
252
704
759
630
485
554
869
756
278
723
738
589
118
57
375
5
264
932
650
65
12
823
276
883
562
387
482
641
71
239
797
816
692
989
437
765
493
963
817
193
222
708
871
840
981
393
1000
577
10
428
954
183
608
646
315
381
529
121
890
126
569
704
704
442
50
272
545
868
694
443
736
252
650
782
771
67
710
349
227
735
692
901
3
621
487
992
287
105
39
203
808
927
642
988
313
168
686
963
754
263
24
420
359
788
324
372
448
276
3
115
974
392
925
449
210
404
216
918
991
515
796
210
151
457
483
444
53
909
704
706
235
417
413
182
248
436
42
491
817
877
0
245
61
607
183
646
68
775
831
722
274
48
198
910
751
813
908
966
637
702
719
944
813
597
174
985
762
150
416
318
855
304
776
532
680
166
427
654
404
923
357
224
347
999
641
61
497
632
370
617
306
302
343
858
502
541
237
223
704
592
812
659
957
671
968
808
620
293
771
281
114
464
250
293
86
210
789
340
171
243
264
165
106
732
191
998
803
412
448
36
587
795
523
515
296
291
723
877
32
839
784
844
371
540
744
659
394
557
703
951
845
99
148
238
912
196
715
595
359
196
262
653
97
469
149
67
994
307
363
37
765
916
892
46
26
621
131
278
128
387
786
651
428
174
987
791
913
389
784
111
879
805
45
746
511
644
650
10
645
275
965
699
757
680
837
860
888
655
73
582
860
583
306
142
871
454
751
134
799
452
718
678
699
649
509
58
789
567
406
948
699
372
637
423
422
715
874
899
689
20
435
698
47
769
237
369
324
697
229
667
888
260
482
463
879
141
542
95
927
35
915
433
146
51
56
852
422
104
217
784
739
382
245
418
135
884
430
403
677
562
628
229
479
811
603
556
989
414
377
501
110
213
692
649
297
844
813
207
179
502
498
486
873
263
453
207
354
564
927
378
749
97
814
320
685
0
936
706
817
947
835
465
150
641
232
676
360
181
31
413
711
865
792
795
743
724
541
631
299
830
229
427
454
26
437
310
533
907
556
988
303
98
818
917
551
835
542
464
962
679
178
575
993
702
203
742
347
74
278
776
468
698
411
294
200
254
503
677
150
481
99
624
511
733
717
362
220
737
746
103
523
998
544
784
41
233
679
838
279
249
50
296
604
180
909
644
877
727
364
321
596
50
917
610
847
169
571
742
905
558
578
939
553
1
643
420
238
17
215
220
150
382
259
46
546
454
104
816
491
571
156
439
528
603
503
578
385
499
682
480
213
926
286
601
64
571
458
973
513
344
156
991
651
97
586
388
926
665
989
211
255
999
223
835
440
799
392
267
163
977
535
630
281
974
490
887
489
273
785
433
595
971
516
324
234
500
533
258
113
113
271
718
92
560
256
597
793
549
916
239
784
295
157
710
466
369
306
994
201
389
823
252
182
485
143
485
562
765
303
421
663
543
640
880
303
76
8
906
957
330
713
593
170
984
157
575
175
749
905
719
527
249
495
454
233
248
493
872
545
228
877
383
16
716
108
566
482
499
208
458
347
667
340
997
737
454
841
47
304
512
784
499
179
87
472
218
573
929
423
84
635
323
892
733
389
837
509
963
998
974
152
569
706
557
885
764
899
387
980
422
699
632
255
143
544
65
963
259
916
890
506
825
207
385
979
937
665
351
604
258
991
691
203
887
774
548
837
959
357
973
692
515
236
290
53
634
721
268
164
726
634
559
657
80
808
475
670
325
646
441
551
877
359
370
866
916
262
221
468
229
928
418
644
774
647
824
945
470
624
38
339
19
499
617
263
579
246
963
849
904
917
157
888
400
575
23
533
490
108
984
907
694
76
445
806
750
204
503
552
402
217
367
289
993
895
648
987
999
715
85
125
509
430
465
463
402
813
35
25
306
782
255
830
905
677
44
122
549
699
432
986
299
616
899
627
718
413
517
83
238
206
784
267
11
993
525
777
960
858
340
703
155
437
577
846
310
41
388
368
179
745
697
327
566
910
224
403
259
707
854
119
464
239
573
425
918
840
361
164
545
301
999
399
217
736
633
754
599
404
718
713
740
370
473
672
602
555
309
918
31
953
644
717
318
392
900
896
25
847
440
436
648
608
93
545
978
716
626
236
536
188
25
408
232
150
587
758
549
976
212
196
54
733
370
512
564
342
170
764
135
101
245
79
605
510
254
989
444
635
864
879
181
735
125
132
229
259
867
56
512
180
995
553
505
968
217
664
331
421
569
629
872
58
434
781
109
280
879
691
116
874
307
409
590
128
915
520
514
910
201
170
178
151
545
664
97
801
345
144
506
480
153
711
299
721
899
619
559
513
997
834
198
117
540
810
387
56
595
813
521
763
109
944
309
916
11
160
691
617
962
738
646
395
737
802
470
776
0
545
192
442
669
102
988
637
431
535
917
358
406
536
885
944
439
331
579
708
960
870
240
277
47
912
850
676
701
632
63
367
999
162
465
858
857
758
90
441
500
932
437
204
676
382
12
915
28
821
323
250
772
500
482
882
666
336
837
922
725
944
923
52
398
631
466
555
720
483
756
123
960
515
201
651
665
576
1
333
155
337
107
844
713
806
168
721
565
160
971
754
518
212
86
236
510
412
638
709
814
897
30
603
725
965
98
765
219
153
475
3
67
644
766
234
841
771
742
85
324
512
472
125
971
46
735
261
679
417
652
205
332
166
761
13
14
199
514
175
631
116
471
503
251
335
38
908
208
0
604
188
388
796
749
528
192
128
95
792
606
307
522
45
743
38
924
835
269
329
865
986
616
844
374
264
725
996
151
819
309
841
91
917
629
456
373
642
808
348
345
52
741
252
592
481
749
916
490
456
958
328
581
428
7
463
101
353
785
340
841
424
219
10
379
202
432
322
504
276
802
574
414
348
928
788
523
963
550
850
401
464
719
234
771
444
315
625
565
980
604
74
861
954
111
636
279
459
256
220
144
245
319
932
390
771
748
625
975
105
40
930
744
532
918
361
242
743
678
277
346
862
624
38
504
612
853
918
701
983
710
645
92
154
321
590
782
287
566
405
438
933
110
976
814
13
630
77
197
217
885
90
274
757
434
499
341
871
264
431
813
39
891
479
764
770
681
61
282
225
36
466
156
231
638
253
721
719
938
837
807
447
365
389
702
125
299
725
902
206
896
865
61
402
438
595
538
154
620
75
422
322
357
515
707
924
376
526
208
491
752
386
321
853
705
49
180
195
868
466
980
164
378
634
161
819
600
263
874
488
866
921
374
591
809
313
801
939
121
570
21
832
333
650
278
297
488
241
710
594
922
748
38
452
10
207
481
901
328
239
715
885
849
411
568
728
619
662
666
393
656
16
49
2
252
423
941
192
2
579
572
773
547
50
177
510
799
729
39
874
703
724
264
980
502
581
408
427
737
185
361
257
774
214
367
377
559
439
942
657
291
502
608
278
5
376
446
906
937
693
191
792
498
385
419
233
566
76
449
420
163
409
750
478
264
439
797
509
359
712
959
985
112
510
614
95
804
940
827
17
593
33
306
798
437
714
768
18
997
717
176
533
566
603
704
407
792
381
67
668
263
365
812
208
364
426
17
703
341
694
319
898
790
827
972
230
897
822
798
425
825
403
88
464
739
498
427
981
383
575
84
662
518
836
108
977
52
820
530
860
779
536
1000
718
583
699
994
514
64
951
673
763
931
605
283
284
174
303
18
53
773
684
934
183
988
813
393
236
311
546
37
60
895
462
333
331
337
372
576
980
941
400
457
726
24
398
734
249
83
645
685
119
253
862
862
515
8
129
133
397
459
778
602
901
463
600
43
882
644
212
843
789
934
323
164
288
90
624
213
554
120
741
780
930
640
21
410
277
484
890
740
380
27
535
711
265
746
872
638
491
539
278
333
847
233
594
615
281
13
222
959
611
111
451
792
196
473
312
769
53
436
435
484
495
162
793
894
965
121
285
313
486
150
741
251
657
341
406
154
381
333
39
567
698
380
413
972
330
740
236
745
101
900
136
458
223
611
721
569
182
362
862
776
473
241
529
371
431
611
833
905
23
8
26
826
430
381
24
988
314
269
251
798
889
876
414
789
497
482
336
305
81
790
811
563
895
123
793
135
648
397
146
43
122
16
242
37
545
843
247
870
386
881
216
121
484
537
598
464
722
86
340
964
545
815
318
430
650
730
523
947
891
512
288
209
144
876
402
327
959
97
298
997
200
807
298
159
185
577
62
755
32
227
113
121
356
127
812
467
749
215
909
38
211
928
405
444
212
736
289
746
402
9
228
912
417
873
784
851
22
932
663
539
57
46
159
112
116
231
246
191
882
801
95
310
874
25
486
43
296
290
614
177
789
25
1000
679
390
630
88
358
472
881
956
778
173
938
320
762
605
687
69
493
870
197
610
803
654
283
939
894
529
10
398
168
228
142
253
207
805
528
557
992
581
464
217
681
728
800
784
910
221
716
128
913
553
942
124
608
431
542
5
741
170
898
623
791
337
794
269
613
478
307
801
80
139
895
771
460
533
475
410
349
391
835
272
77
146
181
324
902
914
82
864
269
98
856
923
406
640
9
83
489
441
602
445
354
40
578
787
611
639
212
314
961
247
109
828
446
243
19
942
651
188
304
429
990
2
46
678
710
841
424
917
40
510
411
966
345
356
672
181
287
890
769
443
994
515
150
306
914
146
452
340
424
370
762
841
186
188
996
696
528
589
340
118
35
394
354
960
827
995
118
231
264
63
628
93
218
906
301
16
512
90
251
217
830
785
273
8
37
814
551
137
71
912
633
998
26
576
778
204
331
82
923
255
15
686
792
319
357
809
75
379
851
852
347
87
969
877
904
502
837
433
20
87
846
56
422
783
613
424
63
325
809
952
165
666
761
108
820
636
485
773
592
783
74
990
696
80
71
745
167
488
260
367
233
140
69
846
741
681
116
171
419
630
240
385
351
274
517
668
674
339
98
346
772
966
5
902
549
311
861
976
681
35
722
883
248
513
843
58
864
636
857
984
856
143
861
569
668
849
903
324
609
800
393
496
597
207
389
393
347
517
228
564
84
882
149
252
834
49
196
488
922
355
303
734
671
699
368
778
684
544
133
966
905
955
912
556
884
84
74
191
733
4
460
958
432
571
949
123
656
471
989
559
342
772
203
693
94
445
502
404
237
72
940
953
799
261
835
76
918
34
456
204
461
193
433
149
25
795
607
806
676
313
171
870
639
28
971
864
899
416
170
740
320
764
561
787
189
628
12
542
584
328
709
357
506
256
855
683
529
418
273
420
744
794
880
703
961
583
120
175
545
675
773
181
711
890
783
141
981
171
319
94
604
197
154
548
215
826
946
587
967
149
846
218
952
160
734
789
924
232
653
388
499
140
89
664
885
302
992
139
115
271
195
101
722
827
702
588
606
338
637
673
690
991
383
96
944
188
982
333
667
642
817
298
514
294
898
915
85
485
130
694
539
752
772
940
67
18
671
396
434
733
170
819
870
359
781
911
347
279
928
290
62
219
134
128
667
131
378
288
109
253
416
943
43
837
304
244
655
403
639
632
962
776
325
502
795
663
584
271
132
353
98
363
279
664
140
443
110
865
396
29
572
379
214
419
310
827
291
960
735
836
494
415
844
505
206
745
499
416
24
42
265
443
322
469
918
862
465
747
260
667
11
22
140
295
33
921
215
185
212
526
110
489
458
322
834
817
743
585
142
988
540
880
2
977
884
251
131
114
854
73
297
797
640
304
749
411
180
283
600
737
968
453
291
114
359
173
239
989
740
134
625
281
612
219
669
89
87
410
775
789
353
488
987
87
341
904
307
802
27
688
769
510
614
57
681
702
865
117
232
556
920
111
668
428
793
126
259
310
769
716
77
17
165
640
465
465
577
808
621
875
305
828
54
757
392
188
573
326
678
284
948
109
147
293
737
810
525
989
691
214
281
920
913
823
937
757
257
523
653
377
873
860
907
143
375
278
740
528
419
792
288
379
960
37
473
584
457
149
559
554
391
452
431
801
165
644
903
350
859
732
182
40
572
341
551
302
926
770
390
124
980
248
840
656
986
609
129
462
707
525
329
908
607
190
508
518
301
332
9
986
699
102
792
747
678
666
388
711
221
50
124
119
271
32
680
425
981
778
210
575
774
808
33
395
753
744
526
189
969
416
252
736
728
203
400
491
882
214
865
271
594
152
148
674
239
155
276
137
591
626
311
659
284
83
317
744
573
39
141
973
921
602
219
616
299
640
894
84
534
899
838
567
748
555
316
505
885
102
150
62
284
156
201
121
797
814
44
574
333
37
810
381
885
653
52
421
961
942
615
535
389
835
731
636
184
203
614
528
323
815
463
513
345
595
791
489
831
121
953
240
156
585
772
503
502
448
530
481
104
124
817
46
709
753
830
196
578
961
142
374
52
59
798
450
551
133
643
40
422
710
337
462
41
146
924
367
552
916
228
186
439
466
15
159
869
634
998
673
527
439
171
535
477
484
213
185
710
380
205
421
269
321
450
823
49
538
954
744
278
914
546
422
445
612
839
733
3
343
797
524
516
644
112
112
946
145
159
456
495
96
635
791
698
684
370
250
668
14
845
297
964
513
740
527
255
75
963
727
949
16
156
953
345
463
873
646
708
680
868
291
16
468
626
28
384
710
923
301
333
771
144
756
371
706
643
344
328
247
928
423
899
880
430
518
321
721
47
751
105
671
721
224
308
753
554
382
488
334
434
857
553
842
471
727
711
6
65
943
51
573
80
131
523
772
575
9
669
317
177
406
447
313
193
730
958
204
255
441
261
807
935
18
177
824
540
208
759
932
841
66
1000
449
564
744
753
281
197
356
788
899
0
309
777
989
532
411
364
145
661
933
242
160
766
884
120
199
551
643
385
511
680
205
439
206
166
58
204
802
158
300
159
399
253
758
81
526
701
602
550
287
340
567
436
131
729
809
519
863
326
482
998
613
437
578
358
613
339
422
309
9
966
297
823
484
510
178
909
969
147
153
91
408
88
445
188
792
223
900
118
14
183
361
723
731
288
23
817
462
665
251
662
948
354
433
371
878
708
937
302
828
242
804
513
847
628
540
832
545
96
618
610
389
409
858
200
225
821
994
947
400
142
602
767
688
88
874
907
999
240
515
544
995
873
34
414
239
824
192
602
40
503
445
732
713
428
640
423
829
919
622
863
73
338
537
596
275
279
952
883
904
701
957
332
340
665
67
49
404
992
961
234
901
650
204
399
400
428
338
833
493
723
7
370
619
595
186
707
136
905
305
748
129
144
969
0
172
77
366
895
513
884
783
860
18
238
298
452
622
741
603
171
777
772
577
99
58
627
358
641
187
360
827
616
454
282
920
23
19
947
930
878
379
329
432
657
936
492
765
317
530
82
823
853
554
171
920
239
462
823
566
382
484
132
42
949
732
799
188
332
178
184
937
25
49
90
90
97
869
49
446
507
729
476
562
552
606
110
386
344
590
61
826
953
693
972
998
444
109
445
440
519
89
919
652
777
558
575
955
135
986
604
293
438
874
949
228
312
734
490
523
70
621
603
353
828
281
739
321
375
341
579
487
545
868
991
377
615
734
117
397
128
934
487
340
969
360
673
295
745
911
117
689
26
585
210
244
177
288
691
337
54
404
781
418
39
585
700
617
882
180
70
570
9
210
234
641
821
924
151
865
435
95
424
743
271
395
276
817
470
34
394
48
620
939
792
708
605
691
285
476
279
610
387
205
173
353
282
341
933
421
384
897
304
719
945
877
308
753
565
501
45
200
925
217
176
943
705
396
58
463
136
106
263
865
503
196
173
957
662
442
616
831
23
898
820
892
414
722
896
146
150
487
666
742
816
614
24
57
997
785
951
821
171
158
24
473
587
594
308
790
308
936
443
829
95
313
54
253
377
149
512
920
834
189
841
864
634
443
290
354
296
424
725
315
78
616
476
794
707
681
357
424
42
201
657
504
274
819
997
57
679
808
406
860
729
630
366
65
915
509
873
117
409
33
756
627
53
222
460
333
407
80
739
340
491
104
122
214
653
214
685
241
850
921
99
4
679
275
486
200
68
522
808
406
498
554
920
723
470
535
533
729
631
260
769
827
790
673
743
831
923
371
630
56
209
804
915
501
893
583
857
482
954
631
734
619
85
289
437
119
272
467
497
655
106
886
501
919
867
317
869
333
959
936
249
599
347
804
731
863
127
171
829
64
935
3
921
964
47
442
470
363
536
753
228
432
311
230
938
540
605
491
963
184
513
563
690
927
496
498
269
65
858
156
501
55
981
886
239
678
745
154
549
724
867
714
22
389
274
966
817
601
706
995
221
987
290
39
121
113
850
887
342
199
681
114
900
731
705
64
796
989
430
209
358
26
154
689
192
539
363
711
215
222
262
183
223
488
616
733
498
574
361
234
966
409
922
141
896
255
197
204
280
383
241
455
37
548
227
931
172
214
993
170
328
698
449
754
922
345
423
558
592
183
928
300
643
363
311
690
26
538
380
664
449
710
344
488
803
138
308
43
746
128
663
284
113
837
102
711
675
233
32
400
163
298
917
226
912
46
4
666
507
840
891
392
887
690
422
884
697
119
251
696
946
271
463
254
848
18
3
845
724
987
580
249
870
223
650
360
653
509
864
421
464
42
189
911
669
178
974
878
899
769
171
503
698
944
862
160
105
214
585
187
572
228
244
106
585
285
916
679
678
874
675
140
117
463
413
883
657
291
1
576
538
48
25
581
282
51
750
874
968
694
444
77
854
327
376
220
79
108
40
829
916
918
598
249
983
768
619
823
520
866
899
63
858
256
417
692
720
423
568
849
491
505
291
778
631
265
876
393
351
831
967
196
704
364
925
480
826
490
360
755
413
895
340
310
882
492
855
937
902
305
101
684
988
935
555
805
498
633
637
45
656
409
688
655
178
520
785
70
176
243
784
825
833
797
184
202
620
720
279
633
949
312
932
730
95
572
359
457
276
275
804
939
151
354
211
168
477
670
801
828
353
944
936
288
91
925
321
655
426
312
217
951
156
649
754
684
709
776
752
97
524
581
858
585
187
526
182
885
636
775
532
741
624
118
703
994
412
994
996
600
282
85
155
251
66
846
296
951
152
834
722
71
659
288
291
893
262
287
952
930
984
375
236
902
186
749
233
181
47
34
179
361
747
238
624
790
179
884
394
298
935
783
598
807
627
657
978
864
532
743
986
478
478
271
173
708
485
605
907
674
93
344
319
761
934
253
726
684
960
337
26
543
372
379
325
35
618
788
882
967
200
251
293
608
928
871
703
924
573
577
288
152
615
735
966
878
605
484
346
210
695
204
483
271
18
925
159
146
407
197
882
673
736
287
809
168
508
167
761
296
852
35
458
212
144
937
8
149
597
40
395
130
931
471
547
408
292
427
439
686
444
830
850
76
828
437
866
698
20
704
366
403
461
372
464
488
369
660
794
515
206
278
541
97
898
281
575
820
458
323
659
487
302
466
776
487
915
192
808
3
534
676
255
924
134
381
449
294
391
810
644
822
883
953
780
157
451
175
189
377
378
32
103
956
483
145
446
139
9
840
792
350
399
820
533
29
450
291
447
913
818
388
976
738
673
310
16
790
63
780
124
521
425
952
857
213
883
809
319
322
682
387
555
649
423
930
514
2
827
19
687
942
94
761
27
293
61
521
786
713
532
728
219
536
767
318
548
862
92
315
336
778
380
19
234
250
520
830
559
994
351
122
26
163
369
113
914
583
761
601
522
296
975
552
108
708
143
581
563
319
541
757
71
260
188
572
752
605
771
248
241
861
380
47
326
640
206
710
303
124
867
963
345
247
253
305
701
485
450
511
263
863
165
381
260
767
669
381
612
187
939
191
611
629
777
153
246
345
107
880
517
936
407
692
700
799
809
814
82
477
541
168
70
564
486
616
134
405
341
620
819
764
777
999
266
630
975
20
48
566
6
958
350
493
938
824
128
305
535
380
375
190
698
853
980
342
36
59
989
489
75
488
669
942
522
269
228
4
542
875
63
936
346
476
942
953
564
613
228
296
518
633
668
721
134
214
537
447
399
664
238
451
730
209
958
699
458
201
165
559
128
666
490
466
160
493
30
416
963
55
317
850
258
712
469
398
12
927
984
462
153
748
73
214
404
296
731
833
569
411
734
519
503
638
647
804
481
15
511
737
653
929
654
644
825
138
380
636
983
541
928
50
725
472
640
89
784
703
124
521
581
496
658
330
279
421
621
783
53
25
683
535
727
716
441
439
389
310
718
965
164
419
19
714
290
477
273
97
682
866
237
102
936
503
324
7
60
171
520
532
119
693
441
480
541
835
842
423
193
918
565
547
728
265
643
81
667
583
858
298
382
203
842
211
865
848
79
235
796
5
395
619
209
415
743
410
826
350
890
659
932
557
392
76
531
243
55
844
866
606
361
562
350
695
413
817
780
352
482
975
73
425
434
256
935
468
478
810
345
184
551
998
873
755
907
714
483
248
71
216
449
985
425
406
534
792
176
269
835
387
830
230
211
158
898
39
68
315
968
341
896
542
448
3
55
987
867
701
559
322
555
507
306
772
625
355
838
94
205
68
610
314
419
390
740
936
911
884
495
40
979
376
803
79
730
763
711
694
587
463
382
799
749
231
691
353
586
296
431
798
876
255
985
377
803
800
259
347
986
64
364
403
955
576
820
438
414
264
161
895
722
307
404
921
851
885
917
634
417
532
903
912
736
668
712
806
428
898
378
94
198
109
935
748
246
99
464
155
688
589
144
210
482
319
601
917
235
899
43
774
149
95
570
217
1
542
696
868
545
826
584
214
831
317
698
709
554
459
771
139
865
786
745
93
785
939
349
877
281
769
169
912
123
271
12
703
257
400
448
480
615
380
586
907
840
380
280
988
254
551
716
446
425
582
682
642
485
719
828
967
816
770
840
130
75
113
316
535
473
368
798
460
666
168
540
97
566
439
970
839
703
584
987
474
902
439
395
987
402
815
32
278
468
216
116
610
655
413
879
143
397
136
974
919
487
867
937
760
550
993
764
776
189
391
777
850
441
324
5
914
345
621
558
24
215
674
198
952
41
445
804
355
949
570
153
822
166
153
685
428
11
772
571
196
454
895
296
351
631
197
281
384
522
559
14
496
442
736
345
236
29
699
23
513
57
369
788
248
419
726
403
29
193
625
277
125
377
91
929
346
326
874
967
470
347
403
555
692
872
120
804
773
266
993
224
576
703
143
777
708
307
172
711
925
177
611
598
547
778
531
190
975
280
513
263
463
876
80
236
706
727
319
84
600
402
942
191
937
178
570
722
851
92
26
274
918
488
65
70
547
559
711
683
314
240
163
905
914
660
772
338
585
409
845
807
327
852
748
127
293
114
456
809
768
959
438
169
727
867
969
943
845
469
548
98
224
320
678
653
234
985
710
722
642
268
827
564
600
767
133
230
20
193
627
520
359
479
204
449
13
880
276
412
326
624
336
604
291
705
512
782
413
461
887
19
310
209
831
883
137
519
953
229
577
308
529
456
735
288
774
223
872
426
981
453
650
237
451
606
744
273
416
158
393
553
980
818
875
790
990
701
341
658
241
904
108
808
909
578
883
613
1
101
813
80
532
904
674
240
239
910
144
54
366
286
673
572
512
147
153
243
247
138
315
222
488
87
799
115
270
413
813
329
459
208
543
140
317
928
91
299
812
42
111
172
159
916
156
345
350
67
908
875
947
859
790
367
492
46
81
995
435
108
844
954
49
850
867
93
244
200
813
291
169
60
367
563
220
651
593
748
12
168
44
484
978
579
220
234
842
639
283
482
706
924
734
503
773
48
370
954
528
853
659
254
299
177
450
468
616
701
920
417
264
570
859
617
251
440
470
527
272
688
248
285
663
31
180
590
935
742
123
714
539
442
258
701
794
276
455
922
293
96
228
986
486
528
766
136
683
106
587
84
310
42
88
654
366
723
187
958
176
405
276
365
182
227
563
866
474
533
714
33
30
954
762
331
195
105
171
767
505
806
0
663
587
874
352
554
294
761
944
27
497
764
92
749
866
734
876
143
284
18
819
344
116
591
257
97
946
264
63
648
685
184
794
826
545
999
509
810
232
827
967
635
605
415
860
803
518
215
663
549
44
461
95
130
961
132
872
744
965
317
300
909
620
432
762
377
412
236
757
513
914
543
460
480
198
934
945
420
921
803
449
320
746
760
767
917
355
942
982
313
358
396
274
718
32
17
350
231
980
673
901
446
507
642
937
323
739
474
582
63
90
936
47
644
24
670
461
534
467
477
114
975
184
563
270
307
383
911
89
567
448
690
231
608
177
226
677
811
562
295
623
228
437
709
690
860
530
278
80
184
85
99
71
680
784
912
511
626
735
785
230
873
261
814
585
594
178
576
893
322
332
805
321
904
838
649
653
444
935
247
825
210
142
940
425
237
829
825
279
192
549
955
992
483
162
788
820
339
850
200
606
539
262
34
242
680
530
90
947
630
930
660
21
731
631
441
708
293
332
843
887
987
137
941
160
550
695
230
707
233
973
448
710
242
442
890
919
729
755
536
310
682
188
118
20
543
257
693
741
995
686
73
612
261
13
539
994
414
629
100
742
80
307
253
960
222
478
216
955
262
580
30
809
226
460
926
251
166
254
335
522
50
918
557
434
359
356
789
432
773
15
806
430
675
226
883
964
500
886
797
601
446
547
294
934
216
342
17
606
324
15
915
594
371
137
757
662
884
623
196
468
880
986
605
560
146
215
215
887
268
56
401
584
844
8
641
885
622
832
659
736
285
514
992
566
144
898
52
668
716
142
288
625
581
924
8
375
790
565
565
95
740
59
480
878
394
975
790
841
278
99
167
45
560
710
957
873
265
208
262
890
119
383
250
376
726
398
577
515
630
63
574
228
240
416
399
989
145
707
172
605
895
884
465
753
561
923
313
27
720
56
586
931
488
572
343
233
258
113
408
205
664
198
842
477
576
423
222
80
55
455
310
236
991
10
100
755
1
883
472
730
67
910
543
252
513
149
250
285
658
109
293
112
788
277
18
969
585
83
720
766
603
797
740
970
203
231
538
894
81
860
517
227
816
113
124
677
966
141
684
72
775
727
60
504
47
269
574
329
962
777
148
378
216
311
983
244
725
798
496
861
69
169
943
813
883
223
412
538
350
197
422
725
262
364
119
128
864
959
742
546
497
985
31
395
276
119
774
719
963
41
130
318
311
197
576
781
857
869
248
522
49
311
997
611
475
521
456
499
106
948
296
521
727
510
597
874
953
22
813
762
822
216
330
830
3
840
732
368
889
596
325
861
818
835
361
66
757
328
134
968
184
608
716
437
156
207
28
50
109
592
70
894
587
878
557
904
936
950
407
443
356
92
274
300
393
315
258
109
436
627
227
404
478
922
163
125
246
472
464
739
315
640
560
231
597
567
587
680
742
204
605
573
753
750
260
766
807
230
78
587
780
767
692
755
894
264
657
463
702
928
28
223
587
87
326
141
81
148
273
789
290
610
405
707
634
781
630
889
895
772
484
387
808
562
162
882
820
881
248
849
891
585
878
980
176
263
413
949
947
193
273
61
713
982
66
89
161
75
226
752
906
110
652
602
447
853
385
923
899
986
661
903
979
875
153
994
478
769
196
23
73
361
211
932
77
382
163
617
410
560
287
922
253
310
476
641
537
139
16
937
777
735
144
824
9
218
340
569
49
247
43
888
594
981
916
306
513
606
582
225
860
823
909
276
296
959
593
666
807
169
151
289
746
380
251
963
430
986
839
862
887
301
965
611
896
120
294
455
789
230
524
415
608
824
840
431
144
30
766
959
182
695
44
569
117
152
845
795
815
786
566
190
424
697
135
473
476
995
442
103
366
850
226
405
204
906
921
24
170
105
867
479
342
344
608
181
80
209
69
491
485
250
979
219
831
299
485
268
298
470
515
595
511
532
79
861
902
786
290
30
657
195
338
133
117
942
227
394
500
677
614
693
843
151
571
639
957
474
233
459
374
618
804
850
99
480
326
251
473
368
821
865
47
644
609
452
230
482
527
672
145
945
506
804
432
215
765
124
9
68
343
533
10
371
739
213
788
848
131
80
207
859
35
327
224
493
255
932
821
869
833
730
832
799
864
978
382
698
246
900
897
604
345
909
661
957
981
515
494
834
591
944
600
84
85
399
981
762
989
120
527
98
274
690
776
191
889
372
419
415
862
892
258
984
857
947
431
972
910
406
357
499
802
400
228
573
372
613
737
567
900
90
343
736
713
494
404
213
78
146
153
78
313
662
464
96
969
693
799
501
576
553
769
84
644
105
829
750
286
580
661
545
79
333
939
474
297
762
619
734
933
457
425
887
513
83
818
835
523
571
968
307
105
384
982
409
297
113
141
291
40
832
518
754
465
764
887
766
532
929
980
480
128
853
112
887
60
884
929
193
470
192
734
81
351
34
278
512
293
956
510
218
571
453
420
710
340
857
941
815
767
196
269
848
65
463
607
324
411
142
283
903
702
112
890
963
330
792
494
545
610
435
301
224
30
429
710
941
593
991
989
715
926
1000
270
696
140
124
425
425
532
850
278
801
29
906
54
225
447
711
829
182
35
139
270
495
206
947
823
484
485
724
467
200
509
558
977
873
581
513
901
28
779
686
38
120
749
772
832
661
896
993
15
719
708
47
62
855
901
892
928
734
18
331
479
723
918
853
331
718
405
714
959
521
361
657
540
872
774
476
364
521
918
814
214
70
914
278
837
554
971
366
692
365
929
715
382
913
271
279
438
985
778
908
3
983
867
190
547
293
893
844
26
428
466
181
293
719
450
506
7
331
788
637
393
19
983
734
508
936
832
995
271
242
250
254
853
370
730
922
246
950
429
912
337
38
706
17
25
388
996
416
440
915
121
527
475
773
111
755
485
212
216
672
143
477
180
928
271
640
740
454
633
402
404
596
624
889
356
691
627
349
108
531
610
875
535
318
624
593
46
437
532
343
408
793
521
118
534
773
803
830
698
169
594
197
164
736
118
380
915
742
758
510
340
125
784
477
208
551
18
161
236
134
683
790
437
9
390
956
672
148
773
109
556
72
403
729
183
210
923
230
497
295
987
214
940
341
164
432
140
751
200
117
648
690
528
317
811
929
307
446
72
541
659
811
924
655
562
233
71
587
380
16
172
276
228
692
941
595
990
656
736
809
450
371
76
949
308
495
615
71
367
368
449
134
536
251
686
540
91
691
426
224
594
237
733
380
913
228
399
261
368
810
701
461
10
847
856
533
349
889
717
399
608
528
554
720
833
849
90
715
255
796
550
827
658
993
747
462
138
898
11
309
333
271
788
222
810
541
376
109
698
361
75
8
544
974
550
813
291
288
711
514
916
702
558
215
927
531
274
548
609
857
292
164
766
384
866
547
183
667
51
222
859
420
699
759
54
883
342
817
916
288
855
665
360
483
982
126
574
123
318
567
4
326
673
161
914
502
245
620
136
371
459
163
487
634
846
737
625
251
421
379
313
811
837
129
60
693
707
817
261
887
460
554
323
666
612
552
809
177
300
565
326
962
660
327
458
140
778
927
126
224
279
422
582
37
952
209
930
165
938
635
920
174
740
833
88
130
118
428
408
966
64
1
198
885
324
842
912
578
984
358
520
202
939
408
344
796
182
227
835
884
528
436
58
685
683
329
70
695
720
469
83
417
346
80
39
551
569
112
960
72
197
620
532
984
20
441
926
565
289
723
76
342
857
473
7
236
624
331
384
839
550
253
770
782
69
245
492
415
419
147
545
121
777
16
105
688
54
344
56
262
510
660
91
754
821
896
228
387
658
457
636
337
685
295
734
377
537
382
592
848
946
437
477
546
151
130
990
778
662
360
142
66
770
44
93
355
667
114
105
213
173
945
14
268
258
664
701
659
26
469
322
839
884
169
725
465
199
70
905
403
901
230
574
774
132
333
137
214
267
727
406
690
556
231
690
252
66
859
143
976
368
713
197
88
548
2
349
567
520
855
811
422
913
700
330
2
183
919
262
333
1000
737
233
447
673
5
894
793
850
5
102
166
473
928
890
321
439
410
78
88
130
476
65
366
316
81
147
412
655
227
11
752
97
623
586
462
52
945
589
900
91
62
586
122
362
459
880
404
200
891
345
212
742
858
527
871
907
506
740
30
627
780
519
394
208
9
187
823
320
921
253
585
618
856
795
812
108
266
962
803
152
244
812
686
263
422
531
56
177
188
962
426
246
542
169
998
540
594
980
456
738
739
883
118
71
713
205
111
339
199
603
354
702
294
868
214
391
747
255
491
941
208
945
185
69
569
696
601
92
591
330
722
657
334
69
189
645
168
764
166
16
401
50
251
49
552
814
302
929
805
891
51
539
914
697
810
532
340
109
530
386
666
833
927
20
322
491
754
746
16
689
38
722
265
729
589
59
632
108
318
684
950
654
495
513
187
321
577
274
920
469
216
864
594
257
0
635
25
504
544
320
134
331
403
7
100
898
545
435
366
789
134
196
690
67
717
840
704
430
319
166
895
60
284
187
104
310
901
690
894
389
774
988
233
512
885
674
338
481
879
449
814
416
572
318
467
569
881
935
77
984
81
294
782
840
126
835
622
592
168
138
324
227
414
65
77
948
809
802
801
664
304
195
835
894
683
484
818
802
386
667
904
695
995
610
42
784
537
356
517
994
825
722
803
586
263
384
366
153
194
343
129
66
170
130
915
55
453
478
518
792
403
933
433
165
788
531
121
150
54
735
346
124
411
497
927
284
940
947
753
453
623
597
896
307
297
637
678
849
484
797
946
152
822
177
450
647
600
530
970
3
114
6
481
502
500
421
42
426
742
507
773
327
601
852
443
194
264
435
862
952
616
525
88
139
220
365
202
754
674
619
571
66
185
720
443
488
348
336
244
546
519
504
381
664
944
166
920
704
530
530
937
667
451
222
240
377
814
160
133
145
339
798
269
330
442
368
495
185
433
571
939
714
498
981
522
465
3
453
3
398
511
456
137
237
933
782
169
206
725
418
517
352
595
997
546
952
336
426
383
568
728
103
501
646
507
297
855
444
859
51
868
351
503
58
585
345
794
942
225
523
245
76
776
148
505
886
17
53
871
195
601
936
939
948
215
498
709
471
285
696
549
500
702
622
651
64
855
120
929
309
269
880
516
213
847
422
694
343
891
381
995
507
691
198
25
144
5
770
727
939
816
894
442
166
880
199
320
784
414
552
52
961
925
145
521
267
802
777
816
145
11
529
504
839
28
802
761
426
947
729
509
575
846
105
117
84
78
365
373
316
54
342
634
623
980
354
115
101
548
609
87
698
476
903
776
309
696
927
967
486
398
216
890
402
817
561
244
882
52
827
584
343
8
638
828
969
169
816
905
649
57
357
864
220
235
352
386
911
469
563
81
602
694
355
143
680
379
274
93
127
558
248
778
127
941
462
303
72
187
13
417
13
441
348
20
965
27
793
518
845
92
699
620
309
970
538
399
621
304
24
753
492
126
73
924
728
253
826
444
490
526
939
181
501
299
630
911
263
652
672
846
868
776
520
324
380
436
367
648
669
308
38
506
630
634
128
272
326
338
655
244
265
540
921
49
432
551
556
202
277
10
183
447
953
622
416
873
433
407
798
534
270
562
518
92
21
202
269
797
118
988
3
137
553
191
908
211
518
649
614
952
699
743
220
531
552
606
903
158
871
638
656
110
226
503
232
249
980
852
769
923
804
149
312
869
748
130
247
572
213
515
353
286
899
437
347
959
161
497
221
317
141
950
874
886
896
350
478
784
211
717
211
652
106
629
996
17
296
521
423
337
637
514
647
50
299
182
37
291
428
790
869
699
895
946
894
166
230
939
924
397
657
350
142
76
58
944
281
679
72
763
504
255
784
643
8
747
825
245
908
363
104
518
377
924
187
419
107
644
320
962
28
968
952
704
934
680
603
599
314
326
339
116
896
386
800
820
506
192
264
390
589
807
921
446
961
867
490
809
607
407
666
162
497
508
55
429
517
846
849
69
1
231
650
828
489
990
776
883
483
668
20
494
199
920
509
538
764
402
301
272
158
736
637
911
884
770
2
534
622
164
654
824
966
340
408
245
856
723
632
625
580
312
701
402
799
973
511
207
549
202
594
206
738
19
284
140
99
239
744
456
233
683
587
968
47
565
843
141
57
613
690
943
82
901
782
778
548
823
623
739
320
501
383
166
152
707
625
366
404
83
124
759
628
544
18
668
830
702
760
255
455
913
664
486
161
668
351
655
255
464
295
215
424
96
847
533
37
322
396
993
536
942
806
430
737
661
797
626
71
641
740
250
239
676
573
928
303
275
978
57
246
254
812
139
979
636
565
752
422
445
832
7
229
315
492
217
370
72
688
422
860
386
106
815
831
70
342
204
915
711
149
215
737
827
413
357
415
687
670
607
758
68
1
882
68
628
815
195
56
187
533
698
438
960
390
250
242
998
348
868
775
21
203
294
891
430
399
363
892
266
644
984
328
173
384
466
325
934
644
164
629
957
18
612
399
875
747
59
722
43
998
641
430
949
675
671
147
125
19
152
20
938
773
474
468
830
141
244
666
453
475
628
234
838
792
975
666
990
702
945
712
474
89
756
728
686
87
546
968
846
881
746
490
671
7
937
386
460
658
719
875
777
485
939
635
495
569
454
680
620
907
828
456
614
624
828
91
530
806
826
43
226
507
570
542
960
90
816
422
189
150
726
610
39
299
980
840
930
164
67
303
883
906
247
328
612
538
193
817
1000
545
470
129
675
147
968
571
198
937
513
771
352
384
752
203
652
39
809
301
417
246
729
4
612
994
971
326
312
653
904
582
3
866
756
250
98
851
819
210
765
743
422
699
830
709
536
869
65
875
392
671
234
338
48
516
448
296
119
273
30
78
74
713
360
176
700
666
360
820
873
202
980
823
966
419
114
391
856
867
476
240
187
346
560
366
244
195
448
228
55
95
859
696
673
624
137
80
379
968
390
417
605
266
754
983
208
853
326
881
388
812
242
174
337
44
541
254
888
195
834
945
897
313
232
109
92
685
855
40
994
581
399
461
803
762
189
800
761
555
657
410
121
799
857
873
792
756
288
251
86
405
86
76
256
420
890
207
602
81
143
400
86
738
338
605
127
366
321
769
78
641
921
800
964
683
724
208
38
364
65
155
32
752
761
505
476
120
752
890
52
427
13
718
791
913
923
885
49
549
68
255
539
584
101
767
977
567
836
341
251
659
403
282
144
739
953
370
273
162
166
485
844
448
58
640
116
684
494
689
758
330
175
195
814
763
760
19
20
403
348
469
262
679
334
841
428
504
56
176
26
499
626
170
920
825
432
688
851
303
823
20
303
714
653
757
210
101
468
573
413
168
61
243
337
793
70
257
710
659
232
870
477
434
900
199
363
134
151
995
51
660
760
740
846
919
377
147
83
22
742
339
485
822
239
291
423
195
733
579
803
476
264
393
511
603
115
332
189
821
228
619
374
131
73
187
212
390
30
613
279
356
131
415
281
122
983
175
647
525
155
313
741
444
309
572
464
246
62
717
881
420
978
13
114
537
315
965
719
194
251
142
676
941
588
201
396
694
517
681
365
94
857
595
821
786
144
152
143
330
704
99
870
240
392
986
725
141
565
187
529
491
181
244
757
980
188
788
832
457
836
664
917
236
244
178
253
435
58
923
349
705
485
145
102
970
594
375
904
547
679
443
17
48
164
437
258
207
743
644
413
194
748
682
267
440
797
806
300
505
374
250
293
883
403
134
664
938
535
981
123
495
91
297
620
869
438
527
643
336
359
360
931
2
101
584
629
541
730
965
3
255
235
432
929
893
745
150
972
453
549
986
817
730
679
867
519
264
165
330
451
754
53
684
502
633
589
59
344
558
23
824
282
889
61
657
286
606
151
87
637
488
761
406
734
195
366
415
856
666
619
310
288
800
792
368
104
822
194
275
1
487
772
359
6
453
480
696
205
373
253
537
859
747
603
737
877
184
747
176
653
533
280
765
596
866
715
547
193
392
480
37
845
520
918
507
168
736
132
866
81
615
139
19
537
713
146
932
753
933
734
543
858
223
897
791
867
893
137
979
959
271
879
172
941
918
790
301
815
168
574
314
559
410
706
61
29
127
452
709
213
363
960
313
536
241
226
637
855
948
726
559
478
276
681
84
36
40
9
414
223
396
305
391
166
910
877
781
103
188
405
674
906
215
236
440
838
198
44
54
308
6
655
952
638
963
171
341
866
853
420
658
824
478
237
21
784
99
984
882
657
779
364
388
829
251
791
18
600
71
443
424
493
540
31
160
843
463
461
369
631
97
899
830
901
679
958
68
437
111
567
223
273
570
351
849
592
510
153
621
703
566
231
479
117
633
482
846
163
90
619
529
585
116
92
113
272
7
870
684
903
27
25
543
833
26
803
899
470
122
577
290
454
307
108
299
22
539
377
327
990
448
832
433
391
708
871
574
640
330
678
757
78
883
986
727
263
469
273
46
22
829
431
221
352
515
389
329
177
359
228
380
131
171
569
31
549
549
838
149
308
368
838
374
992
391
965
508
105
421
201
434
309
293
71
999
357
783
332
542
75
993
480
457
295
293
902
580
637
371
729
84
575
747
631
169
439
418
70
461
626
85
120
392
39
297
519
698
998
623
103
607
956
647
238
885
348
656
481
673
630
960
158
560
984
997
580
947
162
38
230
631
260
765
460
198
428
256
505
198
5
692
158
892
982
314
415
711
478
182
345
79
958
25
923
402
475
288
368
285
178
528
584
930
551
706
22
364
614
226
394
620
667
506
106
815
880
914
457
426
612
624
961
242
792
930
244
957
406
136
249
420
77
753
703
523
427
244
55
795
930
969
744
407
406
917
75
314
456
45
639
807
715
910
625
316
952
43
375
707
60
633
961
205
893
714
296
899
259
460
647
282
658
177
289
909
779
696
728
38
615
358
199
844
919
954
822
492
757
363
777
654
157
135
163
658
614
228
577
795
811
863
370
183
370
949
283
264
417
721
679
398
52
551
279
37
615
988
870
114
737
167
414
62
828
264
372
273
434
319
723
758
756
224
302
914
825
338
10
694
701
121
525
977
294
295
269
732
407
176
570
280
245
506
933
7
440
1000
882
900
416
385
249
192
908
451
550
207
904
672
378
751
380
183
869
273
80
121
439
958
717
34
555
540
365
972
768
895
869
224
612
870
659
475
169
643
1000
752
221
548
544
387
741
894
352
390
661
121
244
376
688
772
565
763
81
508
629
45
599
242
55
972
601
762
721
502
960
214
620
94
177
187
163
760
900
872
960
117
191
383
588
777
596
246
571
520
858
618
834
732
986
552
701
118
27
253
556
25
589
314
629
468
157
651
762
121
42
605
584
576
773
655
645
284
175
158
565
390
518
385
988
179
68
908
412
673
506
300
294
748
153
80
648
959
381
169
481
91
993
68
399
687
904
518
744
627
676
986
649
242
475
704
407
288
382
641
137
255
346
481
29
458
875
400
519
705
17
565
986
876
832
219
420
982
177
483
118
979
179
95
35
243
464
810
857
369
217
721
98
912
593
218
392
39
988
825
123
20
818
993
121
905
869
280
390
258
465
89
933
313
242
849
72
516
875
300
288
57
98
57
279
107
249
822
960
372
612
377
965
62
565
258
373
714
900
808
167
516
801
866
730
562
986
300
841
791
941
974
352
475
575
762
117
920
878
920
739
557
920
658
876
760
379
862
434
864
230
322
49
341
983
180
983
245
477
864
120
42
403
337
753
758
813
182
51
421
948
506
594
701
288
489
611
978
115
623
885
21
441
245
24
811
440
618
73
58
748
53
865
654
614
459
910
421
449
83
714
474
906
854
327
281
443
421
85
800
174
527
109
489
178
959
582
745
443
265
57
498
205
961
239
868
12
218
127
29
111
158
627
292
952
647
60
266
802
92
875
786
984
27
531
23
518
431
968
72
71
239
681
148
536
148
192
729
856
418
564
220
992
751
873
17
514
789
800
399
358
427
9
905
680
954
890
125
553
436
524
509
78
887
495
338
872
235
856
921
785
504
1000
76
419
243
184
920
37
395
506
684
356
867
610
755
84
853
796
7
821
315
93
184
876
128
186
708
222
338
234
623
283
646
215
698
645
388
205
284
807
875
646
317
150
866
502
726
1
498
887
517
19
33
967
36
278
975
702
294
724
220
422
412
578
98
253
707
186
264
489
676
202
217
553
269
240
102
827
736
902
422
362
269
955
903
611
110
78
941
477
629
414
54
241
826
554
392
258
954
574
864
621
287
665
433
25
389
54
581
786
675
728
898
967
367
295
478
253
18
589
450
197
674
688
128
548
951
124
703
182
238
706
641
651
356
155
208
817
993
541
258
630
330
152
833
305
913
8
422
113
396
877
571
228
212
434
643
742
92
397
662
395
948
212
349
176
373
460
885
217
295
907
665
660
381
663
163
197
427
367
470
971
870
610
2
793
0
502
291
16
606
606
177
852
585
599
260
491
710
85
42
880
708
214
319
16
632
819
576
443
550
844
3
900
655
643
73
608
834
756
478
63
43
161
177
928
405
538
362
243
471
930
923
9
968
209
240
321
143
63
163
717
629
532
934
398
231
788
137
416
740
251
717
4
692
789
260
376
131
38
93
676
661
247
670
43
241
261
494
860
735
884
577
554
23
681
452
232
682
763
341
836
12
4
660
121
397
894
247
488
279
284
7
83
618
42
815
3
493
502
417
615
79
338
237
829
572
158
395
189
996
420
574
229
253
480
224
987
704
343
54
383
821
929
69
115
232
496
57
542
347
206
336
539
253
380
84
578
894
867
314
172
994
597
764
14
430
546
587
790
349
321
609
201
237
310
730
218
824
525
207
812
512
199
69
406
479
378
557
952
945
735
92
658
191
27
859
753
156
658
334
270
882
108
211
498
269
526
694
636
807
336
654
575
118
735
733
121
367
908
897
924
811
788
921
462
66
193
486
634
322
631
136
288
39
105
591
92
628
699
432
739
891
521
260
945
662
388
453
616
257
295
904
522
959
478
994
113
457
623
461
735
422
873
928
949
987
213
467
533
240
951
410
886
304
478
281
961
284
225
823
653
397
813
825
706
260
889
921
450
343
486
586
111
526
137
131
790
831
353
843
564
241
100
284
194
357
264
986
61
135
194
466
307
32
134
485
221
659
157
527
398
585
46
315
542
473
51
940
502
330
11
620
267
787
94
159
241
980
547
8
220
994
967
166
789
375
911
879
111
548
259
554
690
847
773
647
443
388
59
759
623
572
368
448
669
670
963
677
823
451
952
342
67
345
352
406
998
17
944
556
481
166
83
556
522
98
937
477
623
481
220
113
485
894
266
827
376
163
278
784
771
955
206
681
56
16
214
492
667
309
345
291
172
234
822
53
406
594
104
532
167
16
480
447
984
901
22
784
834
566
723
164
352
29
528
455
989
721
444
443
281
509
618
583
452
639
334
786
837
441
566
550
459
50
573
796
516
947
116
665
843
540
164
71
363
583
261
882
619
237
645
173
7
552
835
592
367
975
143
343
693
599
333
91
276
357
598
154
258
508
87
11
899
860
632
102
422
339
220
625
270
496
528
762
561
550
103
80
268
517
836
347
671
512
6
556
445
771
87
749
713
83
493
467
781
893
499
63
412
327
426
382
375
761
100
694
530
58
908
316
219
385
691
222
919
651
594
454
116
687
590
845
446
963
229
545
400
675
527
165
414
153
169
836
368
924
897
135
970
505
357
856
617
404
19
617
378
997
500
295
127
362
755
362
356
85
585
724
87
14
830
412
831
146
507
434
806
560
874
408
860
3
844
581
939
487
235
95
437
258
599
441
651
947
696
786
884
430
332
619
905
784
334
124
705
397
20
250
243
321
586
921
732
653
227
1000
753
116
561
286
70
151
987
19
728
579
705
321
351
324
293
896
913
877
696
897
46
247
722
99
557
265
403
461
353
549
764
505
334
67
221
413
804
112
424
274
742
184
575
68
627
865
817
797
669
181
277
72
687
271
951
465
344
270
911
879
235
522
818
540
118
441
471
925
713
198
104
14
534
857
587
968
412
111
87
190
145
274
246
523
157
717
351
738
106
755
35
621
999
694
132
738
618
379
322
327
869
346
512
336
121
780
219
75
94
166
646
585
331
921
347
165
522
823
858
671
119
387
805
536
36
515
784
6
668
528
55
269
660
106
2
404
199
696
271
62
484
925
366
53
773
32
50
598
986
314
638
79
444
875
710
883
436
336
892
439
906
533
528
74
434
149
785
763
432
247
82
191
952
12
418
89
3
370
315
88
754
268
405
84
74
486
416
863
913
631
557
604
77
111
191
350
271
322
373
30
872
954
309
997
225
226
658
26
191
260
807
333
999
920
545
412
489
981
154
683
695
35
331
99
738
377
242
381
956
132
842
149
228
909
581
135
477
651
670
953
551
288
0
681
614
205
559
346
687
577
501
149
461
170
889
490
530
174
21
536
460
674
608
989
461
743
422
447
522
762
743
523
599
383
870
868
559
359
611
737
276
490
986
879
857
180
744
278
910
630
747
672
857
174
855
928
467
362
393
721
856
891
610
66
364
700
345
371
6
382
289
139
142
948
800
132
487
485
519
857
10
12
565
189
164
276
53
307
241
790
830
127
922
25
660
664
347
599
152
759
691
511
77
792
55
178
188
342
201
425
652
217
21
197
670
748
240
478
192
446
265
728
147
64
877
764
510
199
549
806
945
333
577
11
409
963
182
122
923
672
150
527
838
193
337
229
817
628
424
363
925
192
782
543
79
402
242
768
460
453
543
629
281
924
856
343
45
977
836
799
958
799
485
423
993
737
502
217
842
214
441
835
19
536
715
233
308
468
459
80
86
373
917
716
780
569
827
156
264
143
678
894
620
660
464
286
973
866
567
992
926
131
416
445
949
962
688
989
9
711
646
743
581
720
452
142
213
966
735
470
299
34
681
656
436
37
589
323
437
830
192
755
908
962
922
552
808
668
707
995
991
472
732
222
342
23
327
763
68
969
764
129
67
290
390
903
837
288
343
27
996
82
100
480
453
656
947
421
6
881
970
481
45
479
601
403
737
162
18
985
795
477
540
103
43
195
741
870
116
701
408
565
531
555
125
818
478
517
133
915
928
356
142
930
928
126
933
151
997
341
417
7
136
809
460
231
847
660
702
107
952
763
712
517
16
539
618
159
568
162
997
118
469
916
698
923
826
674
663
970
447
88
114
94
706
54
435
681
949
733
944
540
242
55
335
990
493
536
269
854
440
619
511
31
123
812
152
167
57
942
814
733
222
486
585
608
809
238
686
277
174
338
597
248
513
469
901
848
406
983
273
730
879
398
256
408
521
190
14
414
826
91
393
343
506
587
831
242
978
361
775
441
769
612
874
88
72
510
5
785
788
687
710
272
326
190
47
380
180
133
545
215
943
831
507
254
150
43
573
305
249
303
83
538
205
950
691
24
328
231
566
672
254
107
910
696
447
529
80
204
710
223
47
334
486
472
950
583
137
565
33
696
343
817
879
376
466
159
707
911
217
203
763
19
489
748
357
894
778
700
394
68
471
464
482
131
320
194
873
35
334
779
227
717
240
536
94
747
860
946
155
589
196
389
97
386
125
349
358
463
467
512
677
62
921
887
978
956
707
783
895
214
415
556
248
68
864
630
384
54
492
808
55
311
4
339
743
91
820
27
662
213
477
82
254
4
227
558
677
879
69
309
210
340
549
137
362
118
316
926
105
433
506
747
818
814
541
350
83
260
487
298
430
338
61
593
34
120
442
567
210
619
959
456
163
741
52
201
965
872
822
995
47
665
650
638
919
809
741
582
544
77
576
897
350
128
264
472
21
971
924
628
100
351
266
714
83
702
493
369
438
69
844
982
750
831
99
561
656
39
176
335
494
588
106
844
429
185
314
10
113
340
844
490
93
127
541
27
452
979
771
390
405
757
748
721
509
789
938
463
97
142
572
392
229
408
651
622
997
345
630
900
291
226
96
907
432
383
466
370
965
460
635
695
551
19
373
378
877
596
293
536
511
183
590
225
290
397
683
504
182
308
99
486
85
858
89
567
134
831
209
526
945
180
339
679
588
368
722
831
971
774
77
44
443
228
590
560
588
228
907
65
230
682
856
80
757
631
455
710
497
277
615
889
280
768
940
943
1
381
613
195
26
646
134
840
133
145
529
3
421
614
340
507
224
61
834
918
490
619
937
930
16
710
925
910
738
652
269
720
768
253
466
487
707
209
657
471
901
238
414
660
972
425
186
128
303
780
232
890
140
298
927
884
698
61
615
562
564
246
53
518
413
642
855
47
68
497
654
249
397
568
708
657
996
330
348
386
422
755
140
780
760
590
292
179
125
623
823
211
241
447
751
314
451
407
912
689
264
761
476
485
585
693
216
508
164
144
741
140
684
109
235
262
415
770
15
652
905
531
403
695
642
686
356
692
891
282
723
177
289
342
431
326
820
339
572
153
826
699
923
134
749
148
566
514
576
13
413
120
69
935
484
682
83
411
624
187
710
576
908
810
779
810
63
456
504
375
227
810
508
972
461
200
261
63
612
660
460
821
35
174
133
881
317
361
486
589
853
75
462
86
933
828
678
588
994
152
541
929
437
283
995
812
831
958
677
79
917
808
167
207
507
76
191
40
711
664
369
892
423
504
767
968
6
374
976
891
573
281
260
749
231
524
791
179
218
857
793
443
782
830
607
467
554
859
463
942
963
188
97
391
374
863
419
312
323
67
601
590
313
402
334
508
333
422
506
630
416
730
455
977
942
508
304
748
776
706
208
131
567
396
728
562
835
732
420
652
694
628
428
196
664
407
690
318
665
352
23
873
818
980
472
181
479
224
420
261
441
237
823
223
973
208
143
546
409
541
712
461
23
448
611
10
631
847
745
848
111
680
729
840
400
516
498
144
644
851
659
723
812
774
791
326
63
735
603
858
111
938
773
166
971
363
216
726
256
725
275
797
785
40
955
766
150
516
150
278
93
586
819
627
866
487
674
787
158
742
530
527
234
173
936
791
35
464
30
748
115
150
701
566
576
262
750
495
387
302
158
933
556
761
864
807
394
422
346
789
772
956
108
138
416
597
448
252
962
667
373
889
343
745
799
862
900
517
588
569
483
686
528
155
158
578
304
158
456
812
405
617
730
694
424
522
394
895
425
975
528
101
135
477
639
443
901
883
151
602
506
97
484
873
185
844
353
604
234
598
56
845
841
128
233
444
637
153
76
780
294
340
720
179
942
365
700
574
980
138
457
737
758
791
819
598
577
722
512
889
21
469
149
830
476
78
270
170
759
560
608
74
355
732
980
433
647
912
846
571
261
289
550
376
347
332
982
591
416
655
0
527
682
440
86
78
982
118
822
987
843
368
731
200
456
186
619
520
986
179
906
514
788
838
288
468
858
30
227
753
989
960
437
947
75
793
664
928
532
936
764
685
708
238
400
474
303
822
941
417
386
962
506
721
721
212
689
595
721
780
803
279
948
709
256
775
670
519
71
209
661
748
905
978
818
569
311
316
110
711
667
665
196
57
43
246
804
341
502
185
493
98
953
78
603
378
774
991
701
831
772
186
990
633
47
800
237
166
217
287
744
292
720
149
239
975
743
705
558
935
865
218
770
310
477
375
512
639
217
216
743
377
796
552
665
169
191
92
778
246
850
156
807
846
970
467
247
77
594
786
666
840
832
258
701
766
667
349
608
744
565
249
381
782
840
795
864
170
518
329
38
934
412
877
51
601
488
374
483
381
565
124
707
869
126
390
31
340
62
314
769
183
108
46
389
848
566
163
396
718
333
292
476
419
150
860
330
240
149
965
837
366
389
759
144
994
260
286
419
503
710
185
838
850
567
918
411
33
201
52
236
359
885
760
770
566
2
515
290
708
286
152
495
449
214
235
183
522
593
286
932
389
715
445
399
850
115
101
484
515
168
365
52
638
582
474
416
794
251
725
907
418
825
588
78
611
816
170
170
525
986
255
697
310
935
407
379
893
52
213
910
575
295
635
506
782
911
173
822
235
500
361
460
932
912
795
374
362
844
53
445
288
824
519
565
88
335
157
528
650
694
378
960
9
834
476
905
235
960
579
415
531
715
58
213
224
336
940
469
578
981
797
337
966
761
391
674
994
45
114
51
202
594
534
876
562
60
515
220
143
605
261
961
520
939
713
549
43
224
763
731
306
643
299
783
575
328
475
336
870
705
276
52
975
692
621
937
182
66
27
183
178
109
491
666
815
220
671
126
161
410
563
411
696
206
574
976
945
746
348
857
449
259
718
541
350
956
99
99
665
756
903
943
572
902
462
531
987
148
251
790
992
205
903
353
646
612
629
811
363
482
483
298
956
97
765
455
428
122
260
765
466
100
378
717
257
410
26
437
457
400
986
621
831
272
129
574
412
896
679
116
705
619
627
584
798
891
485
700
926
849
782
889
925
700
356
321
866
962
881
801
891
629
431
158
658
832
825
666
958
22
675
239
137
965
381
834
520
53
955
81
953
764
517
907
908
462
534
153
858
648
432
856
94
560
0
1
706
588
979
855
158
523
886
753
656
652
355
306
960
234
545
738
613
232
108
957
0
530
557
426
826
574
280
31
983
359
407
547
811
503
8
700
222
174
78
925
954
169
486
286
293
684
202
472
40
750
82
224
153
974
899
719
649
686
373
466
982
415
630
938
674
831
946
499
850
898
967
395
51
463
624
233
888
705
902
448
768
408
458
620
136
118
100
390
816
974
869
320
949
281
198
247
612
666
8
594
510
674
588
913
365
376
768
932
289
24
369
552
479
615
722
968
573
228
41
406
972
875
147
20
206
187
357
823
962
783
595
562
287
840
660
423
734
717
859
184
604
115
661
381
498
397
558
18
11
92
679
949
476
123
111
857
792
482
907
335
290
704
225
528
271
952
983
121
514
125
518
371
488
325
936
4
435
848
504
308
557
980
260
155
699
338
369
432
186
246
53
933
687
995
931
340
321
814
91
855
201
581
918
130
727
70
640
667
566
949
743
640
432
41
529
11
423
65
185
72
653
567
756
789
621
891
490
287
541
148
878
646
221
747
752
91
518
90
57
96
641
762
686
362
758
214
902
186
742
179
862
239
226
406
154
884
333
162
428
406
309
352
106
846
46
261
568
900
282
952
308
714
509
501
340
295
165
304
883
336
821
365
462
943
352
447
722
795
97
662
633
314
570
480
945
757
106
298
260
677
909
433
595
982
241
211
438
572
453
330
666
897
198
522
250
820
877
565
348
226
738
198
649
471
728
680
872
206
369
521
866
253
617
126
161
57
712
27
826
362
242
194
647
362
10
69
31
907
175
397
465
636
40
226
978
387
386
210
99
226
493
706
70
297
872
312
990
971
368
411
211
423
345
957
900
262
35
499
841
482
253
715
57
878
379
387
796
67
809
317
123
441
920
276
118
758
525
774
442
781
149
611
356
683
627
100
325
817
511
930
199
350
986
877
128
369
682
630
525
769
168
653
213
714
116
31
153
785
437
174
10
412
630
49
416
736
448
418
92
869
111
312
854
154
140
472
463
156
523
603
66
917
388
968
860
885
187
204
799
245
617
682
812
697
412
723
373
302
864
798
874
47
76
786
613
8
606
325
581
312
510
792
206
81
532
136
397
504
591
18
828
569
363
4
371
961
872
811
248
434
785
663
18
44
948
500
957
436
426
858
457
278
404
934
192
119
167
156
909
272
745
401
837
803
329
495
888
16
89
508
619
112
482
665
986
811
672
243
247
893
530
965
768
72
157
639
161
977
149
655
492
282
791
296
105
109
387
490
727
93
742
133
854
237
763
218
606
43
779
951
685
257
613
318
284
147
887
534
478
781
967
223
705
577
176
929
72
370
860
945
310
885
695
208
658
963
221
606
945
409
751
782
351
279
615
502
616
617
610
986
622
570
187
309
522
482
96
286
309
902
374
322
80
298
438
261
461
637
850
301
594
513
850
601
293
895
217
291
950
911
117
87
255
256
439
434
436
719
684
314
529
612
487
699
638
547
275
464
173
142
680
182
755
175
264
575
903
256
172
757
788
999
875
96
830
221
142
544
389
466
734
707
582
846
854
990
846
813
45
806
289
373
747
204
260
53
816
351
905
402
755
84
20
234
460
783
198
362
301
654
582
992
360
142
714
31
621
741
289
79
453
205
60
367
616
248
95
922
513
852
710
709
616
170
352
266
688
453
832
353
545
116
300
213
638
819
226
325
204
67
999
615
736
913
166
549
434
750
440
194
997
384
83
277
461
203
166
752
936
948
666
541
183
339
942
193
870
878
495
68
483
629
787
494
934
434
678
703
533
185
618
323
754
97
303
297
170
476
93
654
711
209
906
819
570
363
218
465
519
196
454
549
366
669
544
643
287
919
662
581
710
20
218
933
973
527
887
550
480
88
119
428
407
47
447
542
78
757
856
726
616
88
717
332
689
182
994
880
774
416
722
140
903
759
98
499
79
654
987
648
702
144
768
97
687
719
195
10
721
147
701
818
292
900
210
267
457
174
429
975
794
887
406
892
460
347
868
72
96
129
55
456
998
313
615
39
267
72
937
568
136
433
843
2
80
466
356
898
854
583
517
119
955
780
597
15
802
75
804
801
910
427
312
132
303
567
364
109
55
979
561
838
187
273
647
131
54
487
928
569
927
358
751
612
540
733
181
622
398
383
293
43
403
847
727
753
435
1
20
280
632
685
239
44
62
134
619
815
501
196
905
406
360
193
980
77
106
351
176
54
392
943
155
434
661
429
918
136
388
502
224
350
5
725
583
101
777
330
403
326
408
885
299
277
86
640
436
708
972
136
160
107
556
943
561
647
479
271
812
575
916
428
321
211
563
557
923
16
676
586
521
906
625
358
601
372
720
195
86
639
675
319
366
245
295
860
235
214
332
159
727
161
790
476
630
172
196
520
683
318
614
103
441
884
348
66
116
592
775
685
756
356
325
960
548
181
324
920
513
687
566
871
295
85
512
39
635
929
670
899
604
836
480
293
241
443
413
762
115
596
106
726
905
369
639
319
924
417
293
465
162
719
272
361
298
84
258
272
506
841
738
715
227
354
794
416
147
162
576
723
98
825
366
539
520
539
710
134
847
141
793
464
980
198
875
316
377
183
768
313
787
905
97
491
539
562
716
286
919
832
499
679
615
149
762
161
894
537
373
867
223
290
215
999
945
889
798
700
871
380
789
19
258
64
997
379
927
47
353
44
632
311
257
470
982
708
110
188
904
494
891
403
748
956
351
364
864
194
104
362
682
17
100
614
380
414
129
322
917
322
286
709
454
657
231
758
960
108
829
596
874
998
390
927
563
839
106
889
972
159
641
968
742
509
763
910
718
390
459
825
490
990
907
494
307
403
284
448
998
414
177
646
156
200
197
739
743
102
791
385
647
781
609
472
810
35
47
187
767
302
365
209
802
408
281
952
550
166
889
578
635
869
356
166
231
603
338
256
455
798
236
9
998
131
636
740
401
783
738
573
397
581
15
273
715
56
201
409
515
708
30
725
699
862
360
162
378
920
871
270
504
760
192
863
666
430
79
774
85
11
115
361
460
784
949
617
382
406
711
220
359
648
246
928
102
683
516
81
178
763
546
608
4
192
315
909
659
782
314
201
526
236
991
37
601
606
821
299
310
532
785
494
663
871
462
94
294
498
88
444
777
766
297
41
158
407
529
794
327
773
707
219
130
283
68
977
116
280
612
6
516
616
360
700
294
731
374
692
749
890
628
794
678
778
418
10
823
289
516
978
422
137
21
676
773
761
833
42
930
580
329
369
897
449
206
74
677
538
75
938
376
137
571
369
277
938
855
780
901
141
196
932
735
16
60
236
816
502
402
128
739
905
700
73
514
464
140
535
895
606
799
967
558
103
783
58
84
550
168
198
193
434
418
767
399
958
936
921
491
908
353
403
155
213
863
80
56
90
633
726
234
280
338
607
658
359
357
316
725
370
115
672
446
180
573
673
36
349
442
293
650
754
50
873
80
632
788
527
676
445
740
505
856
589
19
59
334
408
572
914
306
914
339
977
631
768
146
25
851
331
393
473
534
899
227
734
73
16
808
882
292
335
752
546
585
495
738
31
404
480
754
759
389
789
318
511
138
477
538
24
853
848
221
927
158
28
122
930
854
433
777
847
927
903
923
565
289
151
188
521
312
656
905
39
294
591
848
544
269
829
8
597
775
30
328
637
132
763
706
692
214
422
459
181
302
716
801
966
861
321
626
571
249
914
292
424
551
500
7
248
41
292
353
933
987
892
976
481
885
776
868
929
213
863
592
6
386
786
270
415
331
678
853
720
295
290
948
597
640
962
667
268
990
377
69
521
760
282
480
349
911
809
630
755
38
214
121
309
235
193
141
991
104
180
206
587
678
819
554
972
8
469
756
859
130
279
270
352
902
332
258
466
121
844
309
685
458
686
848
257
981
508
575
294
880
486
536
942
608
446
526
996
480
710
248
518
121
314
622
670
770
159
669
339
957
691
904
833
158
895
594
344
18
119
420
307
984
902
267
106
244
854
606
67
543
554
377
363
953
128
400
275
744
207
536
605
931
648
681
743
940
230
572
395
787
946
580
728
228
953
804
106
620
622
337
375
238
104
14
667
875
273
13
711
619
809
948
854
330
795
944
348
746
485
905
910
394
921
423
432
666
770
558
407
549
235
759
389
460
858
322
787
836
799
948
281
659
989
767
790
651
174
100
210
949
496
249
442
631
884
706
122
206
344
51
166
354
111
317
96
764
845
414
739
998
938
268
742
180
939
908
891
268
464
465
985
366
438
498
705
628
943
14
587
499
89
122
187
510
497
845
62
22
168
559
596
88
846
173
717
950
88
767
355
225
365
78
646
875
627
906
765
413
732
523
323
625
869
50
633
378
417
74
154
145
361
830
561
66
733
45
692
416
975
623
389
439
376
877
689
940
536
74
38
883
232
690
368
699
669
307
739
543
882
591
717
432
542
661
110
96
484
210
7
960
829
556
23
806
349
530
661
291
829
590
253
262
81
83
174
976
298
132
530
461
748
207
487
887
476
974
910
284
422
132
264
531
459
282
855
869
404
429
316
459
162
854
745
746
358
873
632
217
714
870
539
620
172
467
374
717
623
710
645
488
358
897
654
326
537
897
96
444
822
679
141
336
439
801
883
101
299
335
789
554
406
224
848
970
920
46
680
280
66
828
660
602
581
209
626
270
378
170
480
682
253
654
895
740
503
759
384
198
974
419
430
240
947
682
779
655
926
38
44
852
217
977
924
792
115
367
997
76
670
123
771
461
615
116
982
249
41
685
818
955
590
180
61
239
779
794
541
718
334
558
948
737
570
279
975
943
579
632
581
526
841
190
43
409
329
759
985
349
392
254
249
354
134
827
234
701
111
384
912
728
185
462
371
454
929
886
314
532
575
667
795
561
817
851
355
278
545
233
828
235
356
862
853
798
666
771
684
913
956
546
610
673
225
593
431
868
262
910
724
171
69
931
744
595
777
369
732
58
643
241
261
997
355
839
553
546
558
291
703
737
83
306
298
646
127
282
855
72
70
552
308
594
956
967
76
912
639
225
69
968
645
921
840
563
577
134
623
446
977
387
758
270
826
671
552
746
946
159
425
777
586
134
153
796
314
599
767
56
307
893
4
657
485
474
95
229
257
544
213
652
282
875
836
947
799
867
982
600
407
91
564
174
379
391
137
462
276
537
13
776
750
116
956
571
310
658
134
989
270
672
44
888
649
389
550
935
46
886
567
274
172
494
372
74
900
311
0
202
296
478
534
197
80
585
934
644
286
736
397
927
557
19
339
813
989
668
570
756
144
257
761
856
562
687
653
878
728
763
700
277
454
430
999
502
760
741
485
92
834
81
289
137
761
693
798
652
594
979
548
77
548
17
558
121
950
812
380
317
638
339
213
984
151
515
572
443
552
432
3
51
179
720
665
140
510
198
743
192
989
716
594
21
288
386
365
810
627
327
841
263
813
525
815
394
403
950
468
403
611
222
824
369
80
786
506
560
551
503
930
162
254
203
229
838
570
30
119
774
276
311
154
586
11
373
587
148
642
591
674
762
630
804
119
173
857
273
885
300
277
203
262
655
48
458
11
891
91
364
361
845
856
621
414
737
383
885
265
407
741
713
250
98
767
979
644
363
674
73
276
224
456
809
817
69
441
808
707
961
761
189
125
766
712
486
702
16
394
33
131
374
818
124
872
670
564
960
263
552
921
286
867
672
573
161
412
102
878
364
235
665
697
540
64
16
27
543
160
746
128
940
334
818
94
42
369
927
773
615
308
274
478
707
975
633
11
380
0
305
968
7
118
450
292
298
155
516
592
690
347
151
183
129
42
301
410
519
343
859
489
369
745
232
823
84
529
396
270
417
994
52
456
617
622
201
74
373
18
242
293
665
459
222
887
920
724
449
864
454
277
273
918
233
860
360
353
522
127
315
69
106
83
875
827
76
804
89
603
81
118
246
634
616
106
236
974
673
391
929
514
643
186
911
186
982
282
765
601
986
519
903
329
403
168
401
909
289
436
110
331
656
555
647
865
9
329
338
147
194
478
511
251
41
978
981
792
581
461
796
779
123
701
936
869
550
492
314
466
844
963
437
450
752
480
548
818
60
999
98
353
908
396
777
967
985
425
878
695
30
277
698
321
208
100
157
772
351
681
60
65
367
447
156
222
51
901
449
343
307
41
85
741
852
949
214
319
323
192
705
140
194
155
211
49
882
70
797
568
454
521
795
352
400
278
812
120
190
656
123
148
861
212
669
82
980
442
830
91
794
65
257
88
248
735
585
845
606
530
206
572
768
148
597
193
484
826
491
550
532
469
893
309
798
611
177
302
346
139
654
410
922
96
971
283
794
343
861
294
900
197
115
316
529
502
431
772
578
921
667
953
876
257
624
172
537
606
57
995
318
755
366
147
250
643
814
127
574
812
564
955
542
961
149
66
406
403
633
944
369
738
406
591
496
609
771
72
202
6
780
925
702
351
522
358
655
347
912
827
123
178
487
881
973
396
482
784
78
255
546
425
812
170
453
462
128
912
750
65
968
145
39
221
411
543
135
830
895
36
209
776
478
580
980
958
196
392
965
97
647
411
803
857
726
65
475
727
401
629
118
821
406
803
694
498
694
166
371
22
971
49
225
146
634
654
852
374
636
926
12
253
356
771
16
3
928
486
524
682
689
434
208
59
268
477
731
382
690
685
534
392
334
174
916
562
986
120
478
300
13
383
613
905
896
739
10
996
42
207
866
690
1000
215
622
420
315
338
765
335
604
828
848
476
706
726
530
419
70
384
924
154
758
965
367
718
280
933
971
34
395
757
943
122
981
453
932
537
513
642
480
969
810
520
483
463
488
733
236
553
493
208
88
400
196
469
61
536
397
557
531
23
661
613
806
342
876
857
82
241
442
206
171
919
6
31
367
545
357
886
821
863
673
163
758
110
408
468
654
48
885
157
887
476
32
741
462
95
381
764
332
882
196
5
413
82
879
762
276
443
665
297
297
347
250
568
944
121
378
906
575
799
940
512
944
568
564
387
957
654
278
295
527
498
439
359
583
855
170
133
388
508
727
849
226
315
11
783
364
761
302
171
615
985
948
322
564
424
618
316
70
925
88
316
718
771
943
919
813
715
50
534
207
439
207
619
453
30
463
983
736
235
266
626
936
620
284
258
263
776
147
997
557
739
732
579
484
810
902
548
34
343
384
791
751
810
540
249
287
603
773
948
651
310
626
619
939
390
201
765
634
558
523
738
543
452
778
200
748
805
563
840
8
143
737
489
82
167
460
98
306
630
965
925
612
264
682
539
157
121
922
820
806
319
303
741
126
962
90
621
64
559
639
862
404
390
866
390
625
516
221
959
172
960
762
447
847
199
137
521
148
307
141
697
945
642
656
109
341
836
770
795
669
176
748
154
126
643
550
186
823
132
574
689
259
720
219
631
76
871
742
27
219
8
835
173
306
192
544
442
415
565
443
857
784
685
671
437
970
868
963
910
101
711
429
974
996
690
39
449
768
667
1
706
529
715
197
944
902
750
138
25
59
123
935
383
355
501
509
670
456
353
951
805
668
283
294
613
930
554
939
713
313
8
578
918
212
75
214
543
496
176
202
60
549
40
999
617
993
287
980
677
754
294
69
840
496
921
751
198
172
606
933
319
367
718
995
284
950
905
821
739
666
445
406
325
724
610
942
10
443
58
1000
409
967
740
149
163
574
175
654
557
739
762
732
800
619
204
93
382
666
462
971
779
727
330
290
522
791
896
888
287
629
574
599
576
241
964
974
70
52
560
213
255
569
429
165
861
499
347
653
934
308
223
643
93
995
949
756
656
307
103
710
827
893
241
68
63
744
133
407
17
787
390
777
931
765
730
585
602
232
166
180
443
877
310
604
70
398
888
562
694
662
82
306
848
370
987
975
650
614
988
483
454
69
463
886
863
228
874
440
122
454
571
390
862
355
525
778
799
929
352
452
597
66
235
201
112
151
563
543
996
586
769
799
316
214
758
862
686
751
479
550
115
699
896
204
377
755
999
550
720
667
831
763
237
218
218
458
586
451
46
936
397
697
196
906
237
42
305
775
85
432
786
924
801
16
514
260
360
62
164
628
586
653
235
749
748
539
600
935
759
72
685
924
641
989
521
118
535
936
314
756
473
489
273
920
311
717
160
282
578
824
330
92
214
352
857
509
178
639
94
980
961
145
253
977
799
646
595
668
109
608
247
186
963
38
830
495
75
649
651
85
296
243
496
422
719
173
379
136
148
670
725
78
84
612
902
540
700
903
658
821
781
240
220
82
349
679
526
558
921
764
792
923
630
605
779
394
503
722
6
395
360
341
136
235
785
324
122
661
285
766
969
728
338
380
109
287
522
726
279
687
655
403
753
683
163
135
603
506
443
8
263
150
795
109
82
192
722
220
431
474
211
730
964
808
322
132
248
208
825
506
18
782
197
173
335
700
632
415
943
603
699
685
330
387
17
725
756
890
392
223
310
718
183
461
428
118
236
389
857
384
650
472
800
289
488
25
200
571
456
813
587
962
84
502
348
727
931
198
186
562
244
237
495
134
587
183
995
282
369
96
242
203
753
189
875
492
788
626
736
792
631
926
179
689
896
621
917
949
637
307
181
530
226
945
163
369
235
91
789
511
830
950
914
857
320
501
129
779
403
306
693
544
190
749
447
992
520
650
719
21
702
535
806
119
277
79
187
78
673
211
913
893
842
412
94
666
758
708
524
678
318
543
703
102
84
936
21
644
347
478
407
284
662
974
793
279
523
447
211
342
248
330
634
74
645
908
783
961
912
622
108
219
539
561
378
420
964
724
495
641
285
529
498
258
479
954
179
581
443
105
320
894
260
555
444
398
281
248
747
921
770
775
288
655
37
810
920
384
127
999
916
125
745
89
419
638
533
473
71
103
859
513
77
378
343
286
963
368
989
906
283
787
893
346
235
561
4
646
290
928
123
159
533
891
225
331
340
15
285
331
75
31
890
192
813
236
444
199
217
58
1000
395
607
776
815
462
262
48
784
918
479
43
239
433
692
995
712
513
257
990
275
736
693
418
673
866
730
774
620
381
63
507
206
961
497
880
566
177
513
964
297
111
607
164
45
350
486
907
369
87
230
978
541
285
883
640
913
598
208
499
827
553
576
338
656
201
729
955
146
240
476
198
417
243
861
115
640
635
779
120
617
28
615
657
639
722
446
695
109
734
335
28
488
636
336
560
794
412
831
826
79
978
342
403
285
834
526
889
358
711
662
185
515
694
189
132
670
181
957
740
511
988
914
67
780
563
131
768
351
143
188
404
699
571
726
1000
570
561
375
188
720
51
34
577
266
744
283
76
708
179
722
892
464
338
381
543
479
45
86
336
504
438
100
859
786
147
365
455
973
670
728
728
795
327
112
813
814
63
974
924
148
15
575
28
992
144
255
319
139
20
633
198
948
588
292
662
631
207
165
626
551
505
615
902
523
245
372
157
589
116
668
364
983
670
467
999
715
227
184
969
519
122
441
38
830
600
899
855
662
720
407
726
691
622
387
460
742
857
893
467
82
810
659
610
320
948
719
239
372
729
350
821
457
554
187
429
402
836
173
836
156
556
679
64
768
557
634
618
241
929
211
709
962
125
762
3
633
506
822
259
136
368
696
7
278
275
506
221
587
768
161
741
235
790
683
418
789
118
227
329
0
155
895
125
874
667
23
117
5
794
823
720
471
636
258
181
156
19
966
91
572
708
896
856
503
816
110
494
504
208
234
887
135
927
954
185
575
234
923
879
275
34
854
437
915
997
41
626
337
163
29
838
873
828
76
855
984
786
720
872
416
849
459
430
943
475
96
96
842
706
486
288
878
730
453
486
476
184
701
419
287
122
259
397
580
579
746
967
119
611
720
487
875
538
425
843
170
552
814
775
175
37
43
983
372
533
205
466
901
651
767
959
241
954
266
339
870
23
102
253
489
794
196
15
543
509
882
873
38
857
702
577
786
625
562
996
943
136
29
949
333
196
297
909
51
429
226
658
827
981
14
772
746
686
313
210
37
239
806
665
881
556
765
329
13
699
635
789
134
130
558
49
502
555
238
196
471
347
911
271
188
42
332
313
278
86
556
435
764
162
230
582
916
957
754
836
194
165
408
636
607
728
573
902
582
824
45
35
428
522
637
924
997
736
557
827
386
270
834
556
79
461
302
979
628
846
549
160
210
348
9
676
146
717
510
700
675
103
250
757
233
883
658
470
524
898
232
328
314
907
737
995
808
530
291
901
157
439
989
485
585
6
589
831
491
339
699
238
630
845
809
38
799
318
889
996
974
737
734
867
207
527
818
462
357
340
336
109
27
616
33
233
609
622
839
227
582
62
439
151
101
828
587
344
935
523
754
548
839
257
433
841
538
71
232
813
483
304
864
320
60
609
715
147
172
576
255
205
996
886
989
700
73
403
147
666
508
441
725
0
668
386
805
745
824
833
839
877
431
359
951
659
779
548
290
591
11
638
268
155
186
419
6
968
957
400
319
335
223
528
282
292
550
116
790
715
973
767
949
879
578
761
848
131
450
870
898
378
893
524
424
739
900
908
806
537
317
379
820
821
573
613
881
459
494
995
111
421
280
686
118
12
331
783
718
339
573
21
637
747
687
595
834
966
307
155
12
573
38
381
681
309
678
527
696
832
621
219
171
913
626
153
33
786
249
154
263
314
14
517
898
991
930
60
517
398
579
840
126
48
782
379
204
349
26
347
986
899
426
258
462
760
824
196
527
426
805
783
343
563
421
287
931
19
890
565
32
613
28
898
685
179
524
1
445
157
708
838
530
151
432
683
581
420
759
467
256
854
97
248
366
519
674
698
839
239
46
289
433
782
259
236
223
76
353
972
485
956
90
788
440
34
462
790
204
364
704
757
252
167
175
734
907
921
65
237
251
581
922
41
225
56
8
340
543
465
202
18
759
733
846
444
255
841
202
321
155
809
202
275
834
78
375
238
511
797
201
748
500
286
780
364
6
34
17
539
23
144
86
377
532
681
257
265
890
67
483
698
307
188
607
888
985
573
293
36
25
242
704
398
459
295
169
460
555
14
240
450
551
738
692
296
796
293
956
436
750
409
533
608
624
354
159
538
715
195
145
869
782
583
430
665
768
537
635
228
153
934
556
306
37
741
614
582
421
286
215
179
821
291
108
71
497
603
429
756
130
672
559
713
32
81
771
397
521
451
477
491
111
526
29
175
613
936
340
642
25
986
753
69
708
568
209
22
122
286
578
78
455
325
754
4
857
652
343
175
459
666
799
809
568
976
325
689
928
11
451
413
658
985
864
857
125
647
261
358
982
571
792
844
706
60
456
246
173
54
583
216
23
189
721
36
158
108
93
800
713
981
12
668
697
912
410
224
121
633
998
488
579
21
436
671
444
964
910
34
194
68
716
934
939
516
622
232
46
568
704
556
537
19
511
950
962
929
728
922
757
115
410
335
821
957
648
130
751
781
932
948
768
667
43
473
240
742
775
222
160
299
361
787
807
781
303
845
37
78
513
736
575
793
740
660
676
810
901
165
521
193
710
894
634
177
953
138
213
276
26
107
285
892
8
388
803
2
942
640
309
874
677
979
119
2
682
320
792
153
741
644
861
938
32
860
950
388
266
853
779
495
432
951
243
636
665
141
947
137
895
338
540
130
425
91
967
379
86
167
783
881
8
419
226
745
721
227
307
217
151
634
596
135
278
96
673
204
688
859
330
965
532
723
863
969
54
717
773
501
136
268
281
259
840
704
318
929
228
300
541
276
794
605
776
388
972
173
22
120
486
535
199
679
401
414
220
95
912
789
542
309
455
526
310
497
907
698
908
315
102
623
419
970
243
262
385
928
313
100
911
528
509
330
428
444
981
933
715
45
182
447
160
288
428
857
85
170
131
654
929
10
340
830
882
628
710
444
810
665
31
634
359
869
72
182
267
195
391
515
291
461
143
688
933
553
185
170
113
937
825
489
42
247
660
498
909
134
349
113
272
555
466
916
536
938
588
837
877
667
718
191
718
266
40
206
413
282
918
311
74
922
561
365
456
800
179
519
21
881
455
713
699
485
174
849
668
81
251
90
452
821
265
348
585
191
982
928
294
478
525
456
574
613
601
480
919
708
750
733
759
656
75
229
93
800
974
14
290
927
360
816
185
931
984
432
617
562
688
966
188
104
216
394
190
460
875
380
18
4
669
696
289
138
23
376
54
105
268
271
108
743
772
954
702
984
388
624
318
969
764
680
785
754
627
942
777
938
680
175
570
2
596
470
767
101
153
24
329
709
476
805
530
866
791
730
478
1
391
676
823
834
497
316
329
947
831
718
769
107
110
187
55
919
563
783
531
675
504
321
971
653
9
294
462
446
0
733
411
484
973
96
177
226
21
637
35
161
658
893
86
357
616
840
689
243
186
362
705
368
434
920
883
301
18
96
17
269
490
180
999
181
512
614
139
590
365
937
433
192
791
199
844
770
0
180
930
301
563
546
842
834
509
739
399
561
86
50
621
64
454
383
456
999
493
242
23
888
843
258
311
810
775
507
290
452
192
504
172
933
77
653
213
142
803
306
916
578
573
146
798
302
560
913
831
605
872
585
120
889
546
587
833
579
385
165
83
564
12
959
607
128
276
332
631
840
946
670
588
815
233
304
98
894
366
564
161
132
269
996
88
754
854
399
492
272
494
15
998
257
63
67
533
520
7
350
479
39
364
792
402
259
581
729
352
101
424
13
292
251
375
560
642
507
690
704
319
687
74
529
485
362
193
366
312
166
146
610
8
333
1000
485
859
520
184
206
516
351
614
67
844
14
871
894
526
976
871
647
207
451
20
945
505
266
733
460
974
120
592
637
598
799
132
735
191
853
136
43
614
505
101
714
172
288
473
710
664
79
996
367
417
685
188
687
189
73
865
658
5
374
111
653
866
749
694
553
416
125
854
906
651
891
260
710
930
654
188
132
928
111
428
586
172
510
110
538
493
292
117
757
547
750
929
978
929
237
626
454
222
909
672
958
428
456
121
26
155
500
257
62
601
122
78
563
922
92
510
49
800
828
497
132
498
573
180
231
498
257
998
427
134
303
238
775
881
690
671
759
667
452
152
137
341
16
505
293
842
146
141
649
565
571
570
755
665
239
811
65
706
889
954
679
18
324
946
932
69
818
826
218
136
360
958
708
552
62
352
861
394
241
671
267
782
864
755
629
707
378
206
555
701
288
51
893
366
695
552
273
735
911
891
284
500
156
836
749
72
70
147
266
268
56
134
692
20
274
996
961
426
545
306
23
917
432
378
530
231
800
952
154
746
689
783
595
280
357
574
982
809
51
787
309
687
723
632
228
755
175
408
632
541
563
354
367
488
667
590
576
473
76
603
514
362
472
240
711
618
26
924
825
259
25
891
187
331
716
376
824
189
223
441
995
484
561
809
491
21
534
578
162
218
299
159
435
94
637
450
911
385
516
818
337
889
767
884
862
88
877
159
640
3
511
251
64
973
650
139
808
633
416
672
0
811
389
864
67
344
426
657
808
314
898
596
119
610
265
691
661
180
740
67
373
658
860
632
648
532
629
459
108
650
550
401
247
4
778
537
891
228
493
170
196
764
490
485
41
109
14
12
990
886
276
685
802
306
959
978
683
515
622
988
380
276
945
937
344
873
271
132
257
739
147
354
510
694
489
486
505
679
888
586
799
643
785
323
269
633
38
910
156
785
587
183
577
80
788
822
772
936
382
263
53
425
411
486
173
384
753
624
272
461
968
65
39
274
664
790
603
36
636
317
937
168
325
925
693
980
764
681
819
877
244
393
699
336
745
431
793
575
387
515
647
497
198
305
289
566
687
442
471
99
496
486
440
519
491
279
386
499
573
335
849
292
997
735
210
266
764
763
801
82
280
434
181
391
848
707
903
453
595
920
508
763
100
249
705
310
188
445
211
661
116
720
934
81
551
810
591
594
545
399
691
283
471
956
898
626
344
948
989
430
727
952
911
583
329
213
962
98
853
228
741
868
18
262
511
788
238
504
347
113
518
319
233
593
727
204
427
255
219
718
532
931
809
353
285
400
352
685
392
685
387
57
861
834
472
853
709
928
832
440
846
243
452
860
126
74
622
150
89
355
804
129
949
560
27
139
241
648
828
133
322
791
27
456
929
173
945
100
498
288
299
437
711
632
368
991
938
61
224
288
621
889
582
162
390
61
566
120
788
221
405
144
305
194
666
788
875
821
819
44
192
370
379
126
249
347
489
666
535
806
131
113
797
26
136
644
789
212
399
344
959
360
87
410
724
490
349
503
617
556
969
730
230
644
460
366
683
488
215
54
932
211
643
648
92
221
392
21
948
292
597
745
288
290
920
498
666
839
953
791
287
469
918
568
433
709
884
755
299
681
945
872
509
748
330
629
422
908
699
457
527
419
209
418
40
875
697
218
82
993
774
504
936
981
56
716
974
111
947
97
394
558
161
381
130
22
816
751
191
730
961
739
255
402
411
120
882
554
157
586
315
976
571
314
395
914
955
768
74
796
41
216
176
448
771
212
610
438
939
713
695
823
48
280
372
377
43
368
753
861
29
651
438
713
860
756
798
42
679
282
964
274
380
204
867
597
955
763
836
631
838
865
66
786
55
901
676
709
495
999
501
932
209
354
888
347
62
855
846
499
485
595
21
837
330
938
961
858
504
483
665
85
694
433
948
658
707
404
531
630
190
290
222
388
679
815
247
502
531
730
347
858
187
351
441
583
682
209
843
525
997
226
141
160
905
759
913
757
428
128
585
914
449
514
806
768
81
66
484
708
430
948
326
950
181
953
178
865
909
93
472
274
637
524
446
183
258
557
342
89
585
125
957
488
645
981
210
459
195
382
801
572
311
410
1000
50
744
519
815
35
611
740
742
720
732
241
303
783
409
291
970
801
810
434
897
821
25
679
316
863
871
316
453
784
348
971
461
88
972
719
374
455
261
241
770
917
119
720
380
204
540
969
165
930
453
667
875
135
337
483
823
43
771
817
33
939
23
325
796
900
589
720
526
954
472
484
855
633
437
793
431
221
534
383
710
167
390
806
33
670
697
440
198
203
238
537
598
236
948
881
344
507
209
497
715
210
210
140
883
907
506
96
260
789
116
142
91
578
126
729
887
572
480
874
289
780
487
448
410
230
387
952
959
743
261
423
764
264
930
287
678
214
338
930
278
615
702
582
603
646
755
143
401
342
340
722
88
962
836
246
820
791
11
400
748
640
83
750
871
613
550
632
797
152
578
545
283
76
436
839
371
25
843
35
261
833
118
526
422
118
535
243
455
423
897
155
984
610
262
404
983
550
437
629
86
817
120
389
820
766
128
321
187
646
745
42
456
277
782
630
363
940
931
137
374
838
868
883
543
341
535
366
475
544
111
61
224
787
768
598
379
741
33
793
43
958
384
285
374
404
334
525
532
215
451
827
938
587
673
189
440
664
223
495
254
808
250
920
713
900
719
356
835
449
253
866
484
472
607
33
38
966
140
128
816
587
137
715
586
300
904
31
219
548
811
543
961
783
577
739
465
13
965
305
33
206
476
465
895
231
318
48
664
266
801
369
717
931
143
910
108
264
572
541
286
675
102
816
84
452
471
280
779
705
971
423
979
771
346
554
962
144
406
526
490
920
64
387
188
627
551
66
323
244
461
652
526
626
364
174
323
643
512
734
163
835
998
231
660
33
51
111
825
430
669
759
627
25
576
459
146
675
711
839
94
430
705
374
158
804
404
385
49
953
495
251
971
1
981
517
701
37
637
651
280
32
461
580
630
807
962
948
296
605
611
309
647
561
872
597
987
549
306
993
467
778
748
179
164
434
977
50
780
319
841
38
976
910
158
62
248
909
313
475
936
983
796
923
381
104
845
862
6
821
653
318
340
11
665
666
479
197
683
687
602
861
585
396
673
46
285
538
457
836
100
88
937
514
317
41
495
808
304
232
528
398
564
934
45
521
193
475
641
769
118
280
791
985
384
468
338
954
163
549
626
611
98
57
734
98
398
784
716
159
562
959
774
465
18
752
474
475
621
597
981
37
14
702
608
271
977
383
367
417
695
379
978
236
718
335
415
170
564
581
182
570
244
176
558
95
658
739
700
675
1000
915
877
75
732
224
940
391
761
51
521
503
263
364
214
609
83
950
818
355
735
962
168
730
840
937
473
632
555
613
409
687
644
755
278
386
33
118
209
117
164
965
156
143
773
248
181
797
465
79
329
94
387
708
680
945
511
605
227
244
653
340
992
712
618
557
896
103
841
987
232
839
378
706
271
472
562
394
180
490
991
60
288
904
122
744
761
868
952
725
120
40
301
117
35
274
614
779
613
721
463
582
602
743
875
848
875
178
791
353
864
526
151
515
329
347
814
509
255
145
875
474
921
597
133
12
638
707
732
618
643
84
543
759
539
954
556
448
786
96
125
322
408
990
828
521
975
370
187
941
51
208
495
695
845
168
146
822
427
92
261
325
275
644
959
864
382
641
830
369
578
557
696
943
322
831
498
184
569
823
127
656
422
416
592
108
835
874
718
751
679
981
949
264
959
530
848
944
560
245
517
192
871
506
383
994
465
736
928
155
958
760
509
926
733
492
712
870
258
289
0
572
441
271
378
412
812
946
829
950
496
68
761
168
782
478
51
782
6
399
829
370
675
723
489
792
455
468
664
511
515
315
967
793
353
52
649
48
183
347
560
653
112
137
241
759
267
832
528
136
542
897
369
25
720
69
549
237
570
763
807
446
475
898
71
483
531
283
759
648
862
664
147
652
89
333
622
376
20
497
714
989
5
783
276
900
906
903
876
730
923
384
41
893
118
261
425
585
575
230
783
538
961
741
145
176
569
441
839
556
376
486
30
424
508
597
703
616
828
834
24
952
71
635
647
211
70
393
852
682
229
239
437
619
814
839
954
602
341
905
61
870
707
392
265
953
984
274
277
320
805
46
874
857
585
926
994
371
369
958
17
837
605
659
474
730
897
78
206
810
791
851
655
19
920
966
600
334
324
372
848
545
143
70
921
61
166
250
445
424
77
461
568
902
717
863
378
97
854
216
625
655
806
64
690
278
77
62
31
484
400
492
300
974
884
54
733
103
693
547
468
891
741
107
405
899
882
693
551
134
906
919
748
686
916
76
923
816
961
460
182
970
957
42
471
635
489
337
837
182
618
210
247
865
585
869
392
156
835
702
411
646
423
181
91
456
216
357
720
641
442
250
884
69
928
255
985
757
364
583
267
810
172
307
977
833
530
912
914
413
330
853
135
76
62
401
900
622
745
506
487
903
970
344
846
865
964
696
931
391
976
539
591
97
879
454
364
829
278
799
538
357
79
533
841
227
177
687
769
973
562
257
811
237
195
315
219
503
463
37
31
297
395
810
510
922
666
760
155
602
955
525
406
952
152
574
974
644
423
709
207
493
217
394
289
958
973
115
873
126
49
517
476
972
617
429
238
626
607
66
215
263
37
825
645
172
920
312
325
182
712
469
505
121
414
799
815
670
378
428
682
733
105
244
199
674
31
445
778
588
936
989
629
668
741
383
425
959
691
555
22
758
480
5
971
988
45
523
297
573
599
445
265
981
588
35
410
933
460
837
499
458
458
498
287
536
468
943
259
712
213
277
93
833
96
971
834
807
487
656
900
999
240
410
184
468
665
222
139
107
701
694
13
18
950
537
857
972
628
198
35
729
733
131
214
289
598
345
485
444
308
874
176
236
249
824
926
454
480
604
311
546
680
84
713
360
613
867
266
211
887
922
846
876
154
649
719
683
395
295
86
941
66
543
746
930
690
724
70
442
973
884
958
136
961
447
823
537
217
208
133
631
146
265
64
723
137
511
637
886
189
662
811
358
433
584
68
980
881
232
650
525
292
982
951
419
814
587
529
928
34
988
154
386
225
58
73
627
242
636
388
461
116
372
492
640
495
279
607
968
66
948
171
870
993
879
362
822
283
779
582
988
181
692
267
101
199
918
458
190
265
484
774
987
140
863
566
247
135
228
546
329
493
489
797
990
415
808
824
223
423
12
203
728
232
432
300
418
971
22
404
33
861
881
210
145
395
910
369
846
586
811
5
379
312
845
877
217
214
166
324
200
636
765
349
45
472
15
214
124
632
594
336
993
5
239
162
133
959
237
993
70
85
428
130
13
109
460
594
408
299
471
426
770
636
282
953
20
342
592
990
99
452
380
795
158
845
406
400
302
967
72
663
743
861
446
893
365
987
263
336
15
625
797
68
405
175
214
809
297
734
160
545
307
923
858
893
844
159
44
281
945
690
791
578
307
235
983
810
123
341
781
557
124
665
567
774
19
832
128
236
613
925
603
236
393
987
723
997
686
290
375
319
492
175
523
199
973
678
810
142
31
250
70
719
681
49
101
416
601
323
598
317
4
415
628
38
811
44
455
110
65
831
227
814
820
813
206
578
738
366
973
905
823
613
941
850
697
413
435
349
336
372
286
784
876
955
881
307
970
854
161
981
940
846
321
227
444
329
355
259
361
608
307
831
765
792
211
824
219
446
561
179
699
753
498
217
719
945
601
572
111
192
801
105
456
209
351
741
693
536
185
494
823
303
135
146
938
3
720
966
55
105
202
700
252
15
273
171
228
839
890
909
780
645
973
700
199
170
260
598
646
526
507
378
895
944
115
868
355
285
988
7
80
91
772
652
959
796
917
587
312
148
783
807
41
581
837
845
905
490
79
807
101
845
278
782
855
578
640
943
401
106
933
52
631
904
912
449
368
232
217
998
217
555
971
712
186
65
688
896
942
908
930
557
576
141
660
993
366
705
420
707
455
189
371
998
329
870
632
429
788
174
316
878
432
631
179
724
509
72
48
358
89
78
658
110
10
116
529
147
262
103
27
676
670
946
201
893
391
52
520
673
829
349
982
823
773
128
83
49
66
348
773
979
804
447
909
414
340
726
738
554
393
849
125
892
10
138
323
218
609
618
382
978
71
321
908
289
295
390
67
824
821
446
40
524
63
787
373
240
369
757
360
87
515
464
726
216
979
73
943
364
744
534
602
478
231
571
684
818
682
340
336
558
197
257
571
587
996
410
791
473
971
680
819
44
112
202
75
776
502
413
227
599
856
121
472
292
400
339
958
53
962
238
191
22
197
643
477
487
387
672
112
761
311
253
948
702
546
832
980
838
29
631
333
137
14
618
832
670
109
818
648
160
41
478
697
73
503
234
721
350
647
306
515
164
915
53
786
337
957
645
267
525
927
95
450
356
90
184
707
643
460
129
590
912
977
839
619
794
461
237
172
732
708
858
112
8
990
747
135
375
285
733
943
189
463
296
319
823
148
168
82
89
863
922
615
367
56
594
858
568
801
943
489
125
596
614
197
518
669
262
92
130
848
10
987
555
65
563
583
663
975
575
550
56
903
486
805
735
954
990
588
264
427
908
622
950
706
920
732
894
663
782
45
885
938
105
494
565
473
390
155
21
731
767
304
760
402
0
595
242
50
710
47
684
453
95
613
94
707
299
772
122
0
363
962
771
541
245
405
618
830
32
389
68
36
84
744
361
150
692
229
222
462
279
830
935
646
171
825
954
867
455
854
273
245
225
616
365
528
850
607
939
274
479
631
459
902
130
140
93
182
565
992
513
591
804
812
83
492
237
30
786
891
249
82
715
80
345
192
636
369
722
759
493
715
851
941
406
458
517
455
720
287
391
381
215
578
440
30
247
950
268
540
444
963
983
1
99
450
104
462
23
649
71
697
50
377
809
627
631
975
85
771
442
356
616
960
534
616
551
561
605
965
112
992
104
493
793
616
546
138
731
333
656
995
884
818
183
270
285
751
798
702
47
394
923
627
997
840
469
4
906
417
980
288
86
65
875
202
870
113
519
232
203
764
200
856
815
232
289
484
594
460
401
927
372
466
190
80
21
423
183
311
241
59
840
566
709
6
354
86
282
951
96
370
657
879
581
413
324
751
36
237
566
674
148
567
84
418
662
136
709
938
464
882
93
854
940
420
9
605
863
119
942
371
531
323
928
650
867
585
5
75
992
374
300
294
647
40
274
246
233
990
454
409
658
832
400
108
0
224
789
371
766
233
765
321
947
556
227
383
26
215
955
846
390
986
497
201
144
138
526
428
516
174
519
73
154
848
586
18
498
76
770
587
566
537
726
901
680
26
166
420
63
436
347
954
804
184
272
5
645
763
465
981
208
966
692
62
677
11
171
918
538
99
597
648
79
474
319
51
911
626
790
613
95
233
191
585
814
773
157
217
712
484
605
812
474
147
17
247
23
901
878
37
690
48
475
949
969
361
50
367
385
840
773
568
483
544
990
873
584
101
28
290
852
266
467
837
723
336
9
370
538
466
280
399
568
232
494
86
903
206
240
223
463
812
209
268
137
146
649
123
821
799
551
859
905
729
310
148
727
970
700
543
438
327
327
987
992
636
12
643
122
96
966
715
284
980
9
681
553
774
764
115
86
595
913
594
736
737
588
202
362
815
802
752
962
137
474
460
119
567
896
35
617
49
824
682
773
293
403
85
114
489
613
99
323
564
545
764
900
852
639
107
839
338
632
613
285
31
245
973
483
582
968
197
82
904
243
630
615
448
228
774
747
618
116
529
529
110
370
266
915
826
435
807
611
246
373
310
413
540
804
2
868
643
363
547
244
199
488
870
193
932
995
649
845
143
691
771
611
567
114
985
329
761
495
376
87
442
872
393
442
857
773
336
512
695
111
140
537
250
516
405
161
337
330
135
706
216
27
885
662
34
829
915
113
443
96
135
956
153
9
801
518
995
326
238
465
667
664
772
905
471
400
385
680
355
942
338
662
987
87
37
410
94
966
15
559
278
440
689
556
548
555
961
106
155
569
99
263
409
29
201
501
132
976
906
505
476
186
92
756
585
839
514
248
686
778
219
759
686
610
710
90
905
877
529
615
120
465
59
616
386
953
81
99
181
454
111
655
121
619
90
566
688
785
735
902
354
538
380
723
953
614
245
879
250
891
114
108
896
132
419
594
321
255
21
419
498
466
630
785
132
278
634
344
525
662
843
328
290
311
706
345
424
690
501
568
796
841
288
771
266
144
98
910
24
703
758
390
249
811
31
461
993
691
508
760
826
244
575
222
880
10
861
296
693
460
501
365
809
854
633
797
150
162
603
809
6
666
774
445
278
71
358
802
919
422
891
458
636
861
922
545
905
51
105
277
82
12
286
80
317
108
43
83
322
30
235
837
328
33
539
635
195
270
252
114
514
834
159
756
741
543
293
823
580
350
949
879
341
611
472
592
632
168
168
79
852
871
158
341
628
626
921
417
57
618
271
666
230
93
385
685
133
815
396
229
713
405
530
882
620
859
171
860
856
159
976
810
102
471
386
959
790
245
741
941
821
910
865
326
812
541
435
462
631
152
414
459
741
539
664
877
573
557
812
292
401
948
661
847
848
56
149
666
999
382
152
976
277
29
491
211
871
931
1000
949
287
785
740
763
488
409
991
402
413
105
421
171
921
882
446
801
572
613
36
684
478
729
67
837
981
206
176
490
395
643
535
201
20
640
54
396
220
500
80
569
885
416
718
749
67
504
708
875
30
332
460
217
228
755
388
531
881
284
95
73
606
821
169
621
373
491
748
254
895
571
241
654
542
149
389
157
190
71
187
232
938
191
267
682
457
572
531
802
34
116
884
240
904
249
779
75
965
655
124
179
699
368
86
547
150
842
377
496
582
489
244
170
365
467
793
467
670
388
483
731
531
174
634
899
413
420
209
845
649
553
668
969
961
71
102
336
382
720
679
841
228
713
699
571
991
864
557
396
905
213
328
418
322
912
485
253
624
380
86
64
977
790
301
350
418
319
619
726
670
771
983
9
843
135
826
558
729
314
128
797
831
398
666
747
727
952
606
91
317
139
902
903
772
904
494
710
522
184
891
947
146
475
861
368
618
238
335
265
154
105
200
78
99
677
926
967
887
33
576
499
47
741
193
204
315
414
544
499
282
115
379
446
57
937
962
300
18
750
324
128
190
772
210
498
281
937
326
28
398
305
70
903
386
38
496
454
277
571
545
54
205
259
275
357
285
874
630
169
936
776
30
371
272
105
61
202
60
838
401
583
320
743
118
355
263
606
223
915
940
263
662
825
390
91
880
877
226
226
40
34
225
849
752
409
277
940
415
877
835
476
100
149
106
806
887
451
775
546
608
362
700
171
934
340
627
788
12
372
610
679
645
250
469
398
117
374
491
727
644
746
308
608
741
726
529
464
697
88
25
808
386
560
403
835
164
205
174
157
593
51
985
883
793
117
470
795
77
517
109
630
998
640
298
846
328
368
107
814
309
467
487
993
359
37
818
998
124
392
623
15
738
465
495
535
695
544
164
118
517
526
782
917
80
259
774
482
742
781
693
126
640
645
415
591
12
327
948
563
162
91
21
33
976
94
502
300
493
748
509
717
196
329
483
60
706
683
273
690
779
371
623
612
866
197
327
793
297
440
306
261
877
922
383
64
173
371
494
481
484
29
996
953
397
105
795
342
17
356
182
414
399
527
872
893
674
381
991
34
784
867
981
354
731
622
33
645
230
271
735
171
700
84
532
112
970
79
613
175
217
147
915
880
699
210
168
874
324
447
756
97
610
492
680
146
375
277
914
869
755
682
952
756
517
950
570
669
146
950
980
723
944
801
933
598
858
860
231
211
225
925
664
1000
224
152
445
679
384
242
563
979
317
706
83
554
30
473
240
44
721
496
879
852
794
22
61
188
20
673
378
873
698
113
574
209
810
527
546
700
584
558
443
988
341
545
542
408
564
692
714
74
394
110
562
441
781
307
359
91
278
858
403
609
805
405
68
80
993
63
231
629
40
756
581
940
59
571
28
484
419
777
997
808
366
240
139
859
173
826
266
817
925
924
230
288
600
935
591
378
560
48
87
9
817
794
944
693
636
288
768
907
910
394
998
497
623
648
779
99
774
575
683
211
336
435
652
971
387
483
604
660
623
332
430
75
924
185
419
126
147
596
992
806
720
512
516
539
984
579
274
954
910
246
481
524
806
882
892
942
209
23
348
617
602
563
89
387
236
600
430
163
229
441
820
58
726
525
744
834
869
766
841
625
9
825
646
994
237
840
354
459
304
973
595
677
469
216
915
538
943
443
578
862
877
276
665
723
76
1000
667
272
291
952
449
755
147
877
174
859
107
701
931
265
150
191
607
266
968
407
620
911
230
821
467
424
242
638
854
208
404
116
552
962
116
253
681
423
26
2
336
618
218
311
519
952
330
103
901
564
556
200
729
494
538
514
923
97
923
17
474
782
970
293
149
555
780
274
335
153
275
980
514
929
351
784
233
702
722
473
441
161
510
617
186
136
360
199
975
759
777
591
778
692
311
564
656
446
807
484
118
138
458
732
984
581
75
343
986
794
975
312
424
877
26
550
476
202
379
402
966
10
592
157
10
524
58
267
921
143
423
162
599
482
881
91
883
539
8
352
488
756
570
516
446
608
379
937
913
64
399
173
321
778
681
587
56
217
716
559
897
47
227
900
215
205
302
633
251
278
804
329
265
356
701
501
112
70
903
718
48
43
554
250
200
740
285
776
952
48
735
979
131
696
432
955
724
938
683
340
896
441
952
270
887
949
435
171
718
159
961
969
471
800
731
640
922
157
496
298
218
680
649
809
740
0
176
643
25
637
768
886
889
593
327
710
903
207
314
542
993
945
218
285
392
338
9
740
358
538
521
458
889
549
186
975
638
185
299
182
842
686
673
375
596
368
613
42
898
265
648
927
676
448
740
577
78
346
620
292
911
455
731
179
594
730
627
718
637
763
441
939
213
541
806
550
138
671
502
436
839
333
692
587
992
959
45
472
213
210
261
741
191
248
913
449
390
457
606
168
255
788
314
473
680
127
864
424
706
29
247
784
438
129
192
279
783
173
648
764
735
342
175
560
326
121
278
250
695
811
492
871
715
674
620
943
611
526
861
267
67
584
743
563
709
729
252
119
540
498
530
266
745
482
33
677
214
829
650
710
934
507
182
437
423
986
175
341
321
48
777
548
725
560
756
51
474
141
967
215
533
955
742
275
510
562
576
226
731
213
247
714
225
690
962
289
158
44
607
166
97
62
124
746
105
541
673
505
97
638
55
529
683
815
891
16
538
730
281
135
220
585
610
917
375
42
515
103
206
751
59
39
895
230
513
421
980
27
22
910
394
389
233
312
758
564
783
79
200
191
817
361
497
940
604
811
520
391
377
973
104
289
212
847
688
991
723
302
854
943
615
664
10
173
243
765
23
848
195
574
435
393
472
19
951
891
323
113
504
49
327
597
343
971
694
399
349
50
834
89
442
374
407
361
586
429
524
301
469
407
131
442
166
882
151
81
555
338
203
687
464
65
300
304
892
332
905
43
175
703
730
743
83
549
493
523
932
246
829
722
902
489
592
680
251
428
546
61
973
925
794
34
555
81
671
406
744
724
599
840
590
850
909
337
187
369
18
995
582
318
656
178
833
534
315
363
577
568
232
468
443
511
570
489
115
718
655
484
638
300
39
746
99
346
169
417
719
776
187
826
587
526
989
670
705
195
45
519
764
918
747
45
865
7
780
722
541
710
649
257
544
998
996
663
437
661
314
527
636
991
549
66
971
943
121
232
694
72
837
273
25
585
614
958
775
417
801
691
497
28
577
231
339
409
168
718
62
485
496
207
713
447
340
33
493
310
674
606
315
871
42
85
260
711
828
806
708
815
934
824
249
260
627
738
981
969
720
758
500
114
127
928
979
106
977
663
114
527
209
332
638
476
445
557
244
731
810
843
155
14
591
514
249
782
758
756
361
283
277
153
614
403
276
908
462
312
619
120
367
324
719
54
780
369
822
220
233
783
78
456
273
929
122
614
507
259
435
871
34
485
245
58
477
520
55
155
326
99
531
313
674
586
224
907
197
978
83
840
641
266
812
683
335
139
53
396
267
338
664
451
862
929
516
811
532
86
666
463
98
879
81
945
345
558
165
3
458
87
639
536
998
786
524
478
353
968
591
724
453
56
205
597
140
433
764
350
779
477
626
136
298
747
202
585
67
634
130
60
793
721
469
995
478
265
584
839
551
448
435
909
75
536
308
819
828
166
451
510
679
616
610
534
895
316
400
208
527
224
146
107
728
32
892
693
371
63
402
981
127
749
450
623
476
68
799
80
297
70
863
406
484
472
392
143
816
614
544
604
576
524
464
739
558
989
244
299
755
909
200
187
444
47
465
406
898
647
860
350
879
844
961
283
28
648
911
682
691
335
460
814
24
921
21
313
940
824
561
81
942
693
450
327
607
914
301
110
866
150
890
711
808
339
164
649
7
326
976
1000
337
62
180
189
703
323
560
757
738
32
120
755
752
952
440
318
930
40
580
734
954
221
899
801
914
769
632
754
36
335
880
197
13
124
301
543
731
422
888
987
463
61
760
542
700
721
494
172
523
809
145
399
304
5
653
818
623
852
655
33
706
15
944
185
410
872
124
925
384
924
866
140
944
702
718
908
720
477
434
840
555
257
307
483
331
820
768
294
339
57
231
653
862
46
231
977
944
850
534
214
579
687
554
995
106
261
867
663
3
596
329
458
81
238
341
485
320
828
17
375
341
154
302
857
308
290
574
204
728
712
759
899
411
927
239
809
522
922
720
228
196
376
94
579
347
637
880
955
194
511
419
171
496
399
414
790
232
445
76
191
657
559
67
150
883
234
227
4
178
955
134
743
695
7
440
125
329
143
227
903
280
586
780
282
60
233
677
746
377
293
57
143
734
13
935
945
769
227
753
397
337
427
114
692
823
568
122
50
202
576
478
683
658
969
364
451
767
935
837
0
720
911
7
859
537
939
626
450
540
795
955
30
79
88
641
518
339
425
726
531
659
824
416
248
746
540
291
779
511
214
432
249
521
161
874
190
337
855
698
170
978
22
19
515
685
292
690
934
423
85
992
448
740
848
330
890
654
837
707
806
199
146
738
389
949
780
683
404
1
885
561
737
983
934
828
157
67
636
584
691
921
696
931
641
200
28
503
956
859
121
805
83
24
987
994
116
715
649
359
1
45
812
233
225
981
707
224
185
592
186
191
256
979
125
890
336
526
444
581
853
93
411
653
654
658
813
925
308
774
779
480
238
532
414
234
734
628
422
107
198
531
193
761
82
479
523
660
159
276
934
485
385
598
9
677
429
873
353
827
163
940
46
853
554
77
612
107
693
515
756
108
84
985
139
829
171
899
123
674
706
265
477
10
434
40
440
746
250
393
968
256
11
32
266
833
651
491
987
569
193
650
950
363
968
474
188
147
630
902
572
310
292
364
308
345
897
907
700
520
213
695
528
97
746
78
959
364
135
565
300
313
304
139
812
710
476
377
595
69
414
786
263
90
250
448
450
726
215
616
964
220
27
287
265
919
351
370
544
118
405
961
335
665
371
675
410
506
290
644
860
196
940
900
208
895
358
577
465
115
633
187
886
957
191
182
117
191
380
928
343
436
375
74
174
318
931
339
464
406
246
528
713
799
578
358
780
936
292
400
982
781
705
6
505
551
476
245
322
137
709
140
55
934
156
109
404
74
165
567
57
263
795
854
281
276
541
92
408
213
281
75
311
669
708
104
328
598
149
106
253
280
918
238
250
591
611
302
720
989
741
157
45
864
507
404
879
1000
800
608
726
959
161
166
113
370
85
600
620
378
611
218
912
512
363
655
750
382
860
686
764
801
159
842
673
591
762
934
625
432
738
905
116
248
120
783
392
161
76
381
998
617
484
967
271
472
716
591
304
93
178
106
3
686
696
113
940
316
995
428
855
722
564
658
795
2
647
907
525
557
897
587
388
925
760
712
758
813
217
329
470
573
660
463
208
887
799
238
50
85
920
745
706
258
688
644
411
398
994
178
890
827
432
40
909
815
87
928
214
556
464
902
309
113
153
542
804
377
860
773
554
887
699
929
124
826
785
350
262
555
9
755
255
344
266
594
557
227
471
101
840
465
200
869
224
31
837
783
645
344
683
966
555
226
359
354
446
104
992
364
116
787
812
249
283
257
419
393
545
202
421
241
273
159
61
424
674
283
90
355
747
418
837
61
390
886
488
301
551
662
542
184
969
917
136
10
211
972
332
772
411
474
712
182
204
93
748
472
407
766
108
638
511
515
746
945
418
26
356
912
734
894
724
547
894
966
619
723
936
943
364
20
8
40
977
98
313
108
778
600
731
769
83
316
51
792
696
130
153
243
581
501
805
703
536
695
760
332
950
818
907
437
820
359
37
313
859
907
551
58
624
977
853
400
729
195
909
607
645
270
352
178
986
993
830
702
411
921
171
72
252
674
861
653
662
790
144
630
530
688
616
77
850
547
707
724
780
120
776
52
545
481
915
122
807
51
628
220
311
56
946
984
330
146
574
506
292
848
98
854
520
51
140
207
419
596
217
806
6
369
333
901
94
338
528
554
566
507
33
596
329
462
27
124
321
879
907
704
330
910
929
211
611
444
176
760
309
966
728
829
59
693
364
664
506
110
846
198
502
986
982
44
680
726
397
215
5
778
447
873
63
93
33
955
440
811
98
751
850
524
187
301
844
621
923
317
189
224
490
15
332
666
111
553
598
752
601
733
297
47
348
300
429
253
408
885
676
413
597
518
438
293
519
302
845
260
21
819
670
115
25
136
309
885
930
168
685
455
212
580
690
228
598
0
913
488
394
888
795
349
781
24
421
866
718
707
885
657
706
38
127
114
465
166
437
61
165
90
37
262
665
175
757
324
176
514
818
895
816
983
198
520
541
443
420
794
334
715
671
38
896
842
811
857
64
192
315
828
335
958
636
327
119
984
278
720
292
511
419
198
294
133
449
475
417
317
626
87
401
666
518
12
49
193
391
338
741
311
579
623
361
858
126
881
246
70
398
771
155
967
570
464
207
814
417
820
553
191
616
720
566
271
760
21
393
955
149
679
632
782
513
241
186
968
501
571
307
342
740
695
505
57
520
221
503
940
17
306
289
978
597
80
452
191
952
156
142
887
845
904
310
561
702
706
159
336
88
492
988
715
893
227
285
808
877
184
843
177
570
762
722
159
439
873
70
601
397
896
645
966
498
727
103
515
197
633
903
298
823
184
782
301
862
946
619
755
397
554
326
452
776
687
599
399
704
496
544
144
685
580
219
777
980
217
190
954
5
318
996
92
242
79
989
494
884
274
869
20
117
439
944
788
454
513
588
807
342
832
614
494
521
616
186
881
798
800
728
384
872
695
348
967
420
128
252
951
318
553
199
301
151
197
910
177
640
115
638
193
300
921
861
920
10
137
727
670
996
758
855
25
991
566
959
892
273
299
51
563
259
876
748
100
738
493
637
523
501
188
357
605
760
2
259
241
429
183
169
61
258
875
918
532
844
301
919
125
541
157
763
426
256
804
107
487
832
294
970
504
976
248
663
525
117
812
841
262
364
824
597
174
517
480
833
261
902
85
434
703
852
542
346
591
351
973
693
977
322
214
429
661
778
212
979
702
818
727
157
831
849
706
308
662
226
652
611
78
510
687
190
432
615
399
574
873
31
720
196
290
547
184
320
875
228
2
686
236
634
916
845
248
548
454
933
777
118
592
252
659
644
336
672
389
720
740
286
372
688
875
387
317
334
911
868
168
613
479
437
24
670
111
482
493
916
955
226
947
785
893
373
35
171
716
420
48
932
378
337
997
906
788
477
509
660
2
581
753
307
734
528
161
538
530
129
717
914
109
732
858
83
167
737
807
829
439
39
450
341
831
75
833
919
475
220
610
506
224
605
34
142
277
309
351
410
357
410
399
100
883
607
815
411
659
988
719
687
67
609
573
85
933
845
81
176
428
312
203
89
995
269
943
494
719
847
830
610
514
901
59
446
643
92
43
338
98
659
309
926
376
278
892
507
738
618
248
398
727
645
954
985
570
965
991
696
429
499
909
211
592
301
847
744
349
935
172
104
935
689
403
747
260
938
395
793
732
23
928
6
632
942
22
915
883
503
792
712
106
692
880
546
365
520
40
959
861
65
352
804
845
455
745
167
336
661
272
794
501
577
45
816
436
83
439
780
169
216
385
256
817
477
121
520
176
816
878
470
332
959
14
623
138
594
588
809
786
292
322
410
885
159
832
920
489
147
143
845
990
819
618
473
984
286
615
1000
637
936
625
337
779
802
246
113
480
663
829
306
887
757
265
691
453
559
219
783
340
117
858
126
330
462
417
209
726
250
88
755
766
288
119
910
155
57
330
260
374
392
334
296
72
979
629
956
602
766
536
130
244
520
117
886
130
436
459
441
729
267
475
316
385
133
882
814
931
909
660
724
595
659
197
208
37
166
792
51
737
248
33
19
984
247
361
671
939
4
845
41
631
18
243
805
376
594
495
244
767
319
519
860
683
725
666
584
191
383
924
312
680
516
758
579
988
336
548
586
44
307
863
98
742
904
923
726
995
894
229
645
739
327
42
279
985
293
102
28
473
23
115
530
900
297
857
678
796
612
512
877
952
546
683
610
105
426
718
74
475
899
503
165
785
128
697
499
595
78
456
441
710
760
214
97
452
207
789
468
410
481
817
98
667
920
3
626
607
471
539
379
939
370
88
0
729
567
15
102
260
407
118
644
118
883
85
742
68
368
457
300
363
955
657
209
87
617
977
492
578
544
333
218
870
740
506
46
364
572
197
758
21
798
639
83
616
59
317
550
865
420
359
394
573
647
544
635
20
382
2
38
480
325
300
335
887
81
713
824
287
5
944
712
781
533
904
746
309
89
925
605
874
140
848
90
965
915
775
68
867
867
403
526
118
52
469
696
953
594
31
914
843
963
382
108
74
783
809
40
123
386
522
677
392
887
566
9
13
151
461
168
696
402
757
714
222
918
544
591
759
794
820
553
213
362
668
674
181
85
113
987
71
257
632
819
4
310
284
868
421
938
362
776
779
96
208
594
246
749
476
953
269
616
408
992
143
138
210
417
996
210
165
921
124
724
230
495
668
473
681
551
168
682
173
504
515
827
356
264
730
703
419
631
909
379
691
374
330
478
97
533
367
802
808
746
944
750
965
829
204
10
292
636
474
131
3
463
929
284
974
447
981
319
983
325
821
800
423
921
634
596
931
454
246
320
911
726
506
953
332
202
86
639
637
574
908
639
199
915
254
724
522
27
248
756
106
394
259
924
912
874
75
648
920
308
141
194
956
812
100
824
895
5
831
147
515
260
439
182
337
210
753
967
815
236
262
390
715
654
475
614
567
942
611
923
979
787
962
356
523
973
981
743
865
503
722
928
594
315
710
666
221
15
960
157
579
528
729
428
773
135
917
641
743
268
505
890
517
748
398
553
537
332
502
977
474
364
268
249
358
455
222
826
475
665
791
442
218
718
184
502
643
153
776
51
941
850
887
887
218
686
377
696
363
172
835
79
153
621
813
185
897
446
952
839
657
668
376
162
24
496
985
97
85
83
878
118
396
380
465
132
98
671
714
93
714
916
126
182
516
642
496
441
117
110
155
382
889
645
979
358
5
35
735
947
88
535
450
733
448
781
208
821
511
296
929
116
390
604
874
528
647
84
815
60
510
79
334
975
290
652
527
919
102
229
659
76
892
5
225
425
85
644
31
808
91
561
477
85
683
744
539
558
595
47
388
299
176
474
9
551
487
374
583
941
370
362
77
699
773
455
178
630
513
647
869
130
645
383
964
257
416
612
602
161
552
700
410
317
183
570
347
606
271
408
75
452
163
743
990
633
962
604
950
282
20
13
964
696
44
928
138
129
121
569
110
221
63
852
406
520
766
729
142
33
78
561
982
336
449
323
461
429
386
773
723
641
0
555
285
497
574
945
752
354
185
736
491
696
803
25
691
368
364
937
891
287
148
144
185
932
478
368
951
941
280
778
56
481
578
53
453
853
314
801
151
536
247
168
868
310
625
825
805
883
524
276
47
99
898
495
546
279
257
946
482
925
559
806
688
588
309
388
985
131
308
885
226
77
325
102
882
987
545
25
164
980
291
207
374
536
770
639
935
631
439
447
992
786
161
929
954
408
754
943
234
115
134
968
674
336
694
144
233
837
725
572
970
648
572
30
165
71
915
32
809
544
639
314
244
689
198
486
580
637
495
780
317
913
235
954
627
116
949
41
881
737
325
335
447
911
621
593
648
876
793
178
66
829
763
40
376
15
782
149
426
606
267
152
938
148
879
149
432
644
404
723
702
269
299
259
950
723
805
435
430
625
436
758
486
434
131
370
867
778
258
484
983
836
751
873
896
165
563
970
96
695
269
457
872
704
258
899
42
52
589
144
740
825
800
40
361
668
400
482
821
794
939
484
774
77
241
456
546
81
862
682
91
815
847
101
230
788
906
424
920
659
487
912
773
482
445
154
753
530
536
280
461
201
618
731
385
214
115
107
280
291
31
869
107
233
415
952
628
32
655
783
806
345
312
931
32
702
567
381
771
236
42
39
885
980
904
518
575
11
141
1000
174
278
29
699
628
38
422
390
964
718
301
797
628
293
980
772
780
221
321
629
956
689
824
963
557
943
213
299
750
414
486
873
144
606
979
843
859
750
762
666
271
150
99
41
192
480
491
99
114
80
98
303
426
839
385
57
574
318
300
88
130
169
735
874
778
600
258
697
165
295
876
926
824
37
813
910
268
352
844
314
769
524
256
594
653
802
643
603
995
998
491
73
702
646
804
343
22
445
235
682
958
240
382
560
942
85
959
895
204
891
813
702
328
754
997
552
852
565
902
481
887
598
2
430
469
167
600
397
546
807
941
301
799
485
490
466
313
383
621
205
95
941
349
165
810
508
901
717
845
430
623
364
697
675
472
73
412
270
589
964
388
637
202
914
22
284
492
481
802
664
196
875
777
734
554
114
665
454
942
584
995
358
571
371
875
61
215
722
321
98
27
574
503
295
69
950
939
246
276
560
574
433
953
38
507
516
794
363
8
838
41
972
530
705
186
887
31
238
737
545
485
316
749
594
91
293
931
113
847
975
961
70
759
997
982
492
956
68
683
23
355
837
195
57
94
558
764
702
940
432
290
655
505
271
804
401
669
989
467
21
732
581
174
920
972
875
273
523
247
912
837
95
694
493
610
578
509
290
981
903
488
806
11
495
961
854
432
343
294
417
722
264
416
509
857
634
666
247
387
604
636
420
119
284
228
686
604
75
446
193
658
760
249
405
265
417
404
370
450
672
695
243
840
20
552
102
309
844
641
744
446
482
233
681
218
355
793
313
861
741
43
512
795
635
950
994
181
654
222
783
758
506
846
22
781
308
708
45
158
808
864
384
153
262
489
800
334
59
979
922
396
38
387
537
912
859
364
275
737
599
233
295
489
834
409
307
54
72
863
821
832
351
509
384
516
783
788
80
874
483
817
929
755
745
422
957
745
767
340
9
863
160
910
38
58
248
894
441
394
909
748
772
571
319
51
715
520
549
27
756
694
96
399
919
799
541
463
3
802
865
237
218
293
971
207
113
990
197
328
85
959
307
634
902
576
466
304
197
72
807
229
475
611
25
525
162
747
511
272
513
643
939
396
705
57
56
186
229
162
71
282
42
375
830
211
688
490
826
227
900
45
601
776
858
560
111
152
837
514
891
419
382
853
67
110
137
479
390
112
794
89
12
815
714
924
505
693
229
263
731
150
254
630
785
361
932
97
924
660
22
224
726
210
438
721
926
934
186
748
816
26
346
965
293
264
344
851
285
704
794
26
377
569
647
36
343
733
380
267
708
668
159
380
82
24
577
463
180
4
644
625
305
278
504
68
137
790
600
872
410
255
82
997
741
964
379
927
36
64
519
190
448
399
825
187
434
397
474
36
896
189
479
964
30
278
82
386
933
508
24
108
510
473
423
590
282
273
142
109
416
547
4
741
46
964
371
820
187
969
541
989
126
329
34
937
220
999
212
203
880
877
210
715
8
416
12
648
702
240
553
468
878
469
770
653
362
342
77
755
549
470
622
132
210
478
823
256
667
821
705
914
9
436
993
797
611
696
110
297
62
186
972
594
465
602
393
436
583
994
300
740
914
902
481
965
859
100
82
875
508
927
390
403
467
830
632
277
366
71
916
184
227
428
69
299
640
28
453
898
875
882
556
146
395
643
565
644
740
114
886
154
787
647
641
349
839
174
988
941
753
542
441
266
477
107
25
921
842
706
331
654
491
654
853
814
195
732
727
964
9
340
914
515
552
534
187
917
772
191
596
623
577
700
768
80
187
927
664
913
358
586
263
13
581
816
750
887
645
94
59
328
71
469
378
45
740
898
826
433
114
860
33
159
419
757
905
341
93
943
144
283
604
782
558
548
214
680
753
775
165
62
527
489
833
84
869
801
238
787
39
474
365
307
365
358
353
147
171
985
632
340
488
674
759
135
612
693
513
345
806
776
827
116
279
859
620
356
762
977
850
337
973
224
936
348
146
614
594
435
337
952
948
874
490
574
772
659
945
63
667
39
556
89
889
966
706
115
333
497
462
459
559
84
354
469
646
837
959
791
804
784
902
63
773
493
812
902
581
48
329
637
412
449
134
996
354
432
225
772
645
977
752
447
640
675
477
481
674
964
627
282
645
278
214
53
983
597
244
992
256
247
450
331
752
747
756
86
395
546
677
711
633
510
388
547
272
638
845
949
851
757
95
586
338
807
813
31
537
347
711
600
467
161
310
165
915
165
221
920
493
295
784
695
884
878
657
845
216
133
349
43
195
291
618
531
355
811
414
94
754
830
274
146
284
41
97
439
364
76
795
865
509
984
101
328
67
581
81
614
102
680
157
191
606
730
819
836
782
737
847
282
481
287
915
36
265
414
762
347
329
9
204
726
320
631
82
266
695
891
769
137
442
44
881
725
809
849
592
549
684
882
275
260
919
874
686
106
439
794
621
301
8
122
277
501
675
637
191
47
245
585
479
925
52
482
479
710
669
667
246
932
582
459
679
474
123
193
923
562
519
319
936
804
501
216
132
308
259
483
971
786
420
856
848
346
447
915
752
388
954
805
455
816
763
626
443
579
689
60
326
248
95
535
745
850
880
502
374
515
481
51
995
365
504
49
191
514
400
724
108
907
160
678
118
52
903
702
819
486
373
140
904
763
72
467
612
237
360
829
211
390
622
164
128
861
425
553
539
890
43
659
262
674
805
49
652
621
687
413
637
576
376
729
839
212
576
352
97
853
551
309
344
15
320
98
978
306
906
518
190
207
118
765
639
154
293
891
76
684
269
370
972
198
113
461
627
528
834
512
255
431
921
103
762
223
400
131
406
942
847
622
560
673
185
922
524
97
122
517
643
865
277
291
471
71
713
519
483
949
441
267
66
999
386
580
584
802
207
894
975
84
644
429
264
789
713
794
793
269
302
868
975
195
694
460
2
694
215
829
392
549
72
187
603
374
326
651
40
223
514
591
971
600
637
985
69
844
222
969
16
636
128
736
370
228
783
820
56
367
244
141
655
688
180
17
895
231
367
879
288
521
761
975
350
890
970
403
890
611
821
24
276
583
736
690
916
514
46
828
70
880
749
16
848
717
363
973
966
259
766
955
706
336
96
330
138
598
166
273
312
978
983
61
732
211
353
503
563
595
222
713
82
0
666
322
789
92
183
353
835
173
897
786
466
360
525
176
204
497
774
182
997
574
90
870
592
707
629
383
382
173
735
663
330
154
612
931
11
338
774
510
684
918
417
678
590
549
773
252
153
398
81
126
155
696
747
810
153
51
23
494
100
466
688
875
49
83
279
751
413
382
807
115
843
717
683
211
34
694
434
836
168
212
787
674
602
9
302
595
487
228
319
773
754
376
804
759
2
886
34
503
537
25
721
419
845
737
174
65
649
999
892
388
107
873
248
893
192
57
914
916
509
728
879
772
645
532
981
198
45
158
342
190
27
961
408
967
925
243
583
364
956
654
430
755
843
97
420
890
859
320
312
58
303
464
50
747
882
123
378
793
814
827
342
192
467
47
295
609
413
116
315
635
295
952
716
848
344
756
440
560
864
78
23
992
753
35
251
351
774
262
102
619
423
12
526
328
619
287
44
11
596
497
48
631
632
671
476
609
96
747
944
110
960
706
319
287
655
958
726
747
464
539
861
499
661
688
580
203
872
342
518
319
638
898
328
107
514
242
744
144
614
299
120
924
719
473
427
299
515
866
362
892
488
103
725
154
966
55
665
73
70
845
986
259
377
649
355
206
670
654
96
412
979
132
639
428
366
956
488
553
348
926
764
45
705
566
15
432
28
190
910
700
831
536
658
812
221
214
493
143
406
298
447
709
564
751
566
16
746
859
485
49
586
577
200
533
538
12
595
412
72
877
11
384
505
318
219
726
455
89
59
332
155
488
150
408
311
757
138
978
868
179
461
538
152
464
123
822
106
190
522
259
172
258
581
189
652
390
640
180
77
127
936
291
313
499
283
747
11
376
921
826
677
765
264
440
446
196
235
557
924
36
428
868
359
809
822
76
100
863
440
192
684
53
215
636
816
585
29
251
738
632
495
727
961
981
81
958
529
104
380
187
482
245
992
605
591
666
335
97
624
74
136
824
745
343
933
107
497
469
954
880
835
979
231
127
769
439
718
20
603
212
814
705
743
644
109
13
868
639
98
269
222
397
810
623
329
431
696
363
38
374
988
588
860
628
247
191
547
475
256
965
157
690
569
9
933
484
658
526
994
447
803
461
113
286
525
800
838
286
432
834
516
912
587
377
659
913
792
922
921
423
404
364
180
342
659
479
641
699
353
776
535
768
289
407
733
973
249
10
316
895
4
249
851
924
442
305
694
734
177
595
147
432
382
553
831
32
125
856
842
827
905
735
704
333
207
608
913
974
590
743
476
484
936
714
31
298
253
985
557
163
906
924
447
26
67
30
337
113
752
967
68
745
877
952
534
362
19
194
258
78
773
288
914
885
861
979
413
864
56
433
237
50
504
915
39
671
634
950
603
470
19
206
88
522
778
413
741
530
214
201
202
828
230
722
841
872
345
305
892
651
711
776
440
154
171
458
185
698
784
597
811
519
125
885
479
254
460
826
839
342
391
353
741
780
26
118
617
849
215
255
78
605
364
103
797
422
896
789
983
754
825
748
157
135
267
577
123
421
427
143
555
963
673
467
97
759
174
349
922
131
223
545
512
798
397
960
462
518
314
465
468
354
374
548
214
533
131
115
861
375
86
832
440
379
381
219
113
751
701
964
381
265
407
704
408
699
354
64
495
991
876
410
535
153
726
413
606
70
215
183
993
117
144
240
291
459
155
603
228
642
913
560
130
885
917
359
615
516
623
816
955
17
756
619
202
140
788
529
313
784
346
428
482
621
488
545
687
965
395
254
640
14
108
864
806
696
10
489
472
457
331
500
290
887
102
595
721
76
316
125
773
693
293
520
10
348
376
742
128
864
224
997
571
772
452
445
103
638
708
356
416
642
853
668
275
941
433
698
762
983
697
244
982
901
867
960
425
303
808
935
860
338
911
856
56
5
739
416
117
468
865
806
476
953
366
580
722
180
28
509
175
919
44
983
779
174
995
540
690
751
406
460
358
322
653
66
654
468
933
487
59
441
793
34
374
260
209
97
226
910
445
487
667
128
609
708
62
886
169
979
358
694
325
636
628
13
410
539
204
894
709
962
585
602
211
509
180
709
533
401
799
611
737
160
658
431
300
779
437
203
397
430
647
785
158
453
144
793
123
600
558
829
197
97
352
625
76
691
261
962
95
255
375
346
927
639
968
284
378
577
543
536
723
420
602
206
29
225
334
823
539
669
307
768
104
789
642
868
47
83
928
639
385
106
987
875
767
59
647
780
295
182
607
333
748
440
295
190
688
531
726
907
921
163
971
235
515
564
492
398
393
0
162
505
101
508
983
966
702
161
892
956
170
295
859
793
741
922
920
980
974
683
633
362
940
656
61
359
774
488
906
216
912
724
134
241
318
98
402
474
30
175
292
857
235
585
512
34
734
205
79
835
536
320
690
960
704
99
549
822
391
819
217
834
377
23
771
614
91
276
825
682
407
159
712
400
244
450
869
786
290
600
857
715
155
125
157
32
219
588
305
218
919
650
643
44
855
487
298
662
150
925
814
524
956
461
996
765
51
327
824
5
964
976
113
267
368
167
977
946
745
421
713
837
659
170
163
720
994
735
591
320
437
842
551
153
75
555
544
808
72
258
751
92
30
837
867
775
618
410
54
779
644
725
754
144
454
629
82
89
164
84
284
367
350
282
647
853
952
429
834
690
826
542
858
545
709
512
913
793
784
451
412
654
832
843
95
499
817
323
992
564
967
769
103
999
128
791
131
936
523
76
433
277
934
393
330
587
125
512
193
505
705
609
980
386
833
183
51
358
209
416
687
333
529
309
790
578
888
510
991
401
29
440
801
43
537
541
963
420
13
422
549
952
782
528
955
35
554
501
647
66
350
37
192
302
452
685
748
584
91
623
996
996
46
267
822
755
890
221
291
320
866
232
773
855
195
900
388
99
507
387
81
405
494
894
710
272
160
291
198
753
244
714
849
944
728
903
31
318
51
119
188
648
241
985
909
808
676
170
325
1000
538
650
286
595
720
46
536
493
423
484
368
80
942
143
488
359
514
320
83
939
563
866
107
919
71
541
568
600
432
65
295
579
628
86
451
79
895
93
629
315
170
507
945
492
427
937
555
636
879
873
440
10
161
850
38
223
574
111
718
623
831
996
781
792
101
897
80
337
289
446
470
6
386
678
605
652
36
440
684
639
807
319
831
535
438
869
167
481
777
743
658
711
583
297
378
33
892
363
375
865
974
407
474
987
239
976
346
733
905
270
979
741
819
326
903
919
856
778
115
29
780
765
790
149
44
190
966
316
734
369
350
226
471
566
807
916
561
504
468
878
837
592
811
70
415
576
409
977
746
753
421
34
655
12
65
390
787
893
43
581
107
411
444
270
490
925
471
120
598
111
352
336
188
445
723
728
356
929
175
723
824
103
144
901
747
552
410
521
649
986
552
150
297
123
356
735
522
647
451
963
607
968
399
411
726
1
684
299
60
503
13
776
597
758
105
428
530
837
302
752
139
292
482
893
713
559
922
279
291
1
943
510
183
562
802
424
66
286
326
956
316
349
392
393
598
588
199
333
408
338
224
398
560
881
417
889
703
723
990
70
973
755
788
888
954
973
843
78
334
937
27
239
805
902
920
814
321
367
587
367
300
881
397
741
381
646
62
988
1000
858
468
719
738
904
723
492
947
50
118
215
482
460
184
770
577
573
401
944
947
85
988
672
832
776
295
363
452
98
700
224
314
26
284
425
353
963
208
548
622
227
568
371
251
13
233
901
554
154
713
879
216
515
171
499
497
761
250
233
672
86
108
859
351
296
897
486
314
125
282
530
436
915
575
767
274
524
859
13
9
198
899
602
284
926
435
139
103
955
475
62
502
998
842
347
142
293
750
487
595
471
77
230
530
754
860
856
644
391
549
428
774
631
948
111
949
432
903
318
945
440
503
265
966
307
935
70
443
197
232
318
58
823
553
3
458
505
696
79
963
766
889
220
413
224
842
86
82
8
118
25
593
543
742
837
882
383
806
844
443
20
302
650
46
808
835
389
204
805
582
335
840
381
317
568
306
695
806
949
807
245
928
567
474
416
617
319
908
748
467
488
539
807
505
781
162
522
659
746
798
477
162
683
486
589
638
103
611
118
261
947
917
361
843
181
875
370
394
406
173
950
431
274
171
710
160
223
933
39
474
366
919
41
922
321
508
657
796
173
621
690
972
676
369
232
208
557
692
385
179
731
996
700
953
618
288
762
965
145
905
359
872
461
371
739
985
225
743
147
463
468
338
652
553
918
229
978
2
9
760
133
778
164
663
300
875
457
109
76
750
710
812
650
733
78
271
683
818
458
473
459
690
178
588
830
275
231
34
847
454
111
777
221
62
852
68
854
553
782
917
690
413
813
220
860
852
949
122
525
270
217
994
3
644
203
292
769
68
95
622
973
698
586
673
256
375
935
845
995
617
502
830
462
4
594
972
617
484
963
39
158
818
58
1000
939
636
438
112
51
864
535
72
918
25
52
897
526
482
624
8
996
949
125
34
208
240
0
440
609
731
548
704
860
197
531
953
960
754
134
657
875
582
456
430
855
104
987
805
973
926
886
976
358
330
348
314
742
533
779
422
400
480
403
871
309
398
274
949
180
50
255
77
185
393
726
315
517
554
994
711
539
708
581
277
641
770
515
76
717
719
250
112
200
434
887
575
663
672
642
967
326
676
291
205
991
2
983
384
318
907
867
643
909
125
61
67
472
491
270
306
833
335
788
182
618
552
357
892
856
549
102
96
121
573
710
295
218
443
538
805
651
803
509
260
537
109
621
750
49
452
506
5
887
467
293
580
621
690
532
672
930
403
550
206
444
380
43
161
648
796
916
960
290
439
500
55
540
438
341
907
527
536
993
828
428
219
95
344
372
972
209
479
841
249
334
770
838
561
912
996
621
341
122
432
684
41
335
634
617
933
146
701
973
165
628
502
66
545
310
255
665
828
885
792
314
532
921
280
393
939
34
56
17
34
738
865
322
187
669
542
941
100
167
587
996
515
725
887
495
458
630
458
433
342
393
338
940
271
192
148
432
120
198
849
13
864
988
48
273
836
46
508
724
85
764
89
953
439
372
244
656
853
724
20
791
173
432
386
181
995
620
234
561
35
325
447
913
18
179
566
849
739
364
876
683
712
406
226
239
482
496
787
406
111
395
491
433
8
159
107
953
307
460
299
453
58
607
525
751
32
516
711
844
955
245
731
131
34
998
786
742
384
934
755
468
438
16
46
653
182
169
929
644
318
28
987
486
919
552
691
505
730
23
655
807
251
633
23
871
188
562
205
391
269
707
849
336
29
171
158
699
516
238
721
81
562
218
674
738
241
917
397
423
142
795
720
88
648
876
605
110
264
536
154
532
509
625
996
587
891
165
936
660
254
89
682
388
83
164
7
351
831
132
487
573
78
92
752
263
49
891
107
357
552
6
614
312
920
125
402
336
77
593
294
492
435
968
259
489
183
498
424
28
455
981
879
112
863
229
426
480
814
79
670
585
690
533
806
448
289
985
625
737
500
814
940
705
400
179
395
251
974
654
130
683
817
741
167
736
625
477
310
760
941
548
857
224
276
653
660
986
221
465
262
416
432
746
51
17
198
389
668
187
672
549
122
62
792
806
548
309
507
70
264
909
994
675
925
724
106
702
115
656
588
678
124
915
975
950
959
699
415
299
954
670
820
286
531
942
161
159
412
738
613
616
668
406
97
584
18
688
589
598
156
197
784
643
33
230
261
268
904
289
769
865
325
752
304
917
744
627
31
78
853
203
450
667
643
667
290
816
409
448
127
622
417
870
841
196
720
46
799
54
96
910
959
345
364
928
877
927
392
920
230
16
614
263
715
480
199
576
437
528
203
679
571
39
562
911
524
245
929
106
231
162
825
984
538
2
229
10
220
573
591
923
453
971
707
917
282
394
734
517
530
20
138
237
476
586
149
570
405
851
467
837
496
575
163
129
126
222
581
209
813
535
281
351
825
840
726
213
15
746
555
852
225
772
398
214
131
269
189
664
10
367
776
78
350
428
681
25
402
153
668
740
513
513
469
983
380
414
594
852
547
200
396
395
139
416
9
438
800
361
178
962
781
18
499
34
946
287
505
889
929
266
43
350
701
845
927
271
417
317
532
124
958
143
592
216
946
754
494
311
982
708
210
680
930
769
300
428
227
930
856
308
832
544
611
814
781
829
414
31
921
140
553
384
819
204
428
544
560
696
56
410
249
30
504
345
802
993
654
92
589
4
341
109
155
990
978
382
162
339
21
563
431
135
685
560
683
309
472
723
645
588
351
902
725
56
541
137
155
730
171
174
348
775
665
838
162
396
498
432
304
304
464
335
774
272
262
430
109
658
996
313
546
827
509
192
597
481
579
9
12
998
951
560
509
186
972
883
636
81
697
519
175
567
566
15
512
780
399
834
584
458
813
484
488
499
965
890
651
602
423
73
234
932
313
629
943
95
727
900
696
35
893
325
151
404
382
113
904
385
730
15
504
242
740
40
602
380
495
421
437
160
443
698
644
890
214
804
994
359
1000
986
950
669
427
589
106
120
346
885
934
261
881
125
168
879
472
940
342
424
985
77
106
960
368
720
571
493
415
406
330
659
796
685
31
88
678
575
918
232
650
564
597
848
506
953
756
307
454
361
587
581
631
524
36
549
29
947
478
382
452
361
757
744
779
948
443
678
391
544
751
585
154
226
421
374
896
827
355
30
978
215
185
682
863
288
293
639
639
887
40
478
487
64
229
40
969
30
478
870
107
35
505
383
529
580
298
687
251
404
813
902
234
338
45
903
491
563
483
93
920
99
308
244
641
794
1000
605
613
498
187
568
833
58
273
173
226
0
870
573
438
980
208
436
225
640
146
446
889
959
871
979
411
24
155
18
676
910
782
447
672
602
998
424
561
576
327
653
692
203
606
229
214
667
293
638
359
476
697
68
265
264
444
215
400
54
232
906
594
71
40
440
743
380
161
97
216
76
954
682
820
878
578
970
30
365
708
364
982
649
281
372
809
246
280
99
54
402
388
197
154
465
34
43
19
148
975
913
264
5
231
273
898
981
820
663
13
190
160
924
188
314
659
338
681
349
870
513
495
427
628
251
124
724
191
563
145
961
58
96
993
831
885
306
290
605
948
185
461
20
112
68
802
18
228
576
308
260
437
428
614
422
454
921
742
976
765
47
917
966
181
26
200
118
455
714
77
522
851
665
732
710
176
594
796
40
142
269
450
579
261
600
561
686
182
159
465
218
227
904
752
624
784
396
970
767
661
637
32
511
900
813
197
315
845
683
989
305
721
424
143
942
482
152
465
673
235
476
503
862
42
615
545
894
802
664
699
320
939
149
356
514
62
489
586
582
354
910
469
391
115
100
636
492
326
730
16
340
451
794
492
985
388
302
345
297
149
401
555
946
316
811
472
968
755
116
646
985
799
751
874
718
288
267
596
707
324
225
552
859
957
929
230
63
519
237
622
171
105
317
492
777
395
822
256
479
99
184
538
130
127
266
678
508
76
894
689
667
730
343
760
367
426
376
224
258
440
376
388
286
933
558
700
768
705
974
741
36
717
280
29
314
854
745
808
610
929
405
997
938
58
307
858
491
182
700
320
351
725
689
341
870
722
485
819
742
344
158
94
60
596
678
554
864
71
274
801
310
953
106
547
342
131
232
517
828
987
358
763
414
340
40
455
215
630
749
806
309
353
644
23
331
587
160
381
491
848
396
375
666
635
560
848
335
96
657
236
876
834
58
98
608
333
174
883
911
242
296
156
399
527
816
528
352
922
676
855
285
341
607
791
476
78
387
0
826
106
858
835
424
915
407
759
173
919
289
731
852
871
504
560
21
729
722
485
429
126
320
401
479
182
533
386
63
134
698
248
839
625
9
799
664
611
389
330
608
743
221
799
342
25
150
566
537
452
793
5
67
409
309
652
253
110
753
671
421
382
570
911
863
34
890
238
517
839
834
177
597
323
969
249
734
108
662
458
252
762
526
988
187
702
438
846
587
691
541
457
296
566
577
35
883
662
960
749
597
149
585
798
9
639
685
23
213
202
870
418
243
325
862
219
109
720
468
690
762
771
4
324
461
592
896
579
415
54
329
139
911
307
622
557
654
833
771
493
364
179
993
608
769
141
783
766
308
806
539
168
442
668
943
599
806
491
230
362
564
676
566
833
788
167
559
475
747
318
191
25
912
80
891
263
399
399
814
516
949
272
765
78
563
337
538
748
721
822
973
538
278
80
733
708
604
816
51
348
393
18
304
409
658
54
777
462
409
21
494
515
759
110
850
18
989
49
54
197
944
454
20
907
147
53
248
83
441
515
839
993
707
988
1000
600
827
171
509
185
370
624
784
624
331
576
194
487
139
268
643
742
174
345
415
693
549
857
2
523
351
36
377
30
263
587
465
494
739
657
273
195
834
590
729
886
307
95
515
907
553
715
86
606
799
739
459
246
908
850
791
431
890
848
908
711
454
136
589
983
636
835
945
842
57
700
598
281
171
396
423
225
277
403
108
710
599
640
976
585
602
426
271
388
338
219
9
721
266
686
341
550
748
520
700
509
211
554
205
958
305
949
748
486
41
551
317
53
560
754
413
118
244
178
835
795
429
762
802
291
568
871
851
452
301
777
704
645
212
435
617
583
209
448
252
927
752
330
875
207
392
35
287
452
545
397
776
910
962
808
814
977
810
699
786
136
761
439
914
582
726
280
390
206
79
608
142
321
662
655
979
891
188
280
726
954
817
927
394
103
404
239
243
924
899
76
28
71
774
414
913
110
644
611
477
826
872
492
862
93
804
575
871
106
7
165
878
778
406
624
890
991
656
544
663
959
196
261
490
834
198
586
701
93
934
871
987
707
23
610
824
749
649
592
530
913
627
577
76
212
152
103
439
529
693
255
841
665
160
476
734
27
186
50
908
231
501
104
518
99
299
137
696
272
838
622
160
184
141
603
366
126
396
383
728
84
975
748
875
452
362
159
737
198
913
215
58
414
766
760
268
278
900
456
587
472
933
289
865
811
544
847
20
422
987
429
537
490
524
913
69
360
279
421
744
845
120
714
882
896
823
346
852
511
491
624
694
246
469
538
394
484
309
171
816
342
765
596
218
131
49
6
736
89
594
165
761
246
399
66
850
369
803
500
836
301
227
467
216
785
345
205
504
992
76
837
424
984
482
674
189
556
335
220
982
489
624
835
670
416
159
214
805
815
71
17
3
208
37
845
863
817
896
507
819
489
828
529
353
449
689
789
787
949
255
933
841
424
255
315
712
625
850
733
328
10
656
547
976
192
428
139
259
865
331
813
731
930
474
679
364
935
896
962
575
533
166
281
131
616
999
980
672
561
115
250
217
148
456
594
648
433
706
772
299
417
158
756
934
940
878
662
170
426
242
645
919
303
596
985
394
96
419
200
166
117
697
243
134
851
367
709
939
211
525
592
354
429
248
112
409
124
468
596
242
171
282
134
191
162
203
241
991
177
913
882
64
431
556
964
876
540
5
220
919
755
634
44
704
428
962
839
985
336
167
497
854
65
171
641
982
157
87
3
646
655
459
842
447
690
778
251
771
488
587
246
346
12
646
992
607
538
210
334
399
35
464
434
941
970
822
446
894
399
94
450
407
73
300
519
449
443
849
963
847
511
474
583
240
6
138
321
968
30
962
790
276
757
338
992
494
450
182
814
328
133
57
919
930
580
492
969
464
218
500
509
848
974
358
68
164
54
611
527
496
391
547
101
903
271
137
934
210
44
55
837
969
379
990
363
487
5
146
747
287
889
919
894
19
758
762
199
546
60
613
64
897
704
277
691
678
382
516
437
658
513
918
604
144
225
986
766
201
975
668
492
894
332
418
161
918
848
606
465
344
480
904
480
710
612
737
447
304
59
853
304
221
881
953
103
316
305
891
302
716
18
703
358
122
615
712
658
11
172
433
408
355
506
187
219
687
103
200
758
319
900
25
590
496
4
573
452
16
332
353
100
438
848
816
60
911
294
616
425
830
169
758
280
208
162
992
152
326
689
301
66
376
498
933
535
666
588
61
698
156
23
92
153
560
99
622
207
640
895
963
629
943
88
889
799
269
604
106
575
561
586
109
34
965
213
799
125
510
589
873
675
422
873
46
151
847
628
487
843
911
231
660
221
190
719
892
259
85
932
250
101
985
774
219
360
131
825
383
972
518
913
403
296
346
220
494
255
214
913
937
52
793
371
62
174
759
272
508
0
457
386
635
146
963
509
148
412
560
858
677
395
300
201
854
832
163
411
970
880
752
148
785
433
308
479
684
517
790
108
528
807
399
714
57
85
698
590
605
775
577
187
369
123
120
709
841
32
56
162
613
565
751
362
187
568
700
763
281
584
581
798
631
955
177
358
576
500
559
158
799
695
590
865
728
841
934
448
688
736
39
203
754
526
479
64
393
598
467
986
434
309
684
591
420
467
684
851
411
637
76
990
136
208
418
582
845
208
652
184
813
384
54
396
319
893
332
801
333
701
994
442
487
135
691
463
487
412
281
103
722
712
122
109
328
910
281
260
281
483
421
664
405
232
894
146
209
986
432
452
706
41
237
388
225
747
224
537
683
135
146
91
783
439
493
920
715
912
608
963
783
832
434
538
19
201
202
287
617
883
768
134
955
938
458
699
326
859
410
323
49
590
613
353
697
961
670
715
712
882
932
794
482
501
48
257
42
289
462
83
405
978
33
869
565
900
459
702
333
126
660
771
268
163
545
338
189
760
914
549
963
292
20
959
151
161
974
203
925
179
949
504
150
689
708
476
308
550
768
266
978
74
831
561
456
733
505
671
665
817
111
833
791
275
132
8
123
971
605
798
250
894
843
642
223
149
981
49
903
787
374
688
881
644
76
741
720
812
69
863
3
283
332
921
58
526
766
262
798
927
427
659
916
122
868
134
911
572
368
277
533
821
799
15
983
782
652
234
14
660
791
668
518
642
128
667
9
248
229
855
486
645
858
506
115
957
44
767
953
462
755
708
616
21
694
938
132
70
193
576
226
105
184
996
602
311
126
214
255
489
620
538
904
549
615
331
72
860
874
612
376
23
156
884
492
484
263
984
42
2
703
502
106
990
491
33
849
383
394
561
658
558
427
542
558
179
608
1000
758
610
720
137
621
790
89
408
470
967
10
311
302
81
829
638
875
248
393
980
753
799
46
680
847
903
504
634
818
119
627
963
19
742
253
905
191
331
841
321
873
325
325
708
998
295
819
332
447
119
58
308
470
388
732
695
39
683
908
143
383
32
589
751
172
62
275
200
179
668
326
200
563
762
350
552
928
142
565
258
100
880
666
797
852
868
813
941
589
75
70
116
468
34
428
925
15
637
782
691
85
987
520
60
780
101
933
977
792
660
831
18
864
135
164
90
60
411
227
292
206
305
489
242
856
188
380
946
142
682
297
619
735
749
507
388
571
209
497
852
871
207
638
386
100
120
72
653
956
256
573
723
49
906
8
800
913
665
119
958
621
396
698
608
855
92
714
795
920
244
621
581
733
705
18
53
397
139
215
599
739
475
781
56
941
438
903
888
66
607
840
822
902
744
671
443
375
459
301
276
405
29
843
516
571
438
660
170
257
691
891
255
851
189
107
904
138
361
888
699
970
806
185
168
826
593
626
995
725
406
970
816
946
465
593
326
291
779
585
257
963
154
938
45
962
223
840
436
949
483
35
576
293
84
771
950
692
530
665
670
503
611
338
396
756
281
340
364
761
0
797
241
968
160
794
233
217
107
678
581
504
14
503
60
633
36
635
278
173
750
231
350
933
37
709
383
91
683
926
611
265
357
662
498
262
449
16
510
511
695
795
11
985
452
186
823
800
215
571
809
246
918
254
810
778
954
151
961
507
757
888
204
90
705
93
403
455
338
562
474
77
280
620
920
805
829
989
122
970
618
625
974
989
316
884
799
793
422
263
499
197
608
92
835
982
572
918
255
698
841
806
328
124
858
9
612
204
483
114
954
68
384
817
793
673
217
982
446
569
478
217
926
186
166
557
628
989
909
196
50
28
151
78
266
354
13
610
449
843
123
928
588
376
255
211
621
962
878
204
399
456
993
707
712
753
756
842
793
307
696
375
610
175
575
88
449
692
987
764
112
44
900
508
494
662
838
475
379
169
272
539
731
165
386
719
276
475
328
211
450
884
75
875
652
876
280
695
88
280
93
825
1
686
105
353
930
351
744
414
243
560
70
574
733
614
551
214
108
932
396
855
69
212
933
550
454
861
968
274
936
407
632
367
495
84
709
820
814
304
917
308
242
997
850
909
723
787
825
690
335
798
480
716
23
522
977
235
137
1
511
162
413
878
639
254
665
489
518
658
313
2
479
780
582
212
376
703
458
549
724
497
366
507
59
72
665
97
95
254
780
760
653
466
302
53
549
589
367
870
840
59
440
684
433
554
996
33
592
829
209
722
822
169
339
812
724
68
103
425
481
697
229
272
409
39
859
706
966
146
230
395
186
6
526
592
648
709
730
605
896
529
96
611
504
157
933
479
315
69
354
249
300
588
270
307
495
953
598
420
157
269
9
816
14
931
14
423
68
355
974
255
453
187
410
194
497
331
994
404
784
745
148
669
732
756
919
943
572
915
442
886
230
501
569
257
661
256
225
274
298
66
488
266
423
243
777
684
3
569
335
208
111
781
713
260
171
514
511
556
736
731
573
769
702
762
649
222
660
304
560
305
770
391
585
921
980
593
254
420
8
815
471
271
536
471
773
106
294
986
269
340
529
577
661
74
231
927
346
873
3
652
247
966
380
59
493
621
531
772
301
963
622
951
268
951
169
57
977
805
475
430
475
163
537
61
536
648
14
81
545
935
133
461
747
615
73
31
152
310
278
834
459
691
333
82
929
160
297
799
795
910
962
382
443
425
725
852
412
978
474
519
863
175
157
6
431
120
965
204
713
321
383
275
350
850
99
205
435
458
109
885
140
979
287
741
582
292
524
116
580
608
757
111
244
977
456
627
250
481
808
547
857
893
570
326
58
197
165
476
1000
485
89
901
85
683
983
229
306
329
903
697
777
737
692
173
778
712
93
890
161
774
714
458
120
10
842
233
123
218
549
577
842
142
825
655
37
931
696
377
560
862
383
262
507
765
411
186
235
274
964
182
748
466
946
272
972
510
8
216
85
753
978
895
505
789
374
811
353
634
416
490
894
376
850
756
133
876
705
298
244
962
681
70
461
479
288
715
989
501
899
954
552
353
592
603
900
272
414
154
755
1
107
455
704
853
696
214
888
94
188
837
122
261
671
686
43
986
88
775
945
875
429
993
940
773
294
356
647
411
663
207
552
975
494
35
305
913
344
970
536
372
838
910
739
996
194
415
807
130
514
149
833
570
10
365
202
626
730
392
205
463
189
687
932
847
389
152
166
955
541
472
813
224
987
446
840
914
754
759
943
408
976
924
104
208
558
724
708
580
200
5
118
990
703
197
800
216
191
56
78
873
654
248
217
180
390
128
154
720
173
187
199
563
900
35
330
434
219
248
742
141
25
131
615
612
632
998
315
729
707
225
912
893
652
66
944
924
431
464
920
898
646
4
24
753
139
175
853
121
139
177
877
27
138
842
20
908
861
799
222
493
359
30
113
141
860
123
678
116
188
691
286
438
621
467
137
456
251
493
737
314
692
827
747
439
211
471
922
384
462
957
290
524
934
812
59
834
869
605
356
484
263
402
187
965
945
404
647
362
938
868
400
294
778
871
685
243
914
434
745
22
868
129
17
769
630
265
745
909
253
920
308
161
415
855
402
157
528
121
195
561
123
244
477
831
921
411
962
763
416
866
181
177
127
759
72
878
138
343
180
637
27
12
712
730
277
193
900
312
809
444
274
153
943
535
800
174
800
310
735
845
456
417
483
434
520
207
213
612
442
191
412
938
587
19
516
948
400
138
21
875
204
952
135
298
844
519
800
792
20
652
736
743
884
198
52
210
930
183
156
218
349
578
827
643
254
532
77
496
370
195
131
289
868
851
240
122
444
322
896
334
749
111
309
662
653
551
963
412
838
564
142
211
45
997
262
540
828
156
602
956
763
333
512
671
705
663
688
321
546
795
358
150
160
419
731
509
374
813
14
718
609
367
195
26
24
514
808
402
746
644
994
870
478
408
801
677
85
912
923
617
345
741
343
441
985
709
87
486
145
861
657
424
686
102
480
625
541
452
751
665
11
41
710
819
411
733
367
121
838
296
941
481
337
556
565
285
940
556
770
192
156
833
358
746
471
853
761
371
25
492
386
653
501
808
793
210
554
317
332
117
39
491
959
229
342
147
789
685
728
910
653
703
42
698
512
309
943
638
234
568
948
930
139
999
30
720
363
795
648
711
60
734
575
867
192
723
862
895
250
981
628
550
339
360
85
285
99
623
941
501
933
139
966
532
373
973
91
866
991
658
836
186
420
705
32
948
305
850
403
471
177
591
602
529
287
558
283
261
183
707
512
90
122
926
717
300
359
275
549
117
596
27
286
344
225
648
29
665
928
496
308
781
730
31
747
983
325
922
309
713
855
929
622
338
306
525
132
803
562
875
612
24
991
772
284
343
631
412
975
484
659
956
88
932
222
676
454
804
309
895
941
364
397
157
760
244
705
873
703
487
982
435
284
833
186
104
958
784
196
348
603
375
393
806
880
501
458
1000
910
633
709
80
385
344
282
960
769
888
398
421
189
898
294
426
97
744
887
769
312
883
194
128
992
791
553
230
465
260
324
350
799
365
168
753
412
900
198
964
403
514
270
151
738
303
764
756
461
329
472
900
71
250
617
983
525
876
535
529
925
389
582
758
290
334
148
901
331
695
361
482
42
665
271
918
185
424
771
789
474
933
909
785
453
843
836
801
241
132
128
780
161
258
257
368
899
798
862
643
793
692
614
858
47
994
503
793
506
904
752
190
197
140
2
477
643
239
577
142
542
874
872
654
55
486
891
313
878
866
182
562
117
81
412
264
920
291
297
561
296
48
358
76
905
74
461
672
893
18
688
151
513
414
231
239
747
409
703
304
200
80
429
445
194
465
782
134
409
15
683
956
745
902
801
412
447
286
637
343
735
217
35
388
250
621
739
265
344
978
840
985
767
604
379
13
294
67
485
580
477
416
224
848
277
949
378
854
239
767
41
194
320
687
997
318
156
264
232
677
381
133
82
987
752
618
235
260
200
717
962
857
692
210
14
685
794
914
727
990
82
974
213
223
470
209
568
112
295
241
623
91
162
140
466
632
785
684
435
81
93
203
271
676
561
673
789
554
971
239
684
344
273
983
755
633
329
482
847
729
585
531
566
147
809
395
972
840
686
519
794
961
27
375
844
227
935
439
882
203
98
324
19
826
901
250
592
699
270
587
95
320
81
217
488
815
611
795
171
684
166
571
61
57
448
614
814
363
491
949
922
668
981
430
894
690
433
771
72
125
328
188
463
777
421
729
56
860
72
39
589
797
435
713
542
16
320
746
364
659
242
267
255
902
635
977
615
930
587
879
868
578
42
163
288
732
708
156
339
963
580
399
879
629
547
623
843
793
451
628
202
479
260
397
159
757
837
646
35
706
690
273
652
333
655
476
606
402
242
977
131
655
660
101
852
765
596
545
328
658
345
985
515
881
325
21
377
550
942
765
924
587
557
954
20
493
492
820
183
169
897
955
853
832
797
314
702
63
976
542
961
67
237
548
894
578
108
198
489
410
937
611
471
690
66
965
845
970
774
840
769
228
222
908
639
449
660
763
823
15
549
288
66
807
178
475
719
487
952
932
831
69
611
541
241
824
729
137
126
147
473
893
479
41
1000
145
254
287
624
876
464
666
569
898
233
883
226
617
96
346
237
249
811
192
233
113
812
468
386
859
739
265
996
871
755
902
966
101
555
689
411
44
448
54
522
400
960
812
987
775
610
372
977
285
486
342
96
145
547
522
208
318
583
837
311
998
293
201
846
982
585
220
929
72
902
153
358
687
667
835
686
916
547
622
759
71
356
290
626
604
975
164
848
306
994
573
962
613
981
936
542
304
809
749
367
816
556
980
238
899
340
433
888
858
156
801
116
732
547
897
219
284
87
489
678
591
984
411
322
895
603
313
111
29
789
187
770
757
804
883
897
865
486
134
823
500
187
404
757
942
322
304
826
680
860
202
14
611
205
425
102
435
38
205
363
118
181
800
425
986
109
87
300
989
563
187
126
881
192
312
121
38
119
515
157
680
747
461
997
640
196
966
447
458
122
134
729
442
425
915
833
104
871
34
310
525
178
423
521
539
411
506
966
749
447
934
832
965
581
284
737
531
562
623
337
728
928
569
577
907
677
475
965
343
730
624
383
175
572
456
165
713
45
149
218
982
698
973
522
514
368
20
886
839
236
897
170
100
746
818
649
976
415
725
257
729
828
289
171
906
739
649
734
907
495
228
564
677
245
460
580
315
13
787
246
740
960
243
612
187
705
67
949
128
93
930
356
170
782
198
678
954
169
297
481
668
96
362
490
800
611
666
200
412
697
716
51
967
163
750
881
87
30
146
816
480
658
596
790
825
377
402
10
311
287
891
265
580
620
128
0
893
306
590
130
775
120
59
985
776
718
340
919
614
219
154
807
541
453
590
8
345
547
928
541
271
292
906
552
129
587
556
438
127
82
764
722
675
937
295
689
970
622
611
678
319
937
563
350
632
137
63
639
688
437
219
824
494
756
381
560
591
241
405
920
366
464
864
586
786
930
355
545
217
750
578
779
954
620
662
828
145
927
159
398
190
115
776
663
17
144
712
775
252
817
647
162
640
957
828
764
157
288
614
939
739
621
516
734
808
336
68
505
947
315
281
262
737
636
142
41
825
676
273
817
161
601
318
233
515
961
138
477
730
296
730
11
977
584
861
651
121
570
578
72
950
854
20
166
766
995
660
216
764
276
140
2
61
323
405
391
193
794
669
336
546
799
773
220
74
859
296
154
737
364
598
667
821
614
137
839
858
781
367
535
365
200
759
177
205
568
968
879
880
716
268
727
346
586
450
727
987
902
523
102
729
789
561
977
48
846
666
609
807
324
29
739
341
790
803
94
319
722
264
985
490
474
830
746
417
158
489
943
124
72
84
8
188
915
111
371
392
598
427
39
83
835
353
691
481
766
582
294
598
446
297
137
85
71
903
636
778
948
500
618
508
776
609
206
649
370
683
784
707
987
85
43
891
476
564
208
42
588
17
866
742
579
487
575
346
863
311
609
678
33
335
514
857
235
913
696
547
55
292
85
328
518
522
797
506
49
813
799
567
464
537
682
887
813
397
247
932
957
167
367
211
602
902
296
555
987
662
382
192
841
349
978
849
193
401
405
400
3
575
481
263
400
698
796
127
980
409
814
899
817
757
905
797
306
1
305
940
110
537
783
652
767
155
613
966
922
903
60
446
856
969
177
637
707
97
16
95
817
985
491
183
716
351
337
884
909
687
691
19
206
9
988
613
327
743
619
421
321
244
105
709
652
191
133
818
865
358
979
523
821
402
496
300
877
39
69
916
423
634
807
675
944
760
430
501
402
609
891
347
838
802
265
951
401
302
489
900
292
790
928
342
639
976
532
108
969
565
843
216
944
720
924
764
156
636
821
33
18
800
539
549
310
242
93
456
340
823
617
711
793
961
793
204
88
169
670
34
661
902
2
359
378
599
115
580
653
864
820
552
225
833
217
942
876
855
187
197
182
771
251
441
582
289
736
974
631
725
59
734
820
778
853
510
277
260
884
261
663
917
385
140
687
379
54
727
410
52
338
422
629
938
924
352
810
571
614
764
179
245
403
569
5
49
826
632
963
124
237
224
529
418
559
641
375
785
74
33
669
67
463
267
930
540
982
97
911
41
504
910
2
694
635
715
47
265
835
412
973
46
224
525
491
253
526
250
307
143
397
551
318
923
553
340
495
109
332
126
35
204
411
339
281
963
495
284
897
279
233
457
102
324
365
344
503
144
655
837
512
377
406
862
809
334
311
794
0
316
979
935
319
658
900
50
173
956
657
761
410
638
181
509
206
998
272
372
660
220
428
496
178
791
393
170
310
358
48
516
655
221
93
737
554
298
421
40
423
905
514
822
987
600
660
82
86
385
816
167
717
332
581
344
136
636
203
609
661
598
224
850
572
302
537
226
180
398
14
977
762
363
242
491
802
68
239
157
630
758
953
402
935
717
572
576
626
870
709
647
827
118
481
638
245
101
796
807
905
362
847
772
477
308
717
601
707
405
170
647
946
528
22
975
657
17
17
890
814
836
818
415
792
748
561
772
942
660
94
181
410
957
250
253
681
309
86
80
134
769
269
771
682
90
731
754
403
275
620
734
911
594
336
973
923
959
133
626
803
215
496
497
596
30
161
704
60
984
115
661
463
813
671
772
126
410
832
571
942
570
899
372
994
159
316
930
963
156
58
753
916
631
281
547
746
609
287
811
401
422
894
191
242
123
961
566
607
827
67
390
709
756
801
35
211
415
823
162
38
424
425
697
945
809
166
676
412
154
500
96
62
259
147
513
948
604
920
122
122
448
309
678
115
125
420
795
692
220
435
824
606
585
387
998
572
553
37
106
417
25
373
373
137
726
330
656
864
859
408
491
809
847
483
904
246
408
147
206
31
477
236
585
693
206
923
481
845
511
335
680
867
668
61
566
229
2
444
11
357
334
904
630
346
409
831
854
395
505
30
478
589
418
713
310
902
585
376
465
633
974
453
485
263
396
503
131
338
312
646
21
427
747
550
105
214
476
278
257
162
342
136
454
139
355
208
85
207
420
723
599
266
872
116
295
876
508
627
940
166
929
987
264
157
459
758
303
122
351
136
196
82
242
413
267
736
141
957
512
387
225
187
296
970
282
49
995
317
129
37
276
964
454
679
372
491
940
908
885
783
167
338
553
843
35
144
941
771
578
965
495
419
295
351
394
30
493
149
380
482
19
631
9
736
673
468
815
576
946
564
962
764
958
701
380
975
56
927
232
775
583
922
650
487
351
549
705
848
437
255
947
674
333
754
535
988
590
350
366
547
530
39
286
925
837
373
583
321
983
604
252
857
405
221
16
724
628
847
691
560
276
102
919
387
511
262
984
485
861
574
862
304
480
560
525
476
415
851
978
848
713
223
943
358
700
881
237
185
756
103
809
838
219
890
802
993
431
619
159
797
185
12
734
576
402
724
501
586
15
434
275
49
792
227
3
365
939
695
366
657
244
897
448
318
832
881
599
982
229
263
627
430
714
988
628
828
270
931
778
420
307
258
569
731
656
290
766
747
17
859
972
664
650
257
788
518
46
161
945
791
826
743
809
337
632
826
807
137
38
183
691
627
583
385
635
821
300
6
547
217
700
126
729
935
828
869
262
355
102
408
195
985
81
484
492
172
480
412
971
518
823
635
468
293
217
558
731
400
939
986
32
371
603
805
220
766
4
179
399
668
106
94
893
337
1000
657
589
189
813
316
885
924
815
585
484
300
275
184
95
537
456
539
38
761
33
312
954
264
978
903
898
632
913
495
717
532
189
757
634
336
291
68
370
728
947
587
520
390
11
143
402
860
758
121
172
218
32
162
302
663
711
879
519
7
413
226
904
195
307
688
205
347
172
11
774
800
992
662
896
492
359
428
400
632
762
81
522
487
587
58
973
515
73
887
787
892
591
371
196
739
974
435
460
295
127
515
88
218
924
680
27
673
288
249
471
504
251
738
216
841
3
517
611
456
423
970
266
397
240
16
964
74
689
102
510
621
576
789
507
358
660
308
103
432
628
684
990
799
372
798
193
277
553
550
213
555
79
485
688
233
546
965
91
239
259
77
669
179
964
265
24
251
845
365
228
596
253
70
773
457
921
483
502
189
779
680
105
711
327
539
529
735
850
622
425
90
185
527
922
187
547
69
617
283
890
367
856
938
280
477
589
768
47
870
856
89
326
320
64
152
463
295
161
399
43
646
856
659
508
614
840
966
311
715
11
760
243
848
905
693
81
896
380
771
219
332
395
89
231
247
205
905
720
647
525
738
190
903
614
601
182
389
293
691
861
442
537
776
31
463
614
690
208
791
774
556
737
61
115
415
382
574
306
505
853
441
315
91
268
900
846
429
315
143
223
357
197
307
403
586
723
496
107
206
780
430
450
471
414
764
96
754
960
747
95
624
882
343
643
634
53
109
508
781
289
694
881
193
819
688
321
129
218
524
40
207
78
974
162
346
493
782
276
542
957
451
591
632
49
340
418
327
610
782
777
164
90
181
891
309
584
20
730
198
764
650
340
280
609
665
350
598
506
818
249
35
749
367
19
473
287
760
643
200
613
941
108
503
15
486
341
442
908
179
425
591
424
77
296
941
706
524
65
815
872
968
504
107
843
451
621
405
176
59
37
89
694
769
863
975
588
878
348
440
513
187
720
944
68
302
87
87
40
906
88
720
771
368
445
908
38
322
235
515
624
737
783
860
170
686
437
953
484
139
686
326
121
49
114
174
217
984
18
187
551
941
633
806
674
838
425
985
236
714
438
879
351
794
951
194
380
176
15
216
975
813
279
852
557
302
199
38
522
625
846
907
712
795
349
511
82
865
119
931
689
950
739
269
625
245
609
968
383
249
745
509
333
60
101
312
829
856
641
428
769
655
301
288
285
942
418
64
357
845
610
394
740
552
616
828
256
769
173
805
341
707
289
406
922
613
711
186
39
75
150
523
409
932
838
717
536
318
709
985
719
720
667
687
702
92
151
108
414
844
773
707
609
862
912
265
594
263
29
205
508
949
294
826
665
249
638
563
7
98
950
563
894
696
938
502
211
975
426
190
136
303
193
747
97
962
115
622
549
268
999
934
737
30
460
486
367
51
962
463
353
982
487
296
798
134
199
530
297
907
308
967
958
881
421
168
12
613
136
931
377
862
31
312
64
847
963
292
318
543
201
585
206
649
349
840
374
601
769
70
802
486
694
28
219
297
167
693
749
835
448
425
865
69
130
8
161
765
195
519
762
133
328
442
979
122
634
948
584
387
218
930
217
997
454
290
718
674
333
767
207
854
904
292
630
708
805
868
498
447
736
127
562
302
391
261
891
906
365
8
703
621
496
469
914
679
435
791
320
527
911
134
354
856
687
701
671
293
37
920
258
478
282
878
23
131
656
520
898
645
938
986
824
238
232
584
388
389
640
12
513
531
428
856
351
551
522
61
9
362
964
211
303
83
234
63
634
901
57
980
35
917
299
467
55
879
688
962
220
52
574
142
595
49
949
647
558
982
404
262
309
10
906
191
239
716
229
583
633
266
724
757
290
518
125
161
966
744
297
708
450
315
180
565
646
793
632
932
875
776
467
77
218
701
802
475
786
949
293
491
9
410
761
613
923
998
33
811
880
828
889
135
648
466
224
45
429
39
783
234
857
25
488
212
662
920
873
8
141
905
804
365
97
120
340
236
447
776
557
898
451
905
12
455
31
958
468
88
24
719
606
235
817
235
143
861
889
382
548
543
890
164
617
980
602
953
773
953
143
127
958
901
753
987
233
374
699
916
987
827
261
302
624
961
705
159
829
493
11
718
317
860
466
473
869
815
846
693
86
731
867
629
24
473
636
968
639
970
254
448
858
193
304
287
255
209
470
476
28
860
638
115
350
349
150
884
265
887
947
575
118
251
751
319
534
959
817
2
232
343
576
256
29
221
412
805
992
935
155
325
904
221
551
505
480
658
250
431
859
420
676
802
390
931
233
768
530
941
36
966
522
309
223
847
25
267
914
919
297
886
358
224
147
716
524
894
596
601
863
858
94
13
503
491
249
594
687
70
603
969
873
594
667
120
888
218
899
244
920
528
166
904
477
877
797
593
734
602
224
749
509
731
677
611
868
601
438
248
332
826
71
377
328
964
142
118
751
171
788
438
752
630
636
991
712
162
914
187
530
267
247
298
715
175
924
988
685
232
70
393
669
320
203
493
126
411
643
165
467
461
322
162
808
545
704
819
253
4
774
903
102
701
196
456
234
704
48
57
909
316
735
527
735
61
899
625
554
511
542
690
175
67
449
175
695
163
927
693
441
387
163
509
489
528
874
664
694
26
398
647
860
72
303
179
216
194
317
82
189
673
425
779
976
683
583
866
828
320
576
161
935
718
97
291
658
846
983
907
707
985
14
419
461
824
906
855
391
514
203
264
109
959
560
625
557
90
332
311
928
933
772
657
103
988
761
777
417
688
831
789
835
192
513
487
497
747
560
598
987
11
25
345
247
249
747
178
417
606
814
175
450
974
725
183
927
77
855
990
935
975
195
598
462
817
115
788
684
698
641
54
40
52
268
95
44
322
126
223
220
659
967
919
901
444
11
596
45
620
762
0
983
56
241
413
268
417
470
403
915
235
668
757
486
989
659
114
498
560
561
929
828
101
213
997
974
510
368
459
87
131
473
770
599
451
911
770
922
400
276
923
488
141
539
494
103
641
734
112
115
447
242
960
307
723
945
975
848
356
853
150
607
637
535
525
61
696
500
762
273
613
478
484
291
280
51
472
82
906
760
354
506
431
867
268
260
425
279
225
7
490
778
389
18
568
139
833
728
98
426
224
34
253
239
604
829
146
313
977
935
407
249
643
708
314
448
571
549
818
452
54
997
203
487
675
293
128
802
319
759
502
145
960
390
308
986
200
519
482
834
299
171
303
891
711
421
218
870
542
55
672
555
898
428
994
420
830
851
912
304
37
116
452
933
633
275
168
590
247
224
447
92
437
495
728
171
115
932
555
251
313
11
850
146
162
298
353
508
775
9
452
365
466
823
616
80
657
39
611
138
143
388
286
955
88
822
824
244
428
181
28
192
550
316
735
694
810
821
823
364
562
566
682
843
903
743
101
711
995
486
613
588
585
529
341
334
23
65
590
676
155
675
58
7
362
310
980
469
431
149
682
82
681
19
856
195
289
802
975
944
785
844
966
69
468
992
500
700
219
905
350
951
989
562
553
838
587
426
356
500
588
568
954
771
306
22
635
167
234
674
5
157
698
851
113
336
232
410
108
814
393
680
665
884
179
179
138
272
793
374
966
198
517
631
209
665
914
69
611
250
401
727
209
363
856
595
370
42
330
155
519
671
840
413
664
30
369
965
874
705
722
294
751
36
561
574
563
721
964
995
424
788
645
145
236
518
225
425
671
373
350
402
626
719
466
592
968
389
987
75
956
468
248
925
785
504
783
941
499
644
428
987
95
730
73
106
939
669
693
899
881
942
909
214
658
438
426
601
278
502
529
982
218
624
759
67
224
972
148
534
704
40
427
439
903
219
330
966
249
718
208
296
134
51
959
267
88
361
727
931
17
400
440
491
940
524
11
579
619
214
628
588
138
270
208
475
473
351
186
640
946
514
634
24
378
984
982
925
295
805
862
780
662
721
25
906
310
260
266
821
791
201
261
67
915
217
250
53
927
880
277
53
998
677
743
598
820
481
18
937
82
20
822
742
622
599
437
192
904
819
226
153
797
174
634
726
116
424
831
483
851
209
693
471
633
965
116
988
990
842
245
714
357
436
544
316
166
953
635
561
101
948
692
908
492
647
355
700
250
203
347
817
327
955
963
691
227
953
46
149
964
792
68
861
634
22
519
83
407
893
621
637
224
106
245
589
974
319
540
339
509
143
58
828
495
838
607
234
826
109
994
701
945
14
277
200
505
879
291
71
486
668
85
949
791
168
346
880
378
579
694
16
126
680
2
943
232
984
874
252
327
274
556
810
421
30
679
120
448
325
972
597
159
218
685
647
991
382
489
148
678
55
465
346
731
445
138
599
921
612
777
972
280
81
891
698
311
974
32
671
370
836
824
609
398
595
442
909
854
334
800
224
611
306
692
439
971
465
849
245
220
705
841
93
935
916
182
178
676
178
106
414
461
756
239
239
940
899
870
352
938
493
919
679
157
123
339
901
466
135
670
418
760
846
591
841
338
684
719
719
913
761
360
169
731
543
110
407
488
467
271
44
615
182
502
658
389
324
959
474
504
918
552
26
677
635
405
678
518
902
268
371
111
300
938
998
275
553
68
772
616
91
154
750
254
437
386
878
40
228
832
213
827
398
159
883
260
605
978
465
682
776
183
459
39
792
396
732
9
254
79
489
616
841
143
392
961
57
129
338
196
888
672
221
506
568
507
783
996
994
991
715
233
203
31
677
459
907
841
564
855
420
991
729
333
66
223
739
9
991
703
351
80
289
986
10
437
133
275
791
768
576
689
319
723
547
749
408
95
816
272
514
279
770
602
274
602
830
447
234
92
818
647
246
258
932
418
508
1
393
819
197
279
667
793
900
73
370
46
359
921
577
638
384
921
351
849
89
247
339
137
763
59
264
688
509
786
790
336
589
111
448
321
784
568
890
242
294
920
690
214
287
419
831
252
761
578
802
139
70
405
150
493
115
18
712
253
290
382
624
40
317
335
854
184
904
869
24
194
662
927
126
256
456
182
273
888
298
982
428
239
614
838
669
120
215
723
248
750
900
812
34
565
308
772
609
0
340
633
174
872
466
476
127
767
764
36
726
387
293
382
309
822
50
203
280
713
653
365
411
42
14
470
2
224
203
632
185
269
168
940
254
0
252
759
94
259
951
274
779
36
578
742
303
123
569
254
702
349
873
116
728
619
371
44
226
945
129
744
994
823
141
422
588
110
534
102
814
69
985
340
645
326
515
11
180
885
348
873
856
702
334
143
843
472
434
257
862
569
169
757
42
591
125
277
380
706
791
826
403
509
748
2
834
927
477
270
77
54
883
237
691
671
502
131
832
534
754
647
795
599
638
947
41
148
870
389
678
350
480
975
351
389
108
561
267
501
691
30
352
713
131
962
744
897
511
504
357
784
983
368
783
590
907
138
813
560
834
91
528
333
363
355
611
81
753
526
524
461
408
948
32
299
771
785
618
111
726
333
54
488
886
532
155
320
961
355
634
829
757
473
695
223
379
89
855
403
502
939
563
738
214
254
900
141
951
272
514
395
742
901
364
829
708
724
193
460
732
295
186
266
869
326
717
390
573
749
220
32
369
694
893
253
398
499
741
709
287
582
461
67
47
293
787
30
896
653
145
789
165
465
700
565
326
178
282
531
406
274
473
128
997
263
3
581
578
648
585
320
915
610
223
146
475
530
502
536
168
800
511
599
504
349
386
45
929
850
204
226
765
426
408
543
196
356
646
925
758
763
462
667
139
326
767
96
378
933
907
281
838
421
929
318
331
566
466
836
665
496
516
695
365
214
29
125
21
12
963
157
670
611
118
530
661
52
597
325
5
707
354
108
177
221
60
875
766
17
322
387
54
162
753
320
507
663
936
336
910
693
100
948
950
402
917
889
156
428
575
231
245
329
17
979
46
380
809
711
651
511
283
215
142
443
334
758
129
565
493
847
546
336
560
687
553
319
127
661
223
848
345
679
905
698
618
60
905
989
275
783
342
870
649
229
782
88
370
691
364
828
36
458
795
44
865
260
153
643
738
678
372
428
884
310
336
39
495
630
367
991
35
611
505
570
673
80
796
117
988
128
186
694
636
452
955
188
548
191
351
297
906
551
773
299
388
154
508
886
703
480
477
184
744
443
849
861
435
787
171
583
705
984
21
493
515
434
669
93
27
400
573
103
365
90
684
919
874
961
33
107
916
135
400
812
26
662
81
575
86
981
156
940
83
657
266
94
388
958
817
771
265
986
680
283
74
269
53
661
933
965
191
641
275
778
450
340
681
813
741
579
790
14
541
63
952
702
721
858
295
421
943
93
839
625
375
93
381
96
116
887
653
620
179
192
847
513
325
656
802
229
773
957
450
510
479
408
584
822
23
169
239
374
791
583
662
615
225
301
228
941
860
529
992
138
334
482
387
670
684
996
978
885
269
765
766
347
863
69
929
304
161
982
488
319
114
896
430
638
159
76
326
443
935
587
290
583
174
879
882
686
772
544
248
116
673
88
47
103
102
506
946
558
754
28
481
174
350
958
787
788
969
243
516
621
462
194
387
352
157
975
216
625
924
833
421
430
93
336
61
99
513
162
134
339
896
141
992
361
172
908
571
14
238
520
773
891
171
504
145
391
898
428
558
568
405
28
288
171
344
153
699
117
15
240
949
888
167
143
97
977
162
176
772
149
263
263
764
563
676
47
793
305
816
245
681
595
741
387
3
294
977
415
248
419
555
895
135
936
719
817
358
611
790
175
367
154
823
464
810
692
21
310
833
875
643
865
455
810
853
543
686
862
223
444
171
108
538
391
384
702
784
555
128
752
559
554
442
870
580
576
211
384
490
598
795
404
774
833
857
742
619
924
450
334
735
141
162
179
487
480
778
238
316
961
364
120
693
255
10
267
813
988
48
288
816
11
492
726
197
236
296
115
157
214
356
452
21
611
221
185
403
901
272
467
575
31
957
298
379
409
816
17
817
902
190
331
237
483
867
156
9
877
17
774
589
274
139
741
143
582
334
533
536
363
67
237
702
32
807
518
793
827
192
914
400
80
395
204
45
288
753
793
88
795
527
211
140
300
964
282
851
697
97
889
465
966
629
674
255
221
831
401
538
755
343
39
681
552
50
304
647
790
201
143
260
424
758
292
577
769
604
180
674
288
815
170
326
133
928
23
511
67
432
575
588
782
336
494
912
46
738
65
109
243
707
430
203
512
460
579
7
135
568
447
956
154
444
191
793
562
258
75
685
826
424
253
709
98
376
958
756
429
705
98
756
745
882
937
292
536
104
950
938
714
752
409
336
884
303
555
36
520
149
238
830
193
555
285
287
967
467
267
823
980
9
454
889
665
946
276
508
547
864
614
438
899
320
593
497
28
6
227
402
814
887
273
785
977
612
317
444
280
600
595
881
788
816
868
167
245
692
56
254
447
787
144
561
959
775
496
469
63
151
644
830
932
753
485
204
413
322
175
184
900
430
635
168
762
995
677
203
374
827
274
90
615
534
678
873
621
414
861
695
754
630
328
340
173
602
898
268
290
682
697
827
893
873
393
244
594
606
994
206
107
823
421
127
552
806
237
795
580
646
629
328
680
281
321
925
459
719
531
961
117
571
226
195
867
766
128
762
769
991
678
736
44
616
162
945
301
252
805
920
239
108
801
774
160
89
226
121
286
203
996
10
856
594
706
330
496
432
854
627
472
259
357
800
164
917
832
308
367
26
241
838
412
114
101
880
216
138
910
171
595
952
261
827
822
15
57
401
788
173
990
944
371
579
676
834
900
296
906
245
467
706
820
788
990
917
547
809
743
894
671
221
99
972
307
65
833
879
836
370
129
23
927
17
817
654
416
382
549
283
470
589
429
250
334
947
178
647
292
897
146
497
874
954
578
472
660
985
246
142
494
902
498
68
101
564
445
309
467
535
724
963
8
495
950
567
735
429
177
756
449
802
516
87
455
302
512
840
467
557
577
163
924
867
563
356
467
842
656
492
243
195
113
75
715
146
362
561
6
58
73
539
69
763
589
288
422
293
589
206
219
952
502
998
635
289
658
0
115
945
241
335
763
801
240
680
667
632
960
573
197
490
752
933
69
599
469
533
562
977
280
281
448
599
535
986
431
184
348
477
860
530
453
673
806
263
809
186
425
38
445
934
101
896
246
250
323
785
193
648
939
543
618
123
969
844
29
586
570
345
802
319
222
400
667
302
50
817
906
284
813
958
367
616
383
154
994
325
878
376
841
920
705
73
825
193
215
294
821
175
241
779
836
980
387
447
364
148
408
344
347
533
617
823
397
719
53
30
893
598
638
537
803
845
714
711
298
135
316
605
516
323
539
956
144
30
772
15
687
245
309
577
975
216
815
538
585
274
112
289
645
820
449
380
165
889
826
506
551
410
263
776
292
927
962
305
374
598
9
998
605
823
872
68
672
176
996
280
804
215
379
247
915
178
926
495
677
565
144
521
562
1000
78
368
176
817
442
223
406
414
608
464
161
692
746
695
2
898
628
579
678
359
172
572
867
922
291
842
60
51
470
933
554
403
458
769
691
860
254
46
635
7
43
488
567
607
768
299
333
845
932
513
248
239
529
645
227
233
427
637
440
120
154
361
999
781
610
425
486
766
841
110
450
732
600
27
108
764
842
892
824
926
246
698
609
567
418
701
336
46
394
548
661
568
812
383
148
826
501
513
33
970
658
733
450
627
162
372
714
87
184
322
149
483
250
0
916
819
44
312
861
588
395
679
80
545
241
982
38
189
880
966
245
380
809
57
977
465
453
242
885
658
46
564
938
4
904
584
300
181
53
818
66
982
121
613
886
864
172
419
338
203
658
348
321
418
581
102
164
722
801
936
522
925
446
808
850
75
493
453
909
476
102
899
739
59
374
375
878
113
24
249
964
850
865
436
193
168
746
526
574
11
204
183
916
971
27
754
226
275
185
390
936
706
656
755
156
948
617
380
178
493
444
743
382
897
729
699
588
686
56
109
611
149
151
161
478
232
201
139
276
295
91
54
376
147
819
138
723
212
486
493
596
60
110
965
481
378
705
373
777
744
852
543
668
182
36
12
475
186
962
578
119
680
147
629
870
835
159
623
590
880
483
929
554
417
986
559
745
742
509
572
497
431
61
246
251
306
45
1
322
45
337
859
340
419
100
666
785
509
6
732
11
836
37
902
906
138
847
645
191
911
915
399
462
383
440
396
915
988
542
773
14
132
372
537
736
114
415
523
884
932
497
851
889
403
628
13
669
986
278
725
837
187
349
13
711
776
544
445
638
773
195
376
91
695
52
775
22
270
893
626
229
537
902
932
967
856
167
163
976
519
352
314
651
372
826
427
925
732
557
7
843
241
802
665
333
382
479
989
459
355
479
50
933
830
154
493
478
634
982
493
228
836
156
147
516
863
293
256
138
68
87
414
684
592
730
713
472
7
346
400
208
834
838
693
699
100
438
961
280
256
62
602
939
272
726
550
752
661
896
32
974
75
323
92
984
469
575
24
585
5
616
150
952
832
824
54
682
508
66
865
431
264
102
707
260
711
895
556
123
305
785
393
308
316
195
754
493
371
364
112
993
726
565
814
330
457
859
542
973
948
191
338
375
689
838
263
586
210
265
300
526
52
339
687
973
122
801
222
745
68
742
357
816
495
65
892
956
783
363
49
627
654
305
95
227
236
455
142
75
744
984
793
100
858
308
141
142
440
426
987
71
770
535
843
887
88
657
779
866
988
409
313
780
759
72
383
670
11
777
292
288
882
867
916
964
71
150
206
631
225
398
854
882
826
102
881
47
401
494
217
10
353
756
313
555
988
8
265
278
565
866
595
91
321
440
328
236
567
495
258
887
818
268
567
901
555
358
254
591
54
840
645
19
764
890
346
477
60
452
179
151
650
698
276
384
421
152
697
862
742
754
480
283
871
891
516
272
963
459
334
960
256
696
321
131
689
693
609
246
459
950
601
736
758
777
219
175
152
425
290
975
753
146
323
416
526
579
419
52
167
226
831
193
927
410
493
899
120
464
194
324
185
986
771
319
646
389
239
912
513
243
641
494
217
0
886
499
81
559
241
532
320
70
40
882
161
315
256
126
276
97
103
953
671
377
6
427
94
180
320
693
298
372
327
471
879
142
699
386
277
770
379
434
837
864
237
968
445
724
169
2
493
784
959
172
771
43
841
277
497
166
880
1
992
811
540
506
999
527
883
35
172
386
565
560
320
232
184
542
495
182
885
891
227
572
258
523
549
986
906
325
219
754
976
925
296
437
967
7
528
338
573
777
730
600
674
192
305
715
885
811
48
253
924
217
92
964
211
968
496
627
496
562
949
304
551
147
773
717
811
657
209
443
893
507
706
47
140
571
667
26
875
551
841
596
390
403
55
686
991
848
932
756
722
830
799
654
293
647
908
795
989
118
751
823
120
164
466
106
418
251
957
677
153
195
378
103
3
111
163
941
31
430
674
213
149
225
714
743
337
830
511
373
663
227
48
31
827
718
477
54
786
357
198
629
119
50
58
963
919
731
517
402
13
403
883
796
708
934
521
43
42
183
947
135
230
582
510
818
78
690
462
672
998
978
701
686
434
769
372
791
27
308
553
525
577
76
366
39
565
647
137
299
846
366
859
385
374
942
732
463
248
547
463
192
350
680
732
741
22
635
763
863
945
67
118
265
432
1
469
252
759
657
621
335
695
974
615
781
554
993
864
83
654
644
316
858
744
660
732
608
906
418
93
465
8
286
460
609
668
745
383
367
606
623
965
739
336
603
33
259
254
776
600
822
143
340
120
604
726
624
874
498
403
740
327
454
866
226
315
949
845
841
142
560
572
289
821
388
117
527
325
472
44
161
929
682
399
505
354
527
633
62
855
850
491
866
668
231
44
115
27
800
798
437
40
723
312
446
798
250
304
290
455
732
215
631
407
451
716
929
650
538
20
779
30
309
322
685
471
585
847
804
280
452
491
459
15
765
586
262
120
440
875
383
163
606
661
470
458
955
591
278
578
70
504
154
614
625
632
931
710
543
844
576
325
455
808
138
686
608
637
231
886
759
682
658
203
928
879
641
372
153
75
587
861
702
626
54
587
781
814
943
696
742
125
716
917
233
574
242
771
326
472
213
616
527
697
280
836
386
475
642
365
835
965
594
699
189
524
386
595
774
834
85
537
535
56
959
416
709
165
726
209
973
749
169
123
992
21
780
164
149
556
67
98
519
958
928
229
662
641
894
814
321
45
949
134
609
160
877
273
582
316
231
820
894
844
334
807
623
402
750
614
844
58
851
84
151
816
982
535
240
68
612
424
601
894
74
547
993
959
554
291
387
394
444
297
352
719
974
892
771
704
30
840
376
611
748
661
695
985
794
708
627
817
142
240
65
952
759
20
210
377
639
467
811
599
815
367
835
189
4
373
409
821
236
29
270
955
682
966
74
620
92
400
127
905
330
131
795
131
778
982
913
913
902
302
373
642
138
807
543
583
54
130
638
814
153
370
526
82
936
228
673
769
270
260
1000
99
935
635
750
413
619
263
396
375
907
75
198
779
103
860
309
129
464
675
877
807
948
920
506
650
863
640
95
110
542
245
271
363
949
152
838
50
505
553
259
275
595
687
186
849
912
921
620
572
239
257
413
651
787
554
669
447
635
686
921
11
117
547
354
3
555
643
797
798
384
162
653
11
643
854
549
123
950
692
784
863
543
844
990
935
141
716
536
185
829
393
645
433
788
168
791
659
81
0
323
365
338
828
551
953
248
819
498
936
461
863
332
720
812
280
15
850
342
211
658
180
918
407
865
829
108
697
335
698
772
848
312
532
509
392
672
29
772
348
196
65
527
262
25
888
299
123
169
383
69
353
353
915
535
753
305
28
866
413
647
952
529
625
379
211
150
683
357
88
600
138
331
812
463
827
76
688
78
394
738
217
592
768
945
743
749
840
911
560
463
224
845
518
594
995
968
560
421
41
634
864
992
236
832
116
575
956
214
357
15
828
845
249
130
776
238
659
518
275
154
165
931
750
762
273
57
444
553
890
840
969
409
387
859
855
636
489
584
956
482
409
568
612
962
77
269
913
585
875
554
504
324
187
454
28
29
132
348
175
366
762
736
728
454
729
943
276
590
950
397
653
947
787
511
316
37
136
894
811
292
987
461
16
300
178
773
321
157
897
658
57
482
560
430
325
786
22
202
369
250
170
573
270
608
322
304
241
362
755
55
557
907
623
996
744
549
983
108
504
408
812
991
227
757
44
842
817
317
460
166
869
725
26
391
970
527
661
55
998
229
112
880
506
542
124
458
477
865
571
465
31
966
669
28
484
293
102
717
500
628
545
444
196
98
718
411
472
189
713
447
362
756
810
542
102
388
440
381
203
655
900
532
874
295
99
249
91
373
481
282
839
674
418
32
511
508
823
957
294
580
890
824
423
958
801
305
212
209
506
654
984
91
189
935
739
781
737
808
129
492
313
913
797
464
562
377
308
465
497
231
407
78
492
590
300
664
885
900
782
676
523
937
412
197
322
518
705
532
958
456
592
357
381
869
103
828
956
384
805
177
275
996
179
130
23
382
40
913
421
525
23
212
954
547
230
803
215
772
288
978
370
751
954
88
747
117
698
770
641
325
246
837
999
130
954
604
487
201
682
420
630
765
581
140
206
449
161
271
552
317
431
897
143
776
52
343
30
622
125
919
574
181
183
501
917
958
844
759
200
299
115
38
871
290
209
317
668
931
238
896
729
291
660
115
372
390
465
85
396
309
376
778
317
167
526
627
128
612
342
179
471
342
319
552
200
425
178
140
153
271
982
937
827
80
566
233
774
230
41
486
315
960
305
28
270
185
558
978
309
106
176
278
445
369
116
2
629
562
443
531
587
963
966
848
754
779
285
266
951
498
440
29
272
612
442
479
149
297
63
782
967
791
924
280
210
898
414
531
834
970
847
768
337
342
208
993
794
224
643
288
279
870
753
10
202
875
374
250
696
610
609
429
202
674
648
28
772
971
1000
878
415
276
660
38
75
698
867
811
785
243
904
983
388
179
758
853
563
920
720
259
609
347
171
321
840
413
792
546
700
654
924
462
366
327
185
287
688
580
234
205
784
623
660
139
182
2
92
142
68
4
270
146
546
372
932
459
958
404
139
121
932
810
393
374
585
980
663
149
892
766
570
247
925
581
83
294
157
915
176
830
221
664
458
80
831
747
577
79
12
236
800
849
556
644
974
964
861
49
25
133
911
287
719
918
16
220
457
755
345
341
904
292
505
18
581
411
736
789
914
171
129
729
502
842
519
471
163
549
462
294
540
69
724
567
471
553
722
426
988
629
247
666
897
665
240
926
597
831
80
298
462
6
730
906
131
960
749
217
119
446
552
110
416
710
503
219
620
217
737
855
27
816
942
871
446
338
55
709
401
152
806
772
570
140
745
680
253
5
480
851
339
565
986
349
787
719
873
51
998
157
286
896
963
549
144
454
12
584
205
608
782
573
339
826
572
701
721
830
521
577
272
909
788
532
942
945
220
607
626
58
73
306
580
915
790
176
899
70
776
254
114
37
816
426
912
846
64
404
996
255
503
695
969
962
429
775
260
551
954
629
7
496
489
48
91
425
125
41
620
354
373
168
969
184
521
665
278
982
142
109
26
892
868
205
672
181
585
512
182
22
790
382
501
571
577
29
230
588
980
22
269
183
912
542
508
426
965
305
181
285
968
924
301
47
724
531
415
184
717
642
535
515
908
106
543
718
478
55
539
275
437
317
340
301
432
884
743
821
226
704
910
463
228
543
941
352
630
782
40
365
253
785
2
167
562
451
874
936
257
215
620
947
331
643
105
395
364
37
213
895
871
665
707
87
22
380
824
939
733
187
157
337
929
130
79
181
926
784
704
364
862
596
737
708
671
363
773
883
685
400
637
901
221
426
710
348
408
230
219
820
452
705
26
970
96
358
630
348
463
593
132
933
420
324
909
913
382
291
131
695
277
317
222
659
580
216
4
326
134
381
897
729
283
499
396
151
193
944
934
174
691
394
849
422
590
326
115
111
137
547
881
435
402
678
977
329
350
935
661
442
110
632
300
328
131
433
83
77
928
543
847
7
592
577
839
834
317
143
294
247
968
163
780
265
636
686
286
92
857
707
675
126
381
263
251
322
871
454
413
880
197
819
833
807
837
5
301
871
973
274
78
836
526
764
798
237
72
108
976
903
88
26
798
211
264
609
547
412
446
693
384
4
765
323
75
297
871
236
26
785
441
980
471
895
48
219
119
215
420
408
476
474
566
45
12
613
774
199
666
129
793
977
599
932
464
505
193
265
626
304
379
900
824
746
78
787
105
914
966
128
23
46
131
162
182
931
179
511
401
516
840
678
778
517
659
57
447
169
973
302
77
50
108
175
451
553
409
870
427
902
584
856
255
191
695
460
249
547
622
808
188
630
129
89
67
563
131
470
404
804
191
333
83
616
664
933
895
830
577
388
927
63
430
986
979
298
670
529
13
568
310
448
557
899
909
119
63
37
927
86
176
76
412
619
615
585
669
842
129
246
514
702
403
256
244
10
662
264
96
969
759
162
223
974
232
914
642
135
122
982
404
700
127
512
468
211
224
641
389
948
592
687
382
951
855
530
577
606
841
715
795
96
354
555
685
283
493
975
73
125
653
531
371
281
512
488
21
370
523
817
963
49
941
938
546
270
213
260
651
552
450
439
845
116
142
663
419
841
493
25
709
562
875
317
240
49
762
146
445
752
429
611
675
628
212
539
617
269
242
413
55
259
397
828
578
593
439
552
195
399
926
122
585
96
838
365
728
116
495
104
208
444
314
726
354
748
816
244
677
192
106
654
177
234
17
237
998
555
198
931
323
788
115
252
678
614
517
556
600
369
428
387
470
532
828
466
922
293
782
672
607
724
497
423
132
566
849
936
162
112
578
757
978
709
70
334
141
749
106
604
269
122
728
267
302
972
662
888
618
596
152
554
237
75
371
278
943
839
521
87
704
460
766
959
419
697
271
736
393
502
239
804
191
280
66
645
829
244
142
818
749
379
468
809
120
390
625
336
590
231
16
525
223
650
392
43
894
188
805
901
400
26
211
1
89
592
293
950
731
582
29
596
752
485
974
411
418
579
624
281
434
654
330
304
329
224
85
147
795
627
73
592
689
812
391
557
358
364
590
631
888
585
146
778
2
243
151
907
616
457
471
118
188
486
239
821
1
706
347
661
917
884
127
93
462
47
451
801
135
745
881
220
981
536
238
55
882
69
851
691
864
232
607
923
678
234
569
591
425
246
989
600
347
965
527
580
119
7
839
257
899
905
439
279
882
29
477
254
181
515
848
21
158
310
200
470
644
412
433
994
193
431
658
452
215
781
471
210
702
551
993
324
526
184
933
520
359
843
821
350
371
0
500
600
928
100
756
620
952
283
112
438
169
46
156
197
452
489
286
373
428
833
127
320
410
59
831
465
713
486
282
546
842
778
744
87
571
54
772
249
581
769
437
224
915
620
229
486
25
678
584
121
686
988
739
315
762
762
125
547
237
764
198
841
440
612
932
658
348
791
603
339
320
640
436
180
404
558
762
16
191
195
623
575
224
844
463
532
423
741
781
447
319
586
675
833
424
646
779
254
188
748
865
721
624
725
979
22
269
587
949
875
355
141
919
868
641
241
234
934
623
978
875
318
320
336
822
108
659
418
481
187
376
610
640
472
257
517
738
192
374
3
954
256
609
942
233
894
470
42
761
671
239
936
604
313
959
802
361
161
711
669
953
402
858
159
487
621
586
606
157
102
209
422
617
706
890
776
122
846
202
216
112
496
99
605
401
690
904
719
645
816
154
262
645
673
471
762
279
531
807
132
423
631
945
394
87
193
17
119
918
340
789
582
924
330
147
45
634
832
433
833
28
19
183
458
561
800
508
567
210
739
419
378
903
45
740
546
699
520
657
832
709
194
135
242
444
613
833
401
775
36
229
517
706
452
918
896
368
475
312
523
760
973
269
642
141
75
301
20
928
782
180
764
400
86
867
973
58
131
34
694
790
325
963
863
93
562
617
867
296
212
259
795
284
309
117
379
434
876
513
915
228
361
319
543
512
397
389
23
23
980
636
335
914
979
714
313
357
402
450
959
149
138
11
278
172
116
528
506
132
729
679
856
800
200
799
217
339
170
224
648
451
799
386
812
595
359
906
561
890
179
735
391
375
69
31
680
166
443
501
981
413
308
274
443
470
936
767
661
387
732
863
584
507
766
633
794
193
95
777
357
743
977
395
809
648
963
515
935
683
431
144
306
924
761
595
831
262
176
212
652
559
41
210
159
319
692
46
258
399
236
376
818
648
387
510
86
96
554
439
818
336
239
617
402
102
815
745
612
230
468
913
262
368
242
963
358
148
401
861
561
893
538
145
483
707
610
573
92
258
864
710
120
100
428
836
485
421
803
445
476
246
464
56
548
587
163
800
731
436
811
175
476
6
211
68
19
545
793
844
398
151
463
38
71
488
540
153
851
211
291
587
236
528
227
766
614
434
0
980
4
228
926
195
352
378
382
776
733
465
464
99
536
134
22
509
401
446
843
50
979
148
254
12
73
538
223
887
889
504
546
230
871
376
750
86
744
730
849
351
822
640
292
317
534
465
630
788
669
400
298
548
39
886
562
256
95
420
809
410
9
545
237
419
757
964
171
134
176
738
991
814
391
163
745
496
255
233
973
845
371
580
0
728
460
437
12
949
793
900
608
697
914
342
400
938
359
948
918
781
537
920
186
894
955
48
831
703
849
46
202
225
435
418
889
331
709
696
82
248
230
541
876
708
306
390
250
841
366
870
725
128
616
593
972
619
59
917
222
488
605
162
194
899
291
595
514
53
547
448
229
102
240
961
128
811
448
831
186
384
304
971
252
280
481
170
888
92
431
23
495
482
867
58
124
417
277
455
411
467
145
528
580
741
725
137
222
823
276
981
192
259
840
607
645
995
766
819
329
987
38
722
762
291
538
284
823
522
251
800
493
662
828
643
213
240
272
612
801
717
760
701
762
517
343
895
138
328
826
930
173
134
303
293
957
879
347
872
20
981
454
703
200
86
218
466
736
28
822
933
417
521
380
286
622
347
434
362
851
20
60
980
147
597
171
77
778
909
91
803
826
546
948
15
876
982
533
636
874
754
641
484
701
851
980
535
504
651
794
770
862
300
118
3
669
8
441
550
914
321
817
108
859
293
402
26
914
77
305
387
249
299
118
411
493
455
282
921
954
320
609
823
799
686
86
16
114
706
693
199
673
639
172
217
634
659
850
284
750
329
621
336
388
2
269
742
125
962
167
343
99
152
703
698
82
210
679
932
527
802
114
485
542
731
296
584
73
902
915
911
772
800
587
394
943
924
554
483
207
706
93
472
587
53
105
155
22
611
629
883
514
725
660
648
417
540
733
959
187
131
308
863
112
629
328
978
835
523
683
129
346
754
822
229
151
854
819
510
676
951
630
248
560
642
39
586
488
300
334
299
814
649
280
523
893
734
640
181
214
95
670
55
369
480
245
585
434
403
72
975
345
841
693
981
704
209
668
142
997
979
892
710
268
657
521
264
118
976
800
225
827
919
465
564
954
475
40
213
430
109
899
601
125
764
792
854
920
204
997
492
921
236
4
761
745
476
90
289
932
264
494
197
964
917
110
725
172
243
366
624
129
498
269
554
171
847
795
38
893
344
602
694
948
925
495
225
32
128
903
128
320
611
851
301
211
654
701
787
84
312
715
265
693
632
105
606
647
426
505
318
496
800
784
539
627
614
357
271
317
266
277
444
936
544
766
75
869
934
215
974
559
961
76
950
751
58
418
144
298
471
973
316
878
303
955
809
965
779
826
545
462
956
751
660
83
881
236
765
334
557
190
467
942
726
962
261
110
95
898
912
926
208
485
308
201
244
988
631
640
551
599
131
404
943
226
217
213
85
16
582
923
649
302
759
747
673
235
502
779
274
988
700
967
233
601
577
96
670
403
73
382
499
655
343
218
147
143
639
568
670
192
293
434
297
358
213
104
648
607
323
520
243
731
181
138
156
881
234
381
640
258
664
780
404
978
766
310
740
890
951
743
973
351
883
514
767
235
119
190
868
461
316
743
771
313
282
926
964
922
116
474
273
988
858
744
726
476
278
222
704
528
552
712
95
710
568
161
141
908
488
367
447
634
275
717
972
430
543
782
743
34
799
874
802
649
886
562
783
706
345
850
0
83
626
422
263
395
624
181
728
134
109
170
408
826
912
620
791
46
654
638
494
23
539
540
216
309
446
373
96
73
892
808
378
55
957
667
21
47
108
101
787
119
906
983
763
776
968
948
369
469
374
155
919
601
687
666
301
808
69
45
627
77
856
704
965
773
191
299
664
210
734
200
332
81
434
441
119
429
104
629
455
77
827
721
694
970
514
729
710
89
794
416
594
824
722
307
601
546
92
562
169
109
234
106
436
873
182
225
335
499
349
558
201
812
101
914
958
293
755
525
115
455
675
381
843
876
508
211
584
994
303
779
7
813
765
442
94
24
340
102
708
102
3
882
901
17
94
556
771
928
533
469
925
90
399
876
584
948
872
764
844
407
230
183
574
812
256
555
138
729
558
853
400
114
780
258
122
140
5
487
460
455
994
84
42
317
955
471
698
226
54
491
841
633
454
740
84
962
89
548
306
234
166
565
920
75
864
806
141
134
42
197
401
340
169
769
821
141
397
417
440
590
48
658
237
313
211
253
761
100
62
716
29
805
529
746
152
39
855
704
398
407
552
375
364
214
674
273
861
230
57
619
681
826
911
262
656
158
931
275
709
48
589
170
175
554
456
595
9
547
50
942
363
892
299
637
31
599
477
331
955
22
985
562
310
254
1
846
337
694
278
275
370
904
288
405
156
711
913
972
94
890
99
5
417
655
268
760
323
67
254
496
928
379
128
730
562
722
167
467
206
456
363
234
183
54
597
941
582
118
546
267
384
898
785
177
141
926
591
129
69
273
73
474
741
442
7
138
393
235
944
216
357
872
417
251
770
350
376
50
43
966
210
589
341
61
802
660
799
710
352
510
545
310
44
124
800
431
321
813
301
475
877
927
909
724
807
876
500
641
754
833
451
600
975
585
697
452
442
277
975
198
312
817
925
311
521
86
445
22
415
852
263
699
184
317
974
699
327
800
904
691
244
249
306
65
808
339
582
456
955
744
960
30
548
993
248
13
649
950
251
477
925
848
742
884
833
896
919
997
340
885
206
82
897
339
314
891
575
838
185
715
701
115
951
87
147
575
768
656
395
345
598
104
365
339
740
750
389
646
957
282
857
632
32
872
170
454
681
795
214
895
196
0
778
293
877
963
121
998
784
819
38
237
655
301
990
258
911
802
159
134
442
184
26
924
224
213
484
106
847
200
565
899
80
181
120
271
983
362
65
838
736
203
688
273
180
715
37
601
434
255
73
939
851
272
578
322
357
258
454
160
325
217
562
549
643
185
670
976
209
400
537
400
219
655
691
830
878
608
408
236
715
648
258
130
784
448
408
129
660
642
910
388
346
548
19
39
352
244
671
504
106
219
70
115
745
888
676
472
466
148
646
350
587
304
773
778
540
228
577
275
718
326
107
386
551
773
247
99
560
815
724
865
786
172
953
29
133
652
740
49
21
777
151
785
654
522
861
566
527
680
55
904
877
37
238
229
432
556
52
662
591
697
36
426
238
634
358
187
32
490
296
507
709
380
606
265
51
39
650
522
867
896
315
194
217
219
479
198
423
878
104
34
421
216
862
923
165
198
792
799
548
299
898
759
250
828
301
670
525
791
447
947
723
908
285
795
899
166
950
124
192
544
392
357
204
879
724
682
82
72
243
965
974
298
553
494
824
256
411
840
506
720
902
494
936
442
818
124
927
7
179
410
413
110
213
675
415
239
406
77
842
831
948
214
507
77
658
766
192
295
658
532
551
935
127
196
584
859
962
908
723
389
959
870
308
522
385
753
334
478
362
792
541
948
714
400
467
899
225
934
681
110
511
741
681
842
901
676
656
403
594
287
390
700
436
378
766
203
638
143
478
558
108
567
192
197
796
439
4
643
292
426
680
509
855
404
942
841
39
175
393
202
689
277
220
801
630
300
877
282
988
90
69
7
558
428
301
530
31
363
685
281
652
385
86
886
286
698
592
848
759
13
461
925
79
573
525
832
527
389
329
341
185
30
508
610
981
803
997
232
5
280
917
476
640
753
38
368
897
588
514
213
219
558
674
588
802
592
179
379
788
893
624
24
218
976
466
592
273
785
234
853
959
563
325
783
564
612
879
271
370
793
81
821
849
504
298
588
792
259
931
348
408
208
931
14
251
704
620
984
83
903
772
777
150
651
950
222
608
1
122
922
514
263
543
527
422
674
291
828
750
285
753
134
127
593
152
998
405
696
377
581
440
43
804
627
411
988
871
224
668
171
521
275
131
471
531
230
723
728
149
414
854
92
413
685
228
208
218
353
388
26
560
872
938
320
956
143
15
260
765
186
612
758
101
743
990
109
845
966
290
355
361
149
304
703
388
308
24
516
335
816
537
684
452
122
463
263
713
741
514
721
524
441
979
971
707
241
5
434
871
807
995
132
733
990
616
77
70
805
22
920
513
898
392
480
829
241
858
704
352
538
415
793
55
794
217
456
628
747
106
283
577
949
710
305
562
681
922
298
795
902
999
901
169
890
333
355
98
358
443
167
781
499
122
436
584
498
329
230
969
494
820
577
148
697
209
850
789
733
985
696
610
824
914
592
288
121
756
275
244
633
960
316
744
988
96
339
623
422
19
666
348
621
292
747
553
344
612
304
185
798
762
440
755
990
465
811
463
95
790
27
487
384
505
106
89
331
208
831
856
827
127
606
272
81
149
104
340
648
490
751
895
530
8
612
341
61
333
376
45
721
722
723
898
164
586
715
731
678
383
281
397
19
202
297
289
918
914
745
155
767
35
752
119
593
731
876
398
683
191
369
368
689
612
825
802
828
491
355
569
794
882
935
263
853
694
0
87
274
287
248
742
348
123
960
136
384
658
696
46
306
638
958
43
170
351
17
140
824
516
810
582
337
914
178
697
632
890
676
733
421
815
853
153
798
576
998
878
212
366
436
699
197
144
490
169
407
919
162
228
112
353
932
68
327
8
512
94
762
426
1
10
228
634
938
623
807
668
202
535
608
119
929
518
918
463
566
15
432
813
740
674
552
553
431
644
995
333
752
532
983
61
41
520
305
280
594
897
928
838
6
617
112
983
393
575
929
975
488
640
224
730
71
891
575
813
702
505
868
420
238
857
857
769
151
600
596
518
426
252
839
741
190
82
656
473
494
876
792
289
988
658
655
782
85
43
438
819
825
288
511
175
829
792
980
191
586
522
755
387
398
738
274
889
995
80
985
541
365
299
244
406
947
661
950
9
881
602
771
581
507
382
881
185
746
622
562
162
387
727
186
648
976
242
303
351
601
457
306
958
492
868
129
5
290
502
938
892
814
74
907
253
784
704
60
193
276
499
799
785
692
173
178
699
650
19
442
5
16
285
954
714
595
270
54
464
645
261
647
848
336
471
477
256
882
307
334
892
407
26
478
669
365
345
237
571
204
589
654
82
461
161
593
260
165
699
353
15
41
539
871
372
80
116
775
882
453
225
485
785
376
816
40
377
468
739
887
253
102
481
419
890
348
693
260
229
212
894
394
626
2
99
442
773
580
613
970
62
34
820
225
318
64
430
191
156
840
749
572
303
967
15
72
46
820
69
838
3
631
275
651
969
915
200
518
897
833
656
1
620
935
662
529
660
404
55
147
811
621
154
572
658
888
94
967
231
170
947
550
998
436
104
716
30
787
190
616
3
164
259
661
0
871
195
318
914
453
882
691
192
192
171
326
883
766
466
890
145
659
194
971
330
323
259
782
413
496
163
296
997
276
484
834
608
842
929
92
837
12
894
555
877
425
223
448
796
870
174
606
760
865
538
926
935
870
164
180
526
280
252
8
571
332
916
103
763
399
388
695
415
864
276
688
338
157
377
817
315
740
281
370
788
844
697
294
543
54
326
508
886
632
723
261
829
159
961
398
77
645
621
863
411
98
711
723
631
846
302
612
347
204
647
531
96
206
550
593
786
582
72
651
485
842
372
727
699
242
785
906
811
943
327
172
183
704
167
968
931
369
885
191
787
63
153
394
188
437
564
64
619
600
860
826
54
45
734
392
917
25
338
554
369
372
150
827
594
379
761
738
516
402
846
73
580
509
650
56
620
78
463
573
322
618
595
512
846
696
280
42
122
262
0
735
432
894
681
470
373
771
17
791
478
473
775
403
161
232
744
807
298
594
814
596
62
800
727
342
213
77
496
535
736
776
480
492
463
892
127
991
132
978
80
852
669
456
751
557
371
278
601
460
760
295
618
725
41
844
495
749
41
664
885
981
429
277
624
729
333
247
178
334
431
163
858
949
259
974
237
399
420
3
72
404
636
162
955
85
965
748
395
413
560
490
63
331
183
594
388
128
891
195
299
777
888
660
567
516
206
191
637
363
822
170
526
634
663
907
932
638
143
851
58
214
558
153
159
889
864
387
167
84
975
402
875
903
422
79
830
431
85
284
41
376
208
429
268
276
774
620
245
942
467
513
628
843
319
433
670
894
707
964
887
307
660
304
630
180
537
199
45
200
525
878
604
320
197
850
238
885
468
518
537
847
296
927
265
774
190
614
480
843
68
235
911
860
954
389
38
296
786
424
434
303
340
145
912
563
172
806
135
361
827
146
258
95
752
347
45
655
510
110
30
616
1000
133
668
152
577
877
942
191
858
742
296
297
515
212
154
12
866
430
592
312
523
949
792
286
150
186
907
835
976
284
923
578
391
439
940
518
782
881
695
891
896
552
929
356
11
708
610
992
68
608
547
156
218
178
784
630
665
865
766
195
162
234
938
26
165
71
60
402
180
312
32
694
995
734
721
456
785
556
940
861
829
673
949
627
530
267
338
697
231
305
481
187
398
991
770
167
579
680
83
758
627
945
670
955
149
316
305
127
198
819
261
333
733
391
262
284
255
725
60
678
61
289
254
458
243
296
19
149
587
142
257
806
371
274
838
173
718
192
180
390
165
190
79
639
75
88
15
615
506
665
297
622
298
702
468
613
995
714
430
179
575
521
957
314
60
234
880
55
96
183
604
598
40
277
508
162
32
600
196
575
311
169
690
948
199
380
697
130
176
371
865
291
422
443
713
478
682
375
52
37
942
278
718
550
819
130
770
948
776
840
23
288
971
101
510
305
24
639
908
415
850
991
806
754
103
861
595
236
371
398
12
953
214
522
621
522
768
707
552
964
145
959
94
812
377
870
268
579
459
467
401
987
285
300
391
631
737
964
487
934
763
2
683
348
246
490
63
617
469
322
392
556
617
238
345
165
436
993
332
67
762
127
405
664
964
105
659
886
433
645
130
829
134
591
563
317
584
843
159
667
998
989
114
470
154
622
493
90
855
253
790
422
687
408
457
839
150
190
2
142
114
214
997
844
156
595
276
467
665
24
822
135
369
770
647
713
873
916
825
518
504
618
874
799
397
176
449
311
485
634
608
475
321
343
369
336
603
902
642
988
974
149
306
682
143
564
79
916
750
462
426
542
817
825
857
924
714
746
450
41
49
72
82
832
420
395
786
795
319
706
625
32
6
467
149
860
426
830
852
639
227
341
124
871
517
801
447
763
348
569
618
46
726
388
588
960
79
406
471
296
937
726
8
522
651
832
680
296
848
517
604
382
866
905
813
393
854
291
3
679
665
964
171
891
404
594
161
633
913
756
112
873
653
244
700
891
393
691
889
314
492
378
883
333
190
808
663
718
981
388
810
8
473
638
406
96
139
385
926
49
602
239
77
590
857
744
423
394
830
730
782
536
881
451
306
820
741
299
864
950
691
198
426
281
935
98
154
122
522
15
673
431
305
348
815
380
526
808
231
390
300
259
19
227
589
925
830
513
403
381
968
819
306
144
674
793
620
297
451
514
747
626
750
888
369
642
185
409
805
861
208
228
177
487
83
866
199
914
742
996
50
39
740
511
52
106
567
30
201
737
10
266
59
372
579
979
78
206
338
173
251
791
306
452
730
640
257
919
636
174
157
47
585
323
638
1000
692
567
123
217
868
705
788
913
17
376
225
373
824
437
593
726
166
862
216
332
297
30
3
266
286
913
573
606
594
261
363
14
453
643
29
520
52
439
862
866
635
936
657
608
984
65
660
668
884
668
96
942
574
35
538
252
454
436
28
962
60
44
429
304
298
559
595
402
70
60
994
177
632
585
690
851
361
16
985
624
703
100
150
397
30
608
210
488
798
551
155
142
701
779
619
408
232
45
642
856
541
912
510
410
168
367
693
408
469
694
283
101
715
700
15
186
996
982
794
883
573
22
502
994
595
276
234
873
632
932
839
925
607
378
268
592
799
926
306
725
392
919
837
803
368
753
166
798
73
388
837
448
569
988
3
704
820
928
896
486
315
285
66
370
723
876
276
271
703
988
164
922
670
880
624
548
577
487
130
772
561
720
325
649
576
540
522
745
985
980
212
81
572
550
547
84
937
171
443
385
536
208
616
474
702
927
253
164
600
327
466
519
303
452
904
784
64
743
523
785
347
341
751
113
231
440
864
41
540
293
994
593
914
446
929
596
44
950
75
522
164
288
586
338
583
67
326
358
872
795
603
665
972
690
815
697
998
180
979
513
679
58
885
259
648
254
255
368
558
436
200
503
117
358
632
472
929
255
61
950
871
113
955
529
675
633
265
283
57
577
839
586
280
487
701
830
995
952
553
42
761
700
495
717
474
361
675
717
854
193
948
49
251
469
907
429
865
623
900
856
702
697
157
549
551
314
988
577
610
197
147
24
765
669
218
607
241
727
225
831
580
221
171
111
692
574
339
705
253
744
335
644
986
612
403
490
528
794
159
464
490
94
984
121
515
554
616
570
241
138
653
346
114
710
144
297
753
35
885
725
600
674
764
341
923
146
82
515
582
466
233
615
125
154
781
514
451
254
266
832
49
727
1000
136
430
414
340
507
114
399
907
257
874
868
840
981
647
488
872
539
654
448
70
266
522
229
490
155
532
465
328
505
317
858
439
247
511
586
593
765
247
775
57
743
868
277
277
994
941
269
663
145
285
308
745
27
374
1
26
821
511
365
261
752
34
357
36
621
100
614
119
710
385
946
623
293
672
175
702
2
596
890
536
621
571
697
333
43
249
383
542
729
957
818
576
967
696
926
205
373
858
237
271
824
66
526
830
5
962
123
652
713
489
243
281
302
933
775
51
278
240
870
86
312
81
93
23
385
749
740
120
695
405
628
960
243
18
315
575
442
680
736
796
3
452
807
925
766
615
977
814
838
529
923
906
150
918
891
973
748
965
390
970
417
80
350
553
454
529
427
182
806
998
867
190
786
213
23
693
450
474
181
939
859
772
182
580
482
489
587
389
265
79
68
787
689
905
214
802
556
397
329
255
614
523
382
718
920
943
30
990
383
884
524
829
311
156
429
580
643
922
730
343
578
727
563
563
74
431
720
758
658
112
31
531
40
392
365
275
522
129
902
317
707
117
982
523
528
928
268
180
117
746
173
832
893
52
882
526
431
612
659
40
909
968
391
747
143
65
422
603
483
430
276
11
964
1000
339
435
11
447
267
542
931
884
188
495
751
298
270
678
714
963
994
774
466
696
384
340
687
543
226
741
408
891
579
537
474
63
517
115
676
113
713
508
963
22
423
365
929
204
219
622
122
283
89
796
491
393
295
571
773
409
366
337
353
592
318
165
514
827
118
420
522
180
368
386
934
260
135
777
161
985
854
809
900
462
790
555
878
751
205
631
389
252
831
502
644
550
30
241
918
61
750
209
123
679
786
21
820
109
199
840
805
374
627
181
164
824
800
798
722
410
834
14
887
299
462
350
957
846
702
901
232
160
262
160
406
212
524
641
762
936
692
143
136
447
520
498
955
64
148
66
828
546
594
650
465
191
165
111
154
537
124
781
133
802
295
928
290
903
345
736
581
238
565
361
587
157
754
580
610
345
509
870
102
265
321
490
117
201
773
614
104
136
224
722
984
221
787
690
381
864
694
548
191
176
974
846
375
396
29
971
213
736
43
220
47
399
1
13
522
111
317
124
193
348
200
709
510
470
681
184
108
670
661
895
1
231
883
859
182
383
297
940
359
975
221
463
335
652
61
245
868
523
480
607
100
226
318
490
360
996
794
765
361
807
204
445
68
781
302
184
447
579
291
294
833
884
972
776
858
504
164
85
4
654
407
341
500
565
289
320
512
800
987
984
111
386
837
677
767
377
33
611
970
456
82
656
788
360
855
510
291
702
38
216
92
323
747
8
107
279
887
121
44
772
51
821
807
113
179
183
759
845
390
966
606
344
435
496
372
327
754
345
561
151
974
559
153
782
907
278
129
459
602
824
375
297
747
913
627
604
178
531
354
144
622
566
68
165
237
131
484
66
652
398
293
756
506
869
366
565
491
964
142
872
960
163
943
609
230
538
810
846
149
660
63
740
9
595
893
30
177
398
438
707
554
240
471
25
954
284
277
964
390
123
882
124
512
124
12
582
785
199
272
781
713
645
977
973
976
489
465
697
699
51
518
246
623
517
345
89
547
77
798
327
65
474
618
147
983
734
693
516
691
616
971
525
853
648
190
169
992
447
684
301
641
710
372
974
285
490
21
629
390
951
168
365
111
535
534
468
809
966
895
760
85
819
624
721
202
977
790
808
361
820
963
849
597
704
177
637
664
160
323
855
722
829
186
36
442
114
155
42
857
433
810
204
265
482
796
292
159
915
705
986
62
779
661
71
625
917
609
496
737
153
562
351
60
36
77
861
563
499
415
199
296
757
435
523
324
650
262
994
918
243
470
697
476
511
176
117
239
483
949
787
795
407
909
761
971
323
282
137
398
796
310
25
1000
681
841
744
278
911
43
265
321
48
898
720
289
791
353
515
649
4
675
391
975
943
18
732
838
651
476
12
601
443
873
278
328
645
166
114
708
842
115
328
368
410
580
282
534
347
846
401
32
192
914
765
878
160
939
777
474
292
878
751
915
211
596
295
405
875
985
405
861
47
248
540
627
327
782
205
72
76
149
683
452
526
442
237
538
554
532
65
191
478
317
27
178
859
591
868
911
702
108
436
317
580
602
650
724
778
808
150
830
454
258
467
544
856
33
901
785
736
5
603
375
675
683
252
491
308
61
794
502
841
922
359
125
403
363
596
234
99
601
174
214
928
11
502
927
40
990
892
99
119
886
540
628
710
105
378
624
992
487
625
395
571
517
25
306
233
340
654
508
622
256
50
797
704
548
215
328
68
188
452
606
29
462
765
269
671
863
370
83
81
754
284
245
206
742
827
358
236
896
537
822
188
858
600
559
937
4
97
811
865
942
51
317
825
642
322
83
735
19
792
805
725
534
796
384
439
207
906
978
348
777
830
421
233
367
760
241
383
752
236
917
587
111
434
654
275
285
8
501
776
541
926
879
909
318
117
201
944
813
244
182
803
366
662
121
717
663
421
307
654
671
840
639
477
30
94
316
474
209
167
360
416
246
306
745
740
711
201
146
713
371
402
600
654
951
225
311
309
943
776
554
444
86
947
626
432
511
624
36
249
111
279
127
562
167
240
962
840
646
262
388
3
161
89
284
678
869
218
2
738
458
804
93
980
426
798
887
769
826
266
929
325
650
566
76
60
209
246
784
224
650
740
810
499
616
822
10
131
540
461
887
524
106
525
352
597
115
166
724
491
887
393
590
860
69
302
178
760
845
471
847
144
164
957
468
198
464
443
579
769
200
370
375
852
804
312
668
942
491
125
994
118
863
300
48
339
589
741
891
403
249
749
848
604
124
714
378
226
500
409
356
288
171
444
505
205
120
768
986
547
327
14
640
993
41
110
129
731
876
415
879
436
695
879
329
190
589
804
835
531
104
218
345
559
892
579
710
886
584
237
671
554
260
848
189
486
89
71
301
542
471
414
159
525
913
533
331
489
303
858
896
183
618
82
951
879
95
860
613
179
574
16
885
831
321
635
535
92
687
451
215
493
67
436
80
824
394
463
533
358
148
605
279
87
336
390
341
218
120
160
817
707
591
987
77
904
571
755
433
946
37
961
913
354
471
195
944
166
760
769
903
133
535
605
601
460
699
195
733
78
782
968
462
285
232
7
631
27
965
391
132
878
32
494
824
178
516
563
649
170
838
903
201
122
9
694
83
609
166
91
719
113
928
234
359
344
197
681
709
450
872
359
42
759
897
448
255
916
135
687
861
8
787
617
603
820
404
920
437
432
609
533
385
202
872
261
980
922
946
33
490
323
267
690
405
141
10
186
511
461
146
285
816
667
657
543
609
535
898
274
558
752
169
255
318
918
59
754
56
981
680
705
783
120
986
385
437
104
715
466
770
419
783
653
403
531
783
632
781
800
388
740
371
379
941
491
806
513
941
205
572
893
88
345
853
997
108
368
303
597
31
394
121
350
955
796
358
107
904
26
156
837
815
962
537
474
80
654
677
591
148
443
19
146
618
746
52
284
940
838
94
164
63
49
821
14
220
208
76
483
43
494
44
52
18
363
475
468
872
369
210
136
69
375
526
851
229
383
46
151
145
469
223
603
108
92
185
707
58
226
456
840
243
643
773
943
448
11
557
667
499
690
30
961
439
8
466
544
726
963
755
929
859
668
56
708
841
798
532
320
305
481
438
81
323
714
931
824
481
99
990
800
984
346
169
106
729
696
254
90
221
414
203
461
646
290
434
579
751
666
367
110
338
610
706
399
932
672
914
769
239
56
264
946
6
524
336
407
587
495
195
727
814
656
496
325
953
700
408
277
55
589
218
56
147
299
47
631
126
493
976
282
151
971
608
241
601
577
579
584
849
786
611
640
835
619
117
546
507
10
143
996
748
288
756
953
282
885
35
265
285
395
269
147
353
753
863
415
812
305
569
546
416
145
900
57
380
515
527
244
357
342
674
29
558
947
932
71
110
900
520
423
84
216
462
691
495
13
195
184
415
440
572
759
886
991
662
240
358
76
946
666
425
513
640
649
55
599
531
278
273
872
594
90
745
126
240
40
699
161
899
344
539
203
893
305
254
10
228
340
880
120
455
829
689
241
331
525
658
7
323
483
346
546
764
152
352
576
328
827
867
173
587
272
150
577
776
627
590
592
275
235
476
44
686
388
136
273
299
376
390
463
571
130
383
763
377
240
563
673
206
511
979
217
334
680
163
36
733
142
8
572
92
295
115
600
879
164
535
856
940
482
555
969
897
164
73
728
822
415
620
174
829
655
116
115
723
106
957
742
636
744
82
654
347
233
12
939
609
844
933
297
138
712
154
15
145
498
16
247
179
319
605
840
38
320
187
4
298
172
97
842
751
861
770
109
260
253
1000
540
250
631
546
572
990
903
987
243
811
584
350
178
540
133
777
815
786
27
810
438
583
986
320
281
950
483
566
245
226
246
12
562
607
689
158
452
138
494
100
383
585
291
173
665
534
689
326
658
885
986
745
530
350
13
801
379
835
485
314
343
436
892
430
125
907
511
410
362
307
203
316
761
816
70
531
180
492
804
575
340
316
91
963
250
474
543
259
324
539
527
932
883
602
702
778
515
67
868
695
161
292
655
118
396
720
921
456
694
448
750
142
866
535
849
265
644
447
845
61
261
480
602
12
963
995
1
697
688
563
101
946
870
601
728
349
153
904
504
661
295
240
649
83
97
882
580
627
432
130
636
994
477
544
139
360
48
250
266
332
24
959
244
793
418
401
887
698
877
19
702
233
782
818
261
257
326
774
133
544
327
910
842
791
464
254
40
51
505
654
412
420
896
323
680
772
552
821
71
696
351
849
238
189
233
205
781
3
858
170
904
650
906
705
621
216
28
170
757
272
479
888
499
114
226
876
839
83
609
756
382
929
810
892
687
998
318
345
83
995
328
72
62
944
454
187
6
456
810
186
675
593
841
927
967
157
601
877
351
4
818
511
347
270
42
716
825
553
266
848
603
848
614
474
51
750
120
614
460
194
937
24
753
829
762
254
494
125
160
200
775
145
400
660
772
994
294
231
830
155
897
841
609
199
737
682
28
503
468
565
205
370
943
393
184
118
947
766
24
452
22
502
408
11
518
462
232
830
617
617
617
271
460
253
501
43
468
199
642
653
37
943
69
978
176
514
656
879
836
552
621
611
972
278
776
424
684
499
44
705
201
662
795
413
473
650
181
162
608
57
395
231
281
594
28
181
773
70
4
76
989
574
482
363
36
160
336
275
698
435
845
191
196
881
777
913
286
146
979
527
975
668
425
416
953
694
528
111
604
548
707
951
940
600
124
265
488
971
935
431
737
360
66
386
323
430
1000
783
356
356
686
460
949
223
933
728
516
225
715
346
25
272
825
351
70
628
995
227
412
689
471
779
710
50
206
690
115
657
489
933
702
428
289
765
400
376
469
191
962
925
723
850
2
860
583
564
269
823
484
447
599
758
229
745
825
10
54
175
459
381
553
52
920
384
567
797
116
971
379
954
41
270
783
32
563
694
832
572
987
591
922
294
895
944
260
977
421
702
500
2
427
904
340
772
387
967
519
812
993
898
723
436
334
400
0
12
407
3
272
254
871
26
347
438
349
44
2
45
797
157
101
808
202
77
656
434
636
316
789
281
105
510
375
849
506
899
750
87
558
602
514
471
505
397
788
817
697
388
12
158
553
602
51
829
440
570
369
840
170
249
773
211
531
832
572
660
423
572
310
44
12
537
81
96
28
535
562
330
368
625
358
848
322
376
115
636
110
457
154
634
978
224
51
224
731
823
735
64
92
999
991
769
390
114
583
619
863
509
851
648
489
117
361
221
96
790
190
783
640
984
46
339
924
255
457
800
668
119
778
649
559
900
119
646
327
985
683
698
276
834
947
637
189
828
258
524
750
848
151
719
841
131
13
180
361
603
252
452
898
144
98
79
256
100
621
739
339
70
587
274
123
199
191
407
563
834
222
298
253
236
759
989
733
653
996
154
98
91
870
770
740
208
519
49
829
750
603
467
744
404
922
668
681
347
215
279
547
789
366
232
440
407
563
151
363
534
990
372
9
451
70
119
181
630
398
492
501
85
584
383
14
82
576
303
768
657
989
534
561
944
946
989
586
918
245
741
608
107
210
448
38
604
535
266
415
754
38
99
457
887
285
173
39
814
145
371
82
115
165
320
356
996
647
458
431
946
19
870
634
205
122
520
111
500
774
190
252
975
344
405
679
353
854
600
650
626
208
271
394
536
644
953
977
542
4
769
859
921
525
679
648
794
517
83
224
606
655
561
740
121
859
568
364
723
170
727
644
553
63
49
271
92
37
904
701
255
114
627
385
291
771
996
432
231
182
640
651
134
205
446
499
974
901
706
940
938
182
893
474
578
843
420
949
791
543
112
953
773
99
913
110
801
432
865
479
784
404
15
447
763
458
894
157
699
69
75
935
445
463
764
19
401
604
995
408
823
812
51
67
193
845
316
208
781
625
932
404
260
231
0
303
932
716
590
234
677
907
413
626
755
284
348
395
405
846
263
711
470
12
78
532
252
241
565
982
702
224
188
149
584
25
830
933
86
507
388
285
834
688
210
754
4
503
707
967
413
886
58
906
143
406
608
269
151
751
288
113
163
627
366
247
452
624
228
393
634
488
818
859
360
364
463
493
771
509
898
137
265
539
523
322
129
790
297
909
421
247
808
783
617
18
212
375
288
101
26
760
562
135
230
888
349
965
612
147
686
429
741
181
816
173
850
728
905
149
970
594
349
414
713
400
384
333
802
426
233
690
646
624
411
517
748
74
476
707
661
219
57
372
829
397
820
290
988
706
794
97
768
412
704
529
223
795
462
42
309
610
576
287
304
955
893
652
460
560
331
772
46
713
931
579
72
128
681
439
554
799
147
307
163
263
764
822
422
619
340
644
568
185
778
97
192
556
799
762
941
115
637
454
979
4
91
117
305
116
261
459
539
4
771
846
927
735
965
327
706
2
618
706
795
867
28
21
356
627
760
832
984
924
936
561
953
590
468
920
7
59
513
322
253
790
985
768
973
730
939
875
238
945
430
904
953
220
121
364
140
3
525
194
152
131
795
522
669
907
790
409
967
311
68
41
337
903
316
653
862
425
132
971
216
668
616
506
444
611
688
521
415
793
659
827
120
449
844
286
853
464
796
508
684
740
825
459
424
864
128
975
942
542
931
996
949
388
13
868
431
479
349
878
605
743
903
538
856
666
670
922
865
276
393
713
160
283
277
600
59
378
259
465
779
388
206
506
977
784
199
350
164
304
301
845
390
760
994
499
101
516
188
804
7
410
191
436
493
150
260
453
748
594
843
340
842
209
306
714
412
701
3
567
962
634
504
510
586
942
184
558
706
863
476
258
254
660
526
649
738
808
115
126
997
44
321
154
262
185
443
747
539
917
377
539
558
207
634
974
682
717
317
828
182
983
83
356
486
637
408
486
769
820
562
863
382
668
986
516
238
820
106
913
349
892
340
992
855
152
948
377
473
451
399
584
217
236
225
699
647
448
262
414
30
259
992
26
563
887
828
732
84
705
75
611
284
230
70
395
327
616
359
417
235
737
282
853
777
630
461
347
49
287
3
266
74
865
536
673
979
659
328
427
588
404
566
544
46
559
370
688
492
312
225
475
404
872
683
49
734
154
47
974
476
519
787
152
537
205
469
373
858
601
515
722
776
264
362
585
494
834
950
197
424
610
30
668
364
854
776
114
269
540
894
620
69
303
678
594
314
341
463
426
964
686
15
788
28
670
475
129
433
720
284
739
235
393
128
717
974
663
678
193
554
211
288
924
692
675
903
342
342
32
568
381
82
172
714
971
1
799
313
962
611
46
774
589
818
566
181
393
526
681
293
739
671
493
347
648
148
125
457
301
623
388
698
182
34
188
154
751
586
567
189
426
137
355
982
734
55
820
188
133
639
847
978
262
670
20
437
372
823
535
335
35
792
911
304
255
341
963
4
459
926
270
170
700
491
791
670
864
18
563
750
412
789
280
813
605
82
334
23
349
473
227
961
225
96
533
241
653
2
140
716
457
64
893
327
529
149
750
653
511
843
97
312
985
215
23
276
561
76
863
548
463
808
949
989
710
819
358
265
371
281
13
774
190
28
409
813
190
505
872
55
817
330
860
91
471
511
762
601
787
725
534
439
490
947
872
118
706
479
355
145
305
958
940
610
828
782
486
681
654
683
408
417
530
405
724
900
324
90
249
360
523
652
409
524
275
962
18
499
906
610
514
695
423
119
886
922
510
828
636
343
784
61
86
610
994
399
93
925
824
472
574
788
157
364
729
532
41
133
788
805
44
182
715
15
122
771
841
734
877
800
22
271
854
688
980
503
38
514
625
388
73
252
793
979
763
405
22
386
354
48
267
929
297
345
208
14
864
531
468
234
247
71
131
586
654
143
635
465
2
347
428
435
267
286
274
216
880
828
582
219
152
652
741
585
577
303
103
410
766
966
766
282
406
313
715
342
489
807
982
719
94
316
319
346
431
740
573
169
746
869
245
421
593
359
663
859
294
188
884
825
562
257
492
71
690
821
166
749
683
876
75
390
721
609
5
515
444
79
48
717
623
904
609
397
777
762
20
581
191
900
995
786
302
514
579
40
657
435
498
799
596
265
577
562
729
776
134
356
189
772
374
245
233
436
904
274
115
138
840
276
709
54
900
395
729
232
117
553
150
261
822
695
308
663
736
949
434
708
283
627
492
347
91
419
573
792
27
65
886
296
422
789
164
226
357
823
857
481
959
453
908
562
433
521
284
903
342
85
272
891
727
64
368
992
735
715
643
996
227
814
433
621
713
416
170
248
555
170
600
98
959
396
690
949
856
41
62
63
175
991
729
986
242
942
417
98
196
975
302
546
213
404
378
518
244
291
246
16
749
640
856
424
550
74
403
509
670
546
403
110
868
429
492
53
866
481
909
212
125
951
232
767
852
62
429
733
374
235
805
511
17
156
343
864
562
205
582
885
234
669
513
388
560
922
934
867
316
674
67
788
3
400
297
89
740
566
448
195
14
282
930
906
598
822
329
881
585
56
85
547
407
909
101
575
303
847
747
268
290
373
426
624
479
477
360
130
592
561
589
521
740
401
731
8
869
992
705
337
741
104
330
526
155
702
802
459
397
96
32
698
166
643
443
603
622
963
81
239
58
181
207
852
491
704
57
736
320
806
659
702
155
171
710
393
803
41
268
759
102
119
330
432
216
800
777
663
459
429
605
368
303
410
661
992
44
582
484
466
342
421
225
792
883
15
763
958
148
463
162
650
887
789
199
431
916
270
410
660
717
161
250
252
4
294
478
357
743
443
509
493
994
160
139
188
490
311
324
328
535
270
668
218
20
486
471
193
482
18
431
822
893
831
330
350
580
801
342
924
393
985
693
364
91
444
127
459
55
512
709
923
221
906
510
27
418
841
468
339
989
663
496
548
532
407
913
688
584
235
552
425
29
869
698
537
679
573
44
107
993
94
257
873
679
689
872
106
749
838
612
451
533
791
259
21
348
588
589
986
525
459
46
721
421
641
811
452
515
658
875
135
147
715
759
877
588
753
119
736
968
582
404
844
839
715
63
331
142
112
658
659
784
186
840
412
581
599
552
84
511
668
437
765
369
564
710
805
496
103
501
643
501
98
44
187
772
980
638
814
727
288
548
957
13
74
64
346
190
246
9
478
760
582
539
69
769
497
63
948
657
843
499
903
247
137
880
451
686
716
299
734
913
214
60
617
350
908
287
622
216
338
471
194
108
794
762
564
11
71
667
396
812
610
893
375
840
907
636
69
432
673
928
910
807
271
321
30
267
72
94
913
378
268
377
76
440
256
697
967
397
778
900
391
293
768
461
874
951
674
449
512
820
726
309
422
940
599
514
362
105
499
565
352
91
485
133
350
443
558
308
287
612
999
585
81
683
988
785
57
871
259
710
532
295
774
173
747
132
522
146
139
312
186
839
673
643
539
236
695
344
365
401
225
555
277
656
278
90
58
209
895
526
781
592
364
939
106
897
358
253
790
583
187
980
757
719
110
933
302
113
925
230
240
911
119
811
748
786
694
772
331
711
516
762
935
700
88
742
956
169
522
145
929
733
30
547
374
438
165
297
512
660
829
890
728
795
854
689
144
324
532
391
530
377
753
731
142
190
403
310
885
121
82
198
788
544
300
906
932
578
471
955
520
178
334
643
247
38
539
684
682
14
429
76
396
328
302
147
41
365
360
895
799
756
557
578
778
442
229
20
947
257
774
121
14
13
919
934
681
24
880
958
830
551
695
648
395
919
556
936
283
265
357
99
859
980
663
985
309
448
596
449
182
116
16
739
814
434
208
411
586
697
680
773
375
851
766
427
33
173
459
976
879
889
863
376
652
862
319
396
332
335
580
646
543
109
289
605
698
165
88
550
537
360
316
913
514
39
950
233
789
407
829
17
964
509
740
17
504
540
493
826
777
264
359
419
757
664
967
253
602
706
382
205
34
444
52
687
593
675
990
961
862
754
560
408
489
492
844
926
256
351
756
766
426
108
804
467
42
48
848
328
95
569
327
976
391
775
644
296
806
761
102
996
926
264
893
294
305
841
389
976
641
141
88
951
371
756
723
593
910
835
358
83
29
636
47
256
825
258
736
34
243
237
144
88
322
551
368
653
827
997
646
286
310
655
639
899
50
86
222
514
315
123
164
266
146
634
583
268
510
551
445
535
177
923
275
690
506
266
612
944
346
844
86
439
436
331
270
551
140
257
350
654
769
245
245
276
957
605
113
749
370
779
951
469
263
782
957
696
999
116
482
31
161
634
386
1000
725
427
382
780
474
218
637
565
19
268
686
598
689
889
533
117
904
829
381
227
808
192
551
654
378
657
225
236
300
352
630
148
488
465
933
840
913
213
356
917
573
61
15
51
701
969
64
716
228
279
373
815
227
874
832
71
78
748
625
187
803
609
141
928
92
459
73
767
708
612
118
447
160
358
136
469
842
803
739
301
596
251
554
226
84
887
681
952
953
19
372
723
788
81
38
970
447
29
625
762
410
230
468
419
617
432
518
327
374
15
325
85
140
814
418
77
258
681
60
844
274
339
779
962
445
311
740
616
910
315
141
901
174
169
899
37
791
847
616
139
830
872
884
882
356
877
633
756
553
378
332
406
828
774
125
61
676
937
318
2
972
24
833
473
765
61
445
178
300
651
493
664
593
560
681
415
617
358
840
198
657
694
411
294
527
954
406
59
868
725
873
609
386
125
395
50
328
851
69
292
988
538
263
477
724
90
120
152
192
34
774
877
201
345
543
232
70
486
262
867
675
474
104
137
260
673
456
305
34
568
483
535
911
540
700
418
613
532
995
490
71
773
507
227
574
57
885
294
849
166
837
901
921
64
376
778
681
322
630
627
101
668
23
936
261
355
408
814
98
972
552
999
965
649
250
908
181
248
498
257
582
381
708
792
331
572
157
153
177
883
856
558
796
784
254
590
303
266
351
893
725
428
912
13
689
114
25
109
327
268
835
318
31
988
650
964
597
216
718
105
60
639
241
431
693
856
972
747
203
361
185
186
837
23
968
196
718
243
226
898
528
518
958
338
141
246
742
426
319
51
581
940
442
702
571
242
55
75
276
46
570
394
104
716
164
789
387
472
38
658
506
818
302
831
677
747
105
749
192
827
939
560
447
298
882
973
959
27
279
511
632
56
533
289
867
127
997
782
789
882
889
719
93
893
423
75
725
170
850
390
230
372
438
748
242
209
940
703
450
692
384
29
381
806
184
478
962
565
302
893
586
616
904
983
391
144
420
120
386
162
605
59
425
925
835
754
20
551
211
234
853
170
110
235
54
18
679
134
995
270
66
278
641
655
705
727
534
614
757
310
394
413
9
328
180
69
513
505
681
932
901
26
993
42
34
542
935
7
907
985
275
516
395
984
698
972
844
536
946
722
979
784
2
13
480
360
785
629
418
29
863
662
175
574
586
994
435
245
355
289
20
448
511
843
684
502
518
349
776
780
23
162
665
280
881
902
677
288
608
629
312
948
362
626
480
708
129
450
224
579
154
989
185
776
250
127
614
481
888
851
499
880
347
525
825
67
436
551
271
397
693
452
463
45
655
256
562
880
656
854
912
721
0
190
410
606
484
107
259
469
76
729
611
151
653
920
370
491
385
245
930
364
594
147
25
202
916
967
697
109
100
949
536
776
864
316
165
671
67
351
223
377
634
18
552
27
166
979
110
517
153
820
259
770
244
319
196
368
335
793
309
650
618
443
817
439
346
314
89
507
541
690
672
308
238
946
23
332
366
771
369
265
695
573
259
975
982
767
407
308
519
15
239
787
275
202
174
576
232
854
703
417
751
820
370
750
896
662
685
146
476
766
670
660
726
236
859
301
191
936
987
229
906
721
206
298
607
860
41
271
401
794
707
795
61
985
460
15
314
44
103
213
629
85
837
319
712
76
278
625
686
903
77
204
676
276
705
458
746
439
782
432
664
146
588
166
964
164
888
3
821
503
495
974
87
440
226
776
57
100
915
82
26
777
656
592
445
16
414
77
551
297
182
918
378
907
253
295
707
364
100
96
993
475
647
392
227
675
492
801
654
391
276
289
224
592
389
948
975
769
632
715
292
272
578
392
463
755
623
56
570
809
577
663
773
113
425
564
220
993
199
273
177
866
161
272
270
703
613
116
468
117
923
654
168
99
574
289
53
957
133
244
278
271
513
541
598
542
655
450
593
922
366
42
542
296
460
773
725
226
881
492
90
441
930
560
879
797
447
591
649
815
226
911
834
492
704
833
514
455
517
314
82
278
249
18
838
675
626
340
736
369
126
285
707
793
863
545
72
667
348
499
28
640
413
252
197
976
724
626
411
618
584
180
486
195
290
679
14
154
452
789
0
239
206
891
829
281
302
638
429
433
642
222
111
414
564
755
56
57
869
406
1
460
973
377
979
555
558
156
178
786
593
156
62
637
148
552
222
672
764
481
763
946
551
834
688
656
711
622
263
938
550
433
226
725
586
265
33
468
453
720
748
274
461
485
222
781
986
90
116
685
63
785
548
879
566
174
914
201
301
673
35
648
619
795
927
724
404
616
54
857
918
60
413
569
289
652
550
602
557
946
720
195
52
978
788
504
572
100
570
448
261
488
372
591
617
433
25
593
695
540
95
875
678
986
705
939
938
603
986
752
80
68
591
762
131
400
859
961
693
10
632
490
266
657
675
173
147
206
594
597
100
667
986
265
798
113
31
817
880
17
987
656
584
212
123
328
987
71
589
780
189
154
795
616
92
24
916
494
599
129
532
657
2
994
375
962
152
545
207
875
436
83
376
27
339
870
560
646
895
828
532
289
580
862
375
357
370
578
611
650
596
680
752
563
364
79
452
226
685
458
469
568
857
71
167
451
400
727
571
730
993
20
654
68
30
288
924
520
89
960
955
319
602
618
839
172
682
35
527
525
295
650
722
682
737
720
66
108
548
136
324
29
104
262
782
479
848
327
552
325
145
866
901
753
143
897
784
508
739
278
325
769
605
358
575
479
170
927
523
777
319
383
195
769
591
297
799
277
468
389
594
1000
565
375
865
99
732
500
342
501
693
365
40
979
315
534
265
455
388
939
303
276
98
79
204
640
544
159
886
352
320
187
200
135
841
972
551
1000
259
115
379
883
13
606
378
992
408
607
502
44
221
643
248
595
638
750
899
814
388
678
623
384
311
31
220
145
15
717
297
80
301
361
70
318
597
51
587
37
626
395
513
987
262
574
935
300
487
373
395
466
577
157
530
684
630
51
728
391
156
254
485
569
491
938
277
380
261
328
821
904
956
978
57
898
627
359
85
157
368
42
438
411
544
941
733
278
526
180
198
913
799
738
81
451
855
377
456
175
280
596
437
881
862
942
464
170
479
307
699
674
605
959
516
300
103
111
269
512
834
497
346
900
752
844
533
550
702
489
674
402
260
921
440
720
596
254
755
907
584
311
8
869
183
906
241
559
742
106
432
670
130
981
608
39
726
713
653
262
77
330
567
350
520
241
907
817
458
962
280
865
705
35
729
504
530
34
574
725
748
134
469
848
121
488
333
89
482
861
845
117
918
878
156
655
660
414
440
490
795
352
687
522
901
449
612
921
355
146
299
566
872
221
564
738
843
893
317
381
849
513
133
938
205
821
222
906
400
913
583
12
204
35
668
618
492
200
277
589
790
965
794
310
636
737
252
142
366
836
628
748
560
175
593
768
754
639
974
163
758
501
286
126
958
16
643
114
947
150
657
985
767
908
524
574
538
256
170
327
459
69
469
180
327
585
852
295
454
952
903
944
240
477
330
513
352
360
85
736
403
158
136
912
954
611
8
914
37
930
286
479
297
186
58
217
988
703
643
254
943
182
600
310
232
3
909
952
112
622
38
623
709
839
141
160
292
519
215
742
57
361
44
127
686
305
215
142
6
401
663
786
571
618
320
528
584
174
318
475
613
5
384
780
395
541
179
696
754
218
280
328
743
83
846
239
292
290
525
385
647
749
839
730
98
694
2
814
756
573
72
500
220
25
254
886
749
943
805
676
433
722
669
60
513
225
420
734
685
196
870
218
179
585
420
569
888
571
237
399
564
3
942
430
283
902
171
553
630
877
845
150
674
629
594
986
913
453
227
110
320
66
731
143
92
415
263
617
152
137
935
530
311
926
193
789
630
23
942
944
548
112
143
957
628
833
825
318
320
226
695
717
777
107
234
24
174
116
424
352
839
899
649
614
760
12
970
61
997
435
766
836
488
973
707
211
634
885
704
819
947
620
813
715
145
632
17
187
384
471
552
710
844
908
614
29
793
589
950
30
281
296
665
436
455
824
957
764
165
434
963
884
90
892
201
710
231
882
208
127
3
600
557
715
670
166
418
334
594
583
551
50
796
979
50
237
853
206
523
48
647
644
989
995
949
480
553
957
927
875
751
697
794
945
276
248
881
327
652
604
410
685
656
464
130
669
463
230
301
452
518
971
909
262
720
510
360
892
911
619
882
353
105
431
732
337
655
64
643
966
488
168
80
826
942
320
798
409
842
1
247
206
150
424
861
641
765
316
583
499
784
689
168
858
146
139
625
95
566
583
90
445
20
7
719
315
882
845
841
304
846
680
429
341
478
400
508
727
239
243
246
104
348
239
506
884
145
597
793
619
742
567
157
872
536
81
436
254
667
823
374
35
966
338
763
971
933
786
277
732
128
230
479
268
773
516
619
833
206
231
216
157
115
309
366
22
115
13
164
323
570
468
899
99
12
973
654
16
848
444
915
760
586
281
862
743
358
770
815
408
485
784
11
665
355
158
479
130
77
805
561
112
469
372
491
85
479
187
409
163
787
88
925
696
27
394
865
76
957
38
358
657
801
977
702
520
166
242
452
19
763
612
644
182
738
65
553
553
502
479
695
676
195
592
388
539
756
223
211
550
937
200
672
40
397
801
944
735
170
40
388
740
714
946
602
487
727
269
642
800
960
206
135
185
333
196
363
116
638
713
990
508
239
250
603
815
213
210
199
725
116
617
655
276
759
630
641
490
474
247
527
718
532
653
39
165
293
131
295
621
192
151
736
258
904
810
760
419
423
948
243
589
47
537
834
907
493
643
7
648
955
264
87
446
431
352
594
611
386
490
0
838
870
80
861
189
573
468
5
672
690
457
926
979
409
511
430
140
295
193
933
827
833
681
526
706
672
231
458
526
24
854
281
570
813
146
671
777
679
638
166
855
938
671
766
872
371
245
786
359
707
604
675
27
857
347
11
376
31
126
524
853
211
922
219
673
668
388
57
175
347
754
51
574
312
49
510
40
968
50
279
991
767
163
731
399
994
196
597
0
585
119
648
754
216
195
852
993
695
776
7
255
122
52
662
177
840
386
42
461
719
162
945
928
778
148
322
595
243
405
120
317
398
963
468
8
524
275
685
62
912
831
537
403
319
957
988
448
489
469
85
655
675
1000
42
939
502
701
620
776
672
442
172
316
263
353
543
977
23
184
203
781
530
455
287
235
525
527
670
963
59
834
492
346
557
865
470
179
708
369
685
974
495
891
488
867
538
259
496
301
21
687
755
593
377
126
795
947
815
151
433
402
90
630
421
653
241
569
160
542
876
216
375
913
927
971
921
937
307
924
879
688
140
495
549
698
317
267
840
150
995
558
860
983
651
661
555
820
419
33
161
402
502
756
987
859
79
724
449
992
928
603
277
568
409
971
984
422
761
532
34
353
280
761
276
404
295
36
985
351
713
456
988
235
842
367
431
328
997
60
261
21
843
987
646
789
139
457
692
124
968
368
671
863
85
973
156
748
510
11
87
835
374
140
220
370
211
498
179
717
600
136
859
177
44
820
467
106
526
306
723
564
565
556
93
279
615
505
314
540
548
498
749
354
367
996
223
887
854
273
712
735
424
315
229
671
773
919
593
49
212
992
281
293
442
898
292
222
18
616
94
645
439
791
204
735
414
782
896
478
130
267
805
522
51
731
671
551
651
434
758
976
870
665
937
815
978
385
73
411
759
466
311
294
852
828
129
127
328
974
766
246
405
837
653
330
636
722
566
473
209
447
155
521
575
324
568
288
916
64
200
819
687
975
43
475
308
476
677
124
486
211
266
160
821
98
811
503
522
638
782
800
634
275
675
600
298
506
928
466
616
640
496
183
436
558
689
404
227
237
589
800
102
999
759
803
23
803
767
183
873
471
824
519
463
950
219
130
331
900
815
228
240
375
445
544
6
364
352
134
232
944
382
274
796
847
438
731
779
475
708
358
847
968
259
588
491
390
38
942
571
359
118
712
472
217
668
200
936
577
526
890
885
541
335
589
1
247
890
79
102
599
877
391
761
45
667
668
955
408
842
122
642
361
457
104
104
871
399
916
125
194
6
282
787
323
235
255
111
576
577
22
452
824
914
297
793
507
381
575
574
952
520
666
35
449
473
331
630
709
675
693
830
488
494
190
9
940
568
175
722
303
947
536
999
959
251
362
369
249
913
924
954
547
990
573
531
287
698
595
818
700
656
453
731
52
290
665
330
203
939
330
848
434
318
751
791
574
16
872
764
393
933
655
447
767
611
773
25
411
69
692
665
768
979
627
361
667
545
124
192
135
263
564
964
997
193
20
571
724
367
184
252
192
641
915
177
963
701
280
622
446
170
698
858
156
187
869
933
505
38
327
590
199
881
431
383
99
368
625
743
888
244
573
803
39
136
435
951
880
151
596
741
872
942
46
69
780
815
997
358
353
608
90
670
163
262
523
711
572
306
930
352
771
136
272
97
175
525
433
413
141
314
715
392
97
823
827
239
702
165
386
377
652
984
327
715
268
899
460
640
163
233
766
896
799
0
563
239
697
735
121
986
304
810
954
853
299
588
478
205
951
595
907
151
303
247
182
738
760
334
896
986
711
78
888
901
950
633
887
882
104
268
184
280
569
991
278
706
319
136
156
944
790
247
225
260
152
95
613
724
566
175
163
42
362
430
399
10
52
241
950
333
561
63
493
644
333
892
836
884
772
43
557
268
541
123
825
674
917
941
315
996
465
965
307
421
887
489
628
199
726
473
478
182
385
405
265
114
839
460
810
95
407
543
787
496
170
412
154
503
802
357
485
147
828
595
643
976
684
78
777
56
134
332
533
883
472
583
566
443
213
658
214
680
78
226
159
834
962
735
290
4
604
231
827
238
28
316
471
17
163
15
203
488
330
974
398
704
963
178
613
652
373
977
530
882
863
125
326
512
180
919
189
902
448
550
565
69
143
422
337
342
307
137
582
99
47
564
468
863
951
984
344
811
749
440
585
616
793
345
972
477
105
498
534
379
790
373
464
601
124
763
421
954
911
518
867
914
249
165
732
84
259
529
800
992
568
958
500
800
715
871
237
126
677
117
471
732
977
994
400
449
276
678
434
89
696
971
683
577
335
941
883
766
969
395
35
334
386
570
793
407
513
408
41
662
803
248
322
77
614
814
529
923
164
68
751
238
248
87
148
675
679
909
108
703
540
168
595
42
305
957
739
946
636
672
6
545
221
639
883
660
451
791
469
305
891
925
894
225
46
989
240
185
494
307
284
900
862
936
754
79
193
724
813
361
170
22
68
698
414
686
816
627
622
627
563
879
337
379
392
821
667
549
520
898
550
803
70
314
567
46
403
304
620
582
124
766
740
538
296
443
263
611
7
595
303
352
634
363
980
791
477
385
510
154
835
385
281
500
928
927
706
499
37
679
661
795
653
98
29
122
468
893
230
484
167
854
172
257
889
276
826
842
362
958
806
4
581
403
585
742
4
641
865
928
740
553
418
25
28
908
275
84
763
103
870
152
934
548
731
628
809
997
865
229
352
621
399
303
454
314
115
411
334
725
43
308
843
511
578
83
442
806
333
221
165
9
368
879
354
577
124
250
330
563
960
42
574
204
703
161
844
830
20
233
30
518
15
910
286
415
595
724
427
536
500
628
0
245
998
766
279
206
247
618
899
401
555
786
233
380
215
186
297
850
847
493
37
901
64
554
566
132
827
504
188
419
212
39
387
512
881
214
508
773
899
216
431
87
871
473
607
750
774
210
542
769
759
749
175
192
681
563
646
45
680
869
543
992
188
956
430
861
574
164
817
377
502
249
20
895
391
268
353
809
651
361
208
343
62
160
140
897
880
110
54
99
135
149
581
190
466
682
99
424
628
318
220
66
425
825
498
58
476
720
589
479
819
858
95
306
872
287
163
97
319
841
445
719
81
702
130
765
869
245
93
264
926
74
850
862
704
621
327
376
865
686
643
506
300
170
991
961
5
259
679
922
726
519
528
109
208
824
423
138
470
62
153
730
936
123
560
987
693
599
951
139
117
873
969
732
238
11
924
285
226
232
506
308
658
759
217
577
360
352
500
351
640
287
54
507
897
46
877
83
539
413
770
561
90
876
615
157
859
941
488
888
755
458
961
208
653
924
764
12
142
999
771
311
333
717
957
529
146
948
994
443
387
150
146
25
635
856
272
82
112
476
149
326
356
424
914
925
281
35
529
892
593
614
672
957
244
260
625
935
319
475
530
310
694
810
773
614
506
124
50
141
501
939
456
377
612
901
807
522
329
333
44
835
740
849
275
174
610
79
264
715
407
928
450
534
649
768
288
722
977
685
299
750
435
525
215
963
957
80
136
938
598
927
830
629
730
703
458
533
62
751
150
740
501
579
590
982
456
960
590
324
301
43
783
906
644
694
522
752
341
840
326
704
249
327
333
981
135
473
556
983
898
246
21
594
595
244
930
233
350
800
500
122
81
450
669
656
512
12
743
333
932
364
464
830
365
164
485
533
970
231
408
710
445
639
930
175
790
119
594
611
906
602
248
79
317
805
735
861
617
147
185
417
888
68
455
498
505
439
974
530
348
573
444
233
615
367
281
132
735
210
489
424
768
184
862
788
276
784
60
224
830
840
172
605
843
318
257
211
256
979
937
562
195
57
558
621
309
701
902
522
306
874
24
700
905
392
638
684
41
845
702
96
531
467
566
128
605
674
122
626
646
548
400
678
606
168
793
1000
110
653
321
924
416
635
692
814
671
907
318
219
738
274
870
186
341
487
276
213
157
879
534
326
288
56
929
534
232
566
730
705
376
871
597
97
86
51
238
978
962
821
987
753
529
555
36
299
316
175
929
697
841
644
916
441
755
766
427
599
163
338
115
537
615
869
256
165
310
216
96
279
371
202
558
15
49
802
522
1
832
8
515
32
959
774
826
465
938
597
256
478
741
649
135
826
858
5
52
714
449
353
347
348
320
134
211
400
13
317
451
109
683
358
991
52
971
688
123
460
654
711
292
90
312
152
265
192
320
352
116
904
197
990
818
522
974
522
839
838
785
531
400
237
542
941
952
75
952
857
895
57
79
258
11
363
737
451
616
742
590
939
397
271
20
707
466
809
697
414
435
125
626
639
532
698
931
653
430
989
868
971
209
745
64
56
492
95
771
679
954
369
19
77
737
499
264
492
74
349
526
598
651
73
935
762
765
85
131
416
140
726
116
816
558
426
925
295
635
730
35
538
440
455
455
19
669
338
180
372
527
234
423
780
45
390
543
199
983
777
610
574
687
354
446
604
627
174
921
615
172
704
430
273
781
413
800
642
174
225
930
710
261
791
443
428
280
43
900
435
82
408
639
469
257
319
0
913
802
130
720
72
47
24
399
76
522
500
485
836
463
250
515
11
352
521
373
515
376
361
545
735
127
145
354
896
207
150
783
523
661
652
154
324
278
794
244
84
789
588
570
839
656
984
471
955
168
455
410
918
605
831
951
969
753
648
479
139
913
1000
273
53
995
625
156
512
139
3
920
981
537
949
461
530
538
569
157
789
850
194
617
566
445
874
540
139
753
240
729
46
843
819
548
623
963
582
301
48
94
872
63
143
203
759
513
423
637
918
353
827
83
84
786
892
686
619
473
50
922
249
732
758
801
766
738
259
142
865
371
861
870
880
116
722
487
534
78
198
969
800
957
357
789
820
257
723
960
997
706
735
706
628
522
679
611
963
655
147
511
498
511
546
519
888
954
622
963
14
408
891
227
59
704
279
477
928
488
838
743
396
97
179
738
681
469
203
684
599
144
233
719
364
642
996
466
58
476
405
480
216
752
291
32
856
788
226
345
699
15
439
755
128
959
118
976
75
500
558
736
420
591
26
615
227
753
451
674
11
721
143
385
556
247
771
587
945
269
432
15
330
495
292
628
541
185
233
966
180
134
501
876
731
158
598
836
373
909
704
934
101
781
417
905
885
892
214
930
59
305
119
681
784
332
778
191
991
685
82
710
485
226
50
395
758
54
137
0
376
467
699
243
486
683
723
555
696
274
887
642
912
683
335
467
967
726
515
406
939
664
70
756
231
801
274
563
414
46
596
777
67
517
566
460
887
20
710
977
95
537
204
387
820
914
265
199
717
865
874
699
984
739
125
101
794
321
785
31
299
53
911
960
869
286
40
783
665
264
759
837
899
67
535
737
665
591
892
850
766
17
537
258
531
637
488
157
255
330
362
977
307
446
730
721
485
350
1
198
481
671
255
855
548
715
376
606
473
370
972
271
207
941
263
50
126
138
637
297
460
822
847
868
576
618
366
415
449
697
171
825
429
218
12
495
624
771
378
281
449
855
947
987
900
335
808
14
550
371
561
854
617
958
560
893
254
463
528
729
575
23
860
803
250
466
576
105
817
278
312
486
288
745
919
734
611
941
55
297
543
417
318
124
259
626
373
111
346
524
308
209
174
494
603
515
753
5
113
60
560
235
300
473
554
862
512
896
764
356
377
614
712
309
692
648
890
418
613
675
380
54
637
217
437
602
845
147
713
143
569
72
617
194
532
369
296
564
564
618
302
675
907
166
538
91
215
692
394
215
534
539
374
930
482
382
555
387
670
13
246
537
705
127
197
41
469
365
871
542
824
860
927
379
733
74
218
279
301
599
733
454
497
143
257
953
627
762
529
913
939
962
22
273
303
87
425
713
757
631
26
88
31
589
841
118
441
325
272
488
462
503
706
503
98
998
46
20
113
522
606
742
880
679
639
96
173
347
464
726
623
108
697
980
364
808
805
128
844
760
20
284
793
582
997
251
356
14
487
16
60
30
842
379
732
308
51
268
605
260
644
80
777
789
288
34
743
999
199
280
482
424
876
195
535
533
318
329
628
283
524
618
710
288
266
779
526
193
172
507
221
412
433
472
963
685
60
56
431
97
774
218
682
226
652
576
691
691
844
378
921
407
76
772
504
738
797
952
923
354
727
503
229
503
545
725
190
462
518
575
579
127
888
636
283
137
358
202
594
455
636
372
948
791
810
862
705
319
700
212
629
3
402
40
82
98
80
935
283
812
87
15
620
64
639
573
289
85
904
508
856
94
333
172
793
675
317
129
208
770
1
404
316
569
238
80
741
824
222
579
974
248
933
197
974
436
464
744
752
797
327
577
209
139
779
393
305
945
656
752
993
855
61
506
184
235
500
20
96
130
883
485
61
4
973
938
491
690
318
190
345
989
773
231
847
360
82
452
645
87
736
150
118
497
528
329
861
702
488
24
917
458
767
891
686
14
832
461
671
690
994
116
219
109
189
15
363
447
603
426
528
630
96
333
682
391
963
649
827
314
308
470
46
251
944
466
730
216
234
798
139
285
1000
63
673
298
723
901
947
393
314
896
566
977
926
443
417
622
260
331
97
118
223
155
380
479
539
209
286
188
908
796
426
725
958
669
290
752
270
926
478
876
442
654
951
413
150
147
459
166
14
955
695
784
472
307
466
381
937
914
31
180
710
380
619
766
308
588
445
367
858
452
119
334
715
743
412
2
498
26
298
334
337
661
313
654
818
38
850
239
759
197
112
947
902
274
14
942
651
461
928
527
575
804
964
808
728
465
758
598
440
908
549
51
145
805
261
808
200
45
410
294
605
380
954
177
406
154
217
541
889
883
730
462
441
253
849
548
496
586
470
95
708
835
10
237
451
58
847
832
301
632
357
149
992
191
470
69
311
152
598
74
598
767
601
318
982
366
460
752
394
993
466
892
980
781
508
453
683
985
535
986
200
415
78
218
723
437
781
460
160
498
956
718
135
136
498
517
818
223
501
996
789
463
980
754
332
985
885
703
370
929
852
904
674
753
695
493
910
219
349
495
467
680
763
491
626
571
315
524
867
938
29
768
281
470
116
506
392
139
889
229
630
809
555
131
120
501
836
148
678
448
403
854
77
396
405
6
493
711
614
505
472
977
735
702
112
373
195
453
576
584
561
663
952
926
417
99
729
128
297
933
237
696
723
847
363
978
893
874
872
202
354
794
167
283
120
580
364
824
417
393
549
618
631
146
478
857
182
857
829
6
41
759
271
194
542
196
115
384
860
656
456
779
845
3
3
178
429
284
456
770
725
332
378
739
415
792
705
364
262
978
678
422
645
357
970
141
429
382
425
360
262
122
103
524
689
531
690
631
995
828
827
870
823
84
535
900
880
951
702
666
321
814
794
137
849
481
878
928
870
200
340
90
155
609
588
187
923
93
184
356
607
622
113
172
660
132
942
522
225
990
296
341
786
100
822
282
915
63
401
394
603
181
519
271
896
34
297
452
558
400
441
22
642
76
915
746
637
359
668
271
111
996
907
648
446
26
32
788
992
661
115
426
774
290
543
763
969
462
160
658
129
688
226
30
771
832
971
477
357
739
502
132
85
931
264
219
95
655
277
972
671
789
809
815
281
283
201
412
337
365
170
464
280
591
213
2
943
613
106
902
56
643
20
966
626
802
73
989
282
570
427
251
671
43
618
271
635
691
241
145
92
931
446
312
49
412
752
931
743
390
695
122
428
532
48
181
206
908
239
784
501
570
345
300
356
277
412
333
712
724
378
259
15
794
801
754
824
597
176
649
160
372
283
453
899
237
365
597
558
567
106
92
349
814
667
371
773
39
292
670
55
684
721
51
795
692
501
125
107
174
983
4
529
888
455
28
430
324
195
78
485
314
331
482
251
461
29
515
454
715
382
679
253
247
21
971
660
936
111
435
586
519
407
91
486
353
634
561
917
422
251
629
566
417
849
178
653
860
795
920
469
304
924
378
271
738
907
264
529
688
764
140
98
903
110
115
31
453
339
715
360
690
897
555
804
374
572
163
867
416
61
900
0
75
417
742
614
395
595
465
100
96
810
853
857
912
324
37
874
626
519
708
848
190
408
142
950
661
926
263
360
561
277
357
275
496
213
986
548
636
820
963
670
865
710
205
450
831
86
92
336
675
317
960
985
327
312
814
343
712
651
467
479
97
807
492
444
329
697
918
788
226
308
649
317
127
137
257
479
625
814
960
477
363
513
551
621
284
257
349
567
507
797
446
445
949
702
95
260
272
331
847
797
264
718
360
459
180
405
557
162
932
439
442
926
160
418
821
698
113
496
923
638
298
738
578
241
487
15
382
657
314
471
538
439
377
679
430
22
423
92
636
832
309
280
131
150
248
904
82
972
98
313
651
771
765
677
419
784
642
860
608
645
996
409
747
850
17
31
2
335
831
190
632
712
562
119
913
54
545
255
522
243
485
866
577
902
607
261
371
53
205
957
271
90
66
272
325
908
800
960
938
877
696
348
867
605
179
751
666
214
801
113
167
359
178
804
416
584
430
667
646
967
535
468
186
965
450
580
389
889
925
319
240
929
209
119
586
285
648
83
524
92
931
76
934
936
938
459
268
760
721
63
812
344
488
583
873
463
885
806
830
139
485
241
73
13
939
666
457
276
894
303
374
645
956
89
788
362
210
237
267
356
516
494
391
106
695
359
407
900
904
502
88
838
712
388
979
161
57
848
10
2
378
878
860
627
182
87
707
270
668
521
428
184
702
164
575
633
450
526
955
402
886
309
55
398
919
76
648
560
98
775
302
210
442
997
440
41
422
709
524
437
229
746
916
931
393
512
123
673
329
355
551
471
570
417
396
355
767
394
208
582
997
668
85
756
346
327
819
831
575
700
937
913
917
748
131
416
880
816
627
812
373
316
594
401
528
84
2
272
727
363
596
755
108
762
253
956
784
673
132
317
966
854
576
426
135
406
840
748
818
304
330
25
31
370
671
821
218
413
939
988
343
231
372
320
376
190
223
901
941
713
866
917
355
77
877
151
490
250
408
844
291
22
199
442
360
335
92
978
307
938
606
162
447
821
870
624
960
184
235
672
855
816
44
879
803
90
805
854
10
762
252
927
783
29
387
945
984
330
31
435
36
113
663
870
609
925
290
430
15
333
203
761
286
590
388
600
903
786
681
222
314
405
150
540
435
464
350
145
923
889
836
582
397
908
33
589
159
283
372
360
824
305
976
393
529
668
813
478
903
835
980
248
157
54
664
955
153
225
281
814
547
149
211
589
252
52
28
464
199
511
977
622
787
201
619
936
353
297
389
226
18
898
394
112
525
781
960
552
106
68
853
748
151
228
730
699
501
340
895
787
626
626
269
925
812
244
399
314
626
841
808
662
944
886
506
385
419
939
708
336
60
715
183
846
141
521
976
430
314
626
11
335
82
913
22
347
572
506
212
384
155
275
30
992
652
85
94
813
269
137
702
13
754
306
780
459
654
55
452
436
128
500
441
509
235
970
578
704
141
862
112
93
863
34
14
872
828
52
799
692
924
868
806
378
491
550
720
682
361
915
738
958
712
359
477
824
218
25
93
65
574
205
940
299
529
280
926
242
90
863
8
74
735
324
230
257
798
197
624
983
801
157
638
536
544
841
668
223
609
436
581
902
413
638
772
664
229
970
602
332
893
697
455
364
571
972
804
164
322
288
176
657
505
3
998
63
456
758
909
645
869
665
499
724
917
673
731
672
80
917
227
356
743
567
974
494
714
839
197
854
938
648
336
358
1
603
268
120
330
230
344
328
520
695
563
655
875
333
317
799
944
381
420
602
591
612
740
1000
371
985
45
465
234
458
36
908
905
902
482
411
851
863
664
504
615
661
243
182
717
328
259
649
369
220
300
789
430
200
689
638
4
881
347
193
612
105
954
972
407
352
60
708
701
736
179
966
811
779
788
822
805
717
446
401
185
109
595
272
154
533
31
553
45
651
677
833
529
973
333
247
279
196
151
308
115
809
897
371
496
404
757
570
793
513
35
692
802
231
17
721
901
524
415
637
984
221
6
514
775
666
192
650
128
553
816
429
170
316
185
975
916
552
424
497
853
322
169
703
470
645
615
787
152
32
285
27
569
79
79
263
515
876
711
213
252
948
487
576
658
18
343
423
531
809
946
143
783
273
142
398
324
316
996
232
558
392
93
644
27
958
51
113
625
780
105
638
797
608
483
30
863
721
195
116
85
784
411
399
33
927
456
771
595
270
860
246
698
574
492
251
397
803
481
570
188
236
487
80
852
268
519
410
77
265
790
574
561
38
429
375
834
468
138
745
379
916
386
960
990
661
370
178
558
430
551
944
207
977
238
109
353
399
76
635
87
322
209
860
566
166
395
977
763
863
332
352
472
428
648
571
504
488
485
37
265
628
469
576
336
692
536
282
20
724
131
509
334
339
125
343
985
918
596
489
317
94
196
306
502
449
662
483
178
980
111
810
90
166
714
809
698
520
860
237
431
789
120
584
695
866
357
929
342
832
161
514
571
991
618
210
435
391
602
933
12
173
707
191
7
815
156
777
633
543
837
582
891
235
994
219
356
546
160
558
865
820
210
925
551
122
806
309
759
633
164
706
14
21
880
280
419
3
74
992
5
885
521
758
745
489
113
711
24
532
806
170
592
207
254
385
25
326
307
848
803
147
391
697
513
57
584
556
435
670
706
548
109
767
152
909
527
791
587
260
773
320
895
520
293
519
171
788
24
895
49
499
655
605
31
573
337
547
20
130
810
24
410
369
198
243
704
678
549
322
917
790
187
364
387
116
911
573
606
607
244
861
70
515
16
654
958
900
257
946
841
826
941
704
340
383
360
894
786
399
755
263
71
760
109
212
481
124
112
977
260
723
477
433
653
720
125
267
485
708
892
46
61
597
372
713
496
509
579
956
816
279
431
197
610
800
753
430
212
79
427
318
932
292
52
928
236
43
38
762
73
281
824
217
465
349
112
443
527
434
73
732
99
783
52
178
667
576
473
898
991
588
463
379
348
854
46
762
416
338
536
464
163
520
211
852
655
302
969
589
938
251
903
918
152
525
308
757
103
678
246
411
592
0
624
746
221
362
262
541
671
718
654
463
89
520
583
455
974
426
40
641
520
443
868
898
682
660
943
118
389
48
825
239
968
968
155
596
616
962
613
73
424
631
371
671
24
253
341
486
905
105
710
912
598
269
169
576
675
331
856
588
347
173
58
648
162
296
982
617
470
382
547
622
254
677
312
825
260
889
264
834
999
771
414
290
442
403
513
306
183
198
46
201
469
574
653
292
737
676
809
628
148
533
21
281
423
651
361
199
379
395
946
534
496
194
735
779
198
409
586
190
349
831
863
535
315
658
385
210
974
150
175
249
297
259
45
608
639
239
622
678
784
232
333
116
33
45
986
967
840
359
31
456
540
502
564
594
949
66
335
652
563
859
622
212
128
954
31
796
212
247
283
312
488
896
434
916
191
187
4
473
587
6
406
739
674
901
507
515
398
998
542
795
916
372
274
107
979
469
84
887
764
75
972
741
182
498
623
258
980
717
596
203
369
918
627
876
483
182
503
397
676
656
542
320
990
76
108
768
341
803
733
308
213
250
836
656
707
138
710
76
282
971
471
826
903
606
848
936
976
227
953
506
744
442
167
927
940
762
11
922
734
630
62
768
704
313
103
766
484
998
241
893
146
738
534
479
880
665
405
335
327
325
812
493
819
860
171
759
644
150
125
648
656
691
815
874
334
505
168
337
38
88
210
140
847
595
864
422
98
278
446
682
398
9
886
909
706
779
477
776
546
876
655
507
318
267
515
718
534
866
37
865
59
55
174
679
475
149
908
259
172
57
526
270
143
772
938
665
790
34
229
546
540
27
61
436
487
747
783
898
188
625
2
964
404
491
186
401
743
221
872
762
877
953
848
324
637
265
219
21
57
988
531
22
15
927
178
410
615
993
342
620
120
827
404
465
192
389
413
949
973
289
61
185
445
470
317
566
549
719
186
278
459
548
687
765
668
171
495
137
615
396
25
249
452
871
875
246
187
262
295
254
882
279
346
739
13
562
90
306
621
119
757
157
121
910
129
288
428
569
220
839
615
103
546
410
201
187
348
478
351
262
947
378
23
881
141
642
522
378
209
827
69
951
693
807
818
565
250
880
452
143
945
516
110
786
808
14
45
984
796
564
256
736
423
843
604
301
668
35
77
428
596
403
221
665
757
754
41
65
749
814
786
185
321
935
691
597
661
450
198
723
734
435
612
953
178
287
327
579
691
984
182
383
284
130
916
632
740
727
763
113
14
303
272
64
186
128
766
59
189
681
163
433
365
770
551
83
38
908
662
832
380
252
418
935
180
128
963
588
439
181
548
983
399
732
596
789
643
662
314
884
746
578
363
444
201
579
1
32
661
636
320
942
362
710
181
544
842
429
123
34
317
522
994
918
820
432
515
797
810
184
983
939
970
460
703
51
465
242
342
314
501
398
761
656
631
314
375
416
480
753
626
355
38
689
442
633
702
302
833
778
392
660
318
935
493
263
842
264
271
836
740
503
73
571
646
552
254
731
692
177
146
717
776
795
790
125
92
914
354
17
710
186
107
981
139
8
887
475
881
202
812
639
887
512
659
920
392
717
621
322
48
43
361
651
318
937
782
133
354
103
278
447
350
153
603
299
570
818
527
76
633
240
680
85
597
156
751
550
302
472
163
605
878
942
463
996
50
509
720
534
976
918
354
206
245
728
991
661
959
762
643
177
711
604
443
591
294
859
468
980
848
966
328
777
203
182
836
195
526
677
877
542
428
436
990
274
226
268
859
499
442
314
836
888
652
861
123
918
585
202
286
538
275
117
297
18
663
590
561
730
311
347
711
145
294
292
191
475
534
502
905
92
814
652
681
658
962
928
417
287
183
267
440
419
307
821
321
18
822
992
701
410
473
657
95
706
785
358
620
88
43
366
938
192
783
643
308
947
287
983
605
822
467
869
823
185
42
620
947
754
652
424
15
969
674
93
431
518
419
892
801
831
501
859
305
341
838
363
575
861
640
192
896
718
527
856
153
706
927
975
150
505
966
152
504
580
280
146
103
377
137
903
58
666
169
558
408
851
373
803
22
127
312
444
528
527
752
51
307
116
140
21
713
933
774
47
920
862
3
799
671
885
354
314
349
452
538
265
106
344
42
24
396
811
211
181
691
852
121
493
187
476
318
408
35
13
727
618
49
474
89
110
798
761
951
721
194
488
864
803
513
131
837
858
670
303
495
164
528
906
931
363
919
146
153
464
234
102
91
487
983
698
45
423
330
753
39
692
967
538
251
350
325
929
951
898
378
730
653
23
305
833
286
712
504
532
597
471
204
949
72
511
338
78
631
657
983
809
1000
653
5
887
356
53
698
197
842
426
971
718
519
380
32
675
217
536
50
161
547
268
621
283
575
564
731
776
600
241
111
704
944
937
89
866
562
184
480
30
764
166
880
63
103
180
299
319
789
819
153
269
884
459
141
889
767
103
970
168
334
451
46
538
183
316
493
817
853
876
583
381
175
709
769
19
447
289
969
205
672
955
874
458
360
239
308
635
795
413
77
790
49
755
379
492
150
205
38
131
540
171
188
127
952
349
34
507
876
486
381
289
461
240
585
845
286
343
870
767
448
914
846
167
726
396
220
571
207
704
362
992
963
12
676
146
545
256
395
510
559
53
516
623
991
615
531
490
169
185
971
36
683
33
896
489
281
408
950
287
312
617
331
9
511
446
319
906
147
4
226
766
781
7
63
686
839
426
567
81
750
698
316
905
664
139
643
419
576
328
461
921
656
465
943
364
900
940
955
244
7
377
997
819
917
367
72
865
577
361
853
481
76
943
395
265
824
802
632
288
738
788
44
976
301
266
42
322
202
102
715
840
403
202
122
204
80
197
265
228
347
667
395
836
861
508
705
279
501
482
138
452
259
502
655
860
443
375
666
185
41
659
34
561
649
172
78
628
557
873
796
970
451
275
84
357
271
18
979
899
208
873
43
397
565
229
498
229
135
560
662
572
480
697
706
355
991
568
672
594
405
998
952
731
354
150
845
176
986
9
246
207
489
476
485
275
92
151
488
779
122
434
232
668
836
376
509
587
295
154
563
194
857
468
972
488
473
40
744
56
614
247
856
813
368
531
999
254
51
195
696
330
618
980
907
783
583
937
384
924
478
108
807
778
382
138
687
259
271
624
657
453
520
750
216
447
239
838
931
549
97
98
89
654
302
92
736
526
141
250
437
752
24
306
724
340
535
745
149
625
7
813
158
703
389
636
626
519
380
23
787
353
437
236
433
318
648
265
908
419
190
278
911
614
812
677
257
970
18
512
217
212
303
334
266
274
482
249
720
501
884
749
948
752
62
48
98
175
629
66
331
22
588
740
162
44
999
651
297
85
399
502
513
604
514
977
387
149
776
659
926
307
930
114
195
270
550
895
275
850
916
945
859
956
776
374
245
11
588
898
630
194
0
606
786
561
602
408
299
942
954
403
138
748
738
253
136
315
0
262
41
920
418
181
603
1000
509
72
823
211
8
562
390
167
630
403
608
99
683
541
412
917
829
934
735
161
93
495
502
13
170
756
688
500
690
104
654
44
855
289
882
803
570
73
453
7
982
296
16
390
268
877
910
842
468
265
917
383
926
769
915
841
848
478
261
157
99
145
560
619
817
972
426
507
17
131
32
403
428
920
808
194
225
570
265
279
331
265
454
959
686
161
598
738
507
929
565
818
226
477
158
301
750
563
993
109
57
987
99
391
782
588
846
657
739
626
120
793
486
840
842
214
435
335
449
139
478
75
482
813
729
141
651
729
847
884
168
498
699
822
190
562
906
368
597
311
94
514
344
657
212
810
885
847
141
81
218
193
123
589
29
533
818
375
39
168
864
215
794
458
76
734
318
169
31
273
283
723
635
13
546
826
225
45
658
718
914
191
772
793
726
221
130
231
586
251
665
256
69
18
74
800
62
849
748
886
88
609
555
349
801
996
772
249
348
12
815
599
482
889
96
969
71
430
146
888
39
452
789
944
127
748
727
671
162
436
275
673
269
23
199
800
426
681
953
798
299
912
307
16
253
825
157
7
823
719
228
532
294
243
695
442
809
580
971
533
144
921
351
527
129
731
660
734
854
476
809
724
995
874
220
260
664
790
598
637
229
982
554
210
164
281
524
494
843
11
973
920
151
992
973
29
777
552
142
140
329
75
387
896
179
112
561
145
145
188
319
645
208
140
650
498
918
485
356
750
998
207
280
25
825
173
387
53
721
671
258
182
920
165
840
116
374
130
781
223
276
570
934
691
745
996
961
537
164
492
45
833
133
114
675
956
771
788
135
21
774
953
202
610
810
830
128
461
587
545
27
629
636
353
948
432
38
428
496
838
455
775
603
639
322
34
487
407
696
522
195
26
722
4
475
566
431
80
267
483
381
792
53
798
965
756
552
566
471
468
292
690
500
346
349
919
171
461
992
147
858
447
208
783
492
239
918
540
9
329
709
289
480
426
534
114
699
747
451
607
90
287
294
250
997
871
132
469
146
948
992
888
360
379
853
539
129
693
242
624
336
458
171
837
817
898
970
176
667
959
469
906
890
380
348
858
406
464
457
821
332
966
554
669
143
649
389
337
651
387
403
617
840
504
278
525
471
80
734
626
171
35
554
243
11
126
515
300
133
978
323
105
316
179
874
285
809
90
241
595
960
298
669
302
989
126
127
359
268
624
30
700
372
997
270
198
312
649
660
114
663
727
31
346
669
887
609
451
71
541
497
974
664
12
566
354
598
700
352
507
917
248
428
404
507
870
802
681
16
239
916
48
878
38
912
391
858
629
959
678
920
20
421
3
592
284
459
586
665
276
894
134
258
96
380
83
448
398
39
388
659
301
709
404
533
563
724
269
561
302
518
906
266
320
529
947
828
688
180
905
395
147
425
511
369
675
133
286
306
954
719
667
71
587
700
478
918
265
621
583
140
402
240
472
960
47
51
343
192
278
295
368
346
967
278
553
87
954
807
63
327
140
981
102
84
939
326
141
200
794
303
695
38
771
710
787
66
73
771
367
428
621
566
413
603
515
971
628
279
793
273
137
689
769
702
682
672
662
250
792
626
335
594
137
630
687
721
638
7
642
909
119
428
147
481
980
442
745
756
220
376
601
359
364
438
164
777
286
274
856
990
404
397
781
661
170
255
550
727
178
364
453
789
113
443
432
402
124
271
393
779
363
571
499
421
98
649
227
317
787
346
403
793
223
523
106
940
452
281
506
165
192
468
692
482
169
304
658
821
419
734
150
558
66
365
966
278
882
420
868
590
922
728
265
496
753
887
468
756
997
963
370
4
515
270
88
318
75
24
709
693
271
164
500
19
122
965
875
319
457
100
782
891
745
948
95
909
416
449
716
785
818
692
357
131
689
401
347
451
344
643
159
498
813
113
686
292
406
283
658
498
633
141
248
38
644
562
22
902
723
547
695
993
94
277
634
338
617
837
344
651
72
137
111
516
383
310
422
733
693
403
396
240
572
818
647
904
742
155
383
49
171
819
869
690
938
296
266
49
563
514
684
752
454
173
452
848
175
697
518
781
612
737
786
118
315
649
231
48
821
53
655
814
435
349
830
445
408
361
119
845
765
514
11
326
880
305
574
241
482
112
71
312
474
399
340
216
639
851
532
925
953
733
611
138
61
252
638
716
665
754
882
901
884
39
633
642
703
265
659
710
781
937
305
915
851
230
112
118
755
762
920
546
580
849
755
739
61
862
869
378
905
393
813
353
154
204
316
986
675
871
767
744
884
786
933
87
693
350
62
340
799
638
937
998
947
559
198
429
173
585
267
302
414
894
776
153
127
283
20
991
124
152
31
627
691
443
542
896
939
684
718
734
199
602
435
295
786
54
628
256
928
564
555
893
16
108
584
626
623
332
784
799
169
288
658
266
682
167
285
442
783
971
918
66
657
486
628
251
437
291
223
937
932
70
667
107
758
92
443
189
213
919
45
485
518
879
485
150
665
343
102
744
50
767
710
659
940
227
28
854
217
59
253
852
512
64
165
423
228
534
300
106
675
504
540
933
180
108
932
256
650
887
672
123
807
208
837
218
456
116
527
884
550
579
874
939
991
116
286
785
279
839
708
780
865
977
796
593
592
429
453
643
759
549
330
242
795
738
339
711
540
169
320
60
526
614
742
679
14
159
590
589
735
878
545
537
928
44
215
857
965
107
879
756
836
63
542
707
704
412
15
416
341
390
614
141
6
802
152
955
840
148
471
178
937
632
940
224
433
204
208
477
366
167
150
267
350
415
25
234
233
164
807
191
589
624
529
125
594
291
275
382
39
887
915
261
197
269
783
213
576
68
88
740
807
457
568
80
311
576
488
882
764
145
21
863
34
80
700
497
845
55
435
617
410
874
459
273
956
733
739
438
648
645
366
975
166
920
970
658
651
289
741
315
821
144
125
604
430
52
739
150
868
590
173
804
874
311
599
808
457
681
469
517
453
936
364
882
168
533
603
644
134
332
240
542
904
417
861
41
595
154
241
940
711
314
732
163
764
973
725
892
689
473
370
428
575
905
285
492
252
936
589
597
161
298
677
917
138
884
821
358
835
81
910
625
270
801
942
139
892
360
441
739
690
48
481
86
606
389
12
744
44
190
575
798
830
313
726
608
46
286
423
464
590
918
569
397
72
640
368
239
871
735
691
277
136
464
320
897
808
717
843
133
478
116
619
974
770
977
424
766
529
635
279
259
655
490
603
608
586
948
244
583
351
753
241
711
968
707
334
604
531
534
358
634
837
577
307
962
276
344
760
278
131
28
135
836
263
183
441
948
63
705
656
936
558
345
924
447
693
479
640
618
90
589
537
886
725
107
725
236
828
63
799
472
427
92
280
135
322
278
150
748
405
793
37
699
372
321
714
271
647
85
974
853
483
873
403
91
455
917
875
59
542
936
69
916
234
894
450
934
865
541
848
155
229
688
492
623
968
88
798
944
553
568
149
98
583
37
364
628
485
785
597
35
189
718
73
147
299
632
513
293
983
564
354
551
10
447
763
396
947
3
16
957
487
268
392
289
924
602
826
889
605
446
833
398
977
359
165
36
563
248
677
902
536
758
522
779
566
597
920
335
734
511
927
185
699
509
701
506
815
186
579
748
403
429
571
452
108
843
416
18
417
200
882
23
317
436
463
579
847
488
547
59
233
125
602
479
391
845
740
392
455
983
835
590
910
287
890
361
599
256
863
760
430
650
829
26
874
732
35
981
889
299
752
187
326
501
789
11
42
690
177
388
381
73
160
907
208
544
165
350
328
19
271
801
850
303
461
822
548
480
273
383
323
33
779
945
941
203
948
259
503
688
873
109
459
849
916
802
997
905
708
695
220
87
120
783
129
7
122
773
845
672
407
874
102
176
24
676
933
129
922
601
541
615
197
815
654
360
379
50
153
220
859
16
577
175
412
323
820
653
538
204
451
841
619
314
579
821
440
927
43
217
957
274
636
27
729
273
283
951
302
330
822
590
349
110
98
799
485
188
383
396
558
982
740
932
572
192
830
840
592
450
839
247
147
118
622
526
65
755
680
397
798
895
552
520
106
473
275
64
718
28
146
207
537
913
934
213
435
426
651
191
897
551
618
348
424
19
696
924
414
511
826
370
663
964
858
566
254
288
101
7
905
759
305
457
726
838
776
739
237
190
847
448
26
549
172
509
482
333
247
631
113
232
981
507
71
787
357
539
665
40
908
542
650
402
413
473
540
32
97
13
747
965
140
413
408
837
710
652
94
461
28
522
577
336
905
334
752
598
139
432
533
886
315
382
120
682
876
275
843
342
247
529
333
422
728
60
616
712
640
377
549
106
35
75
917
718
511
102
94
270
260
118
80
600
179
47
618
89
702
597
501
865
191
874
928
197
215
872
520
989
487
904
323
105
220
945
433
720
605
846
864
842
757
749
895
370
849
828
171
410
208
367
857
520
723
896
781
234
782
141
816
970
13
211
461
693
297
18
641
908
102
819
243
1000
541
557
556
497
769
466
158
372
840
925
242
356
802
131
645
571
664
930
309
976
739
870
403
470
17
799
358
340
819
257
903
93
976
462
420
805
85
867
407
798
821
738
662
875
461
645
558
71
490
387
260
468
199
421
356
767
657
440
674
191
587
141
90
996
102
264
542
585
511
495
259
323
350
134
680
18
878
504
135
207
226
344
502
440
616
958
768
883
992
949
320
887
543
413
304
447
997
626
455
957
486
643
603
259
353
567
594
487
518
60
414
633
585
46
770
251
913
298
553
917
204
405
997
584
277
206
745
603
850
650
87
183
740
336
808
612
976
640
679
776
372
259
816
702
665
252
638
773
207
557
512
358
131
998
979
706
909
717
519
828
540
219
528
107
891
822
730
746
661
418
367
492
650
593
925
928
82
670
945
452
743
500
152
355
411
42
153
510
856
643
624
639
486
445
877
847
461
173
44
534
989
623
490
92
654
767
477
624
21
335
769
561
977
820
647
250
27
79
568
334
613
179
904
509
456
934
976
697
765
406
488
8
754
200
560
810
226
11
748
632
418
43
744
298
781
96
156
711
633
795
99
826
785
237
51
686
874
188
267
898
94
179
988
835
636
24
90
893
481
601
773
80
628
696
126
98
890
35
123
866
347
822
645
976
887
633
64
57
347
262
281
451
123
672
511
662
455
701
529
416
91
477
838
944
835
217
340
929
436
789
387
334
405
51
987
450
18
335
645
962
718
715
38
10
620
539
871
698
26
16
747
9
904
918
695
624
590
538
711
203
775
60
707
541
52
700
451
794
780
978
614
130
90
315
251
248
103
780
724
499
153
35
999
908
800
500
212
26
748
256
109
900
797
344
660
856
627
523
33
774
900
206
897
859
96
864
177
975
893
513
471
421
100
807
473
472
394
811
403
15
300
953
578
395
582
774
791
219
931
549
692
77
312
348
919
896
34
170
414
595
47
86
166
65
764
525
247
530
69
653
578
498
665
964
864
200
793
53
960
790
355
215
548
113
802
350
614
992
656
449
915
550
732
766
96
203
465
117
784
172
746
965
179
143
181
928
806
214
51
401
971
183
521
669
466
884
780
338
394
446
561
981
453
94
763
288
564
317
670
44
798
359
646
291
922
691
442
281
109
228
961
92
261
627
764
239
970
666
436
902
893
208
92
954
695
988
885
706
160
763
550
813
419
520
509
829
939
466
387
695
344
208
729
7
97
179
714
551
324
678
602
22
988
842
73
444
995
437
14
152
861
177
389
45
223
849
415
969
637
622
947
633
96
93
130
326
903
869
908
474
716
57
396
537
108
289
532
18
655
239
853
606
547
465
857
269
659
831
31
671
924
575
160
714
914
879
500
665
688
149
424
485
72
44
541
791
618
798
587
166
215
539
433
163
772
442
96
55
113
56
297
892
629
94
436
166
338
796
81
342
276
206
590
924
671
690
961
752
362
380
249
370
540
753
628
449
42
201
287
241
144
804
530
401
355
304
197
351
938
799
978
497
574
961
594
535
82
668
388
681
502
914
518
14
426
473
399
364
131
241
242
876
246
182
808
681
68
78
154
170
943
674
643
860
619
152
979
68
957
82
503
685
859
978
381
329
107
231
315
881
203
764
707
533
820
340
317
665
861
753
403
62
654
841
240
382
356
682
273
82
688
295
663
317
835
832
108
999
540
645
293
207
863
986
255
35
423
105
133
357
600
701
686
402
541
886
286
203
821
531
455
947
960
188
100
508
139
259
819
475
923
470
576
49
17
744
70
592
824
98
365
896
218
541
685
418
836
195
877
653
753
443
319
125
320
775
605
687
806
193
727
840
904
830
369
539
504
744
748
360
227
512
373
334
736
391
692
638
566
880
425
837
305
618
37
682
148
733
250
430
766
405
274
50
891
241
223
61
596
477
532
61
631
999
495
17
795
560
501
228
549
654
929
414
318
129
681
674
833
462
323
17
648
932
518
848
872
484
394
180
27
913
408
921
237
577
205
788
597
767
839
105
539
878
50
667
942
203
518
702
900
11
917
74
265
374
827
937
730
674
534
321
789
587
976
857
280
95
8
323
317
465
976
562
734
877
329
302
910
51
289
27
990
178
671
734
213
963
465
728
139
438
544
79
837
51
698
277
453
141
773
340
734
522
306
172
328
575
351
175
542
388
654
1000
551
59
20
791
246
323
976
721
742
793
930
500
177
375
920
405
843
938
591
142
225
6
579
324
501
408
544
340
213
475
775
167
877
556
333
45
796
28
696
145
575
445
837
452
961
518
934
815
936
994
707
553
755
545
90
356
340
58
675
997
803
693
488
739
633
406
0
163
837
713
379
940
485
770
303
383
508
69
897
466
113
503
463
478
50
858
963
989
218
820
4
462
89
313
524
776
699
330
236
97
749
815
871
992
544
668
433
631
454
949
551
179
231
673
591
484
403
476
872
471
112
711
579
993
787
596
486
129
717
238
314
811
645
260
583
915
670
216
933
410
211
944
586
238
493
224
230
175
789
599
169
206
613
888
689
945
604
134
900
30
464
376
870
170
847
770
773
77
133
632
104
523
556
914
4
309
263
866
677
337
735
923
58
856
949
790
986
507
731
63
981
69
477
461
172
807
277
96
303
717
714
974
859
752
24
773
490
5
205
932
227
440
246
293
722
209
451
393
75
134
879
889
756
818
689
684
967
972
588
223
110
226
757
478
34
865
624
805
799
446
84
864
453
713
676
306
345
60
214
407
389
279
421
118
964
67
937
194
560
290
844
408
602
877
809
114
209
252
468
704
264
708
219
723
275
529
739
456
786
566
34
93
53
396
432
783
456
483
744
393
269
140
162
804
90
498
194
377
682
575
631
288
956
28
716
99
338
506
664
674
913
358
902
93
99
45
142
505
854
365
277
504
420
475
181
707
718
738
827
905
128
143
331
196
773
39
99
187
829
99
789
664
179
575
879
848
408
1
293
355
708
732
315
475
979
747
24
109
580
473
330
27
897
735
751
28
605
49
404
686
639
826
78
963
421
982
611
498
446
73
678
667
387
418
353
195
654
850
270
79
302
63
898
102
987
27
768
625
2
835
190
266
886
633
40
357
866
351
918
647
160
891
542
464
360
167
860
881
506
192
792
386
511
357
869
733
188
27
891
584
845
375
792
911
456
888
388
156
695
660
50
726
399
269
42
426
726
141
681
689
200
683
639
346
791
720
702
575
517
495
803
315
60
170
775
674
593
675
567
793
893
146
796
191
468
33
205
521
329
516
511
269
423
453
370
733
363
908
457
378
812
120
539
785
649
175
153
65
968
155
52
939
745
620
590
252
258
483
782
673
860
535
589
693
136
27
509
947
74
96
787
605
840
608
112
655
130
654
817
563
526
346
191
534
164
617
698
284
518
438
674
883
652
573
363
443
939
812
827
753
827
999
182
519
892
204
772
829
148
935
699
523
519
345
993
128
732
929
296
333
318
934
411
83
51
298
73
168
114
165
648
733
569
371
835
624
706
213
731
329
108
926
787
201
952
797
213
445
905
781
98
520
623
647
571
968
863
904
364
969
242
727
950
986
522
609
335
5
387
935
78
933
452
343
315
105
615
46
985
330
861
8
0
264
92
566
5
59
550
90
864
992
460
792
170
531
271
813
972
513
8
8
967
185
549
66
110
518
561
462
784
397
283
231
866
927
818
546
150
954
937
604
651
925
634
154
760
587
408
145
305
645
788
572
286
635
966
363
93
899
256
949
606
180
483
420
390
436
670
28
225
780
242
18
997
88
528
232
548
941
419
256
344
811
467
571
838
186
307
940
416
811
419
998
248
246
700
7
240
548
146
614
461
233
526
646
161
160
813
906
173
699
568
856
47
769
808
386
337
614
455
591
831
398
103
857
400
718
395
101
552
348
793
897
877
729
531
52
361
647
742
603
201
0
471
503
181
468
63
792
170
218
621
209
169
151
757
778
758
890
761
647
593
939
557
101
418
186
55
486
223
679
643
778
211
19
880
988
995
638
712
247
71
226
479
951
222
115
598
446
436
279
439
187
192
977
164
419
746
375
292
246
565
319
154
980
932
375
666
155
332
573
211
325
815
61
347
904
855
0
262
391
117
11
942
586
976
318
677
711
780
717
493
5
921
418
408
986
250
485
28
769
441
903
725
28
731
411
733
68
118
311
615
138
876
596
63
444
229
359
474
783
418
402
476
533
984
117
734
644
136
126
763
461
258
641
154
925
873
134
84
689
335
505
669
873
246
709
176
382
432
236
67
317
482
462
544
180
255
413
603
155
609
141
295
960
411
977
653
200
337
413
436
168
23
970
116
818
590
681
646
907
1000
796
175
198
39
632
177
589
759
849
784
967
550
624
30
447
82
165
970
826
159
945
937
931
279
216
82
159
450
586
979
28
348
951
488
261
485
584
700
864
440
738
636
401
678
133
909
569
41
51
470
213
120
392
780
214
73
773
675
882
225
807
281
262
721
503
982
36
542
398
724
862
770
918
474
893
701
943
684
994
307
795
801
320
165
53
984
826
483
286
777
800
243
772
320
286
629
132
504
181
561
329
192
758
57
612
128
994
914
907
696
657
881
881
693
428
639
605
215
820
890
863
127
832
183
808
136
494
1
414
930
830
578
565
532
930
338
732
992
108
899
339
391
826
817
644
176
447
576
230
731
796
698
496
610
746
140
943
866
195
83
674
84
965
57
767
139
724
372
568
65
767
648
423
154
684
3
84
797
191
677
842
300
562
636
188
650
588
445
664
143
57
168
211
559
326
815
271
285
469
918
666
17
679
482
937
748
825
36
338
884
132
94
153
105
786
164
373
702
693
809
776
212
330
495
138
456
523
54
806
918
663
162
100
926
721
837
297
231
120
614
846
365
296
64
185
300
666
805
605
764
602
741
785
1
719
589
583
524
920
5
334
932
631
560
223
34
973
110
500
604
995
514
353
491
492
271
237
64
749
955
996
201
346
780
992
454
494
158
85
918
589
803
661
48
468
906
985
715
430
969
236
834
777
596
890
753
408
242
933
214
779
615
302
922
971
681
408
408
947
96
207
811
38
158
826
969
153
350
568
346
718
112
206
173
942
874
305
387
113
301
259
822
890
281
315
740
701
810
728
56
663
735
937
121
431
130
464
825
765
291
132
370
659
912
879
0
631
198
316
545
68
485
371
14
186
277
781
102
870
950
202
155
813
968
940
164
690
473
946
754
701
713
588
721
645
985
274
813
474
984
16
113
614
170
990
930
644
878
268
533
447
177
231
311
900
866
297
431
689
490
525
450
587
714
859
392
826
701
568
523
194
333
239
399
575
246
157
908
557
102
922
658
295
70
824
412
266
653
264
683
355
365
118
480
542
430
473
274
737
633
789
205
301
447
543
103
156
448
920
948
92
799
929
223
953
56
552
832
607
775
762
674
572
571
661
219
103
369
659
526
751
884
764
563
190
770
531
273
693
601
217
848
165
950
402
500
441
763
793
205
485
81
132
17
219
584
124
164
749
583
627
362
573
907
828
221
130
446
270
887
414
491
912
839
789
977
863
737
567
56
79
949
265
269
420
604
100
323
515
662
527
757
961
933
576
211
829
473
415
123
168
174
99
585
844
599
951
512
605
363
980
491
172
138
29
482
894
408
179
769
393
931
65
819
194
965
823
548
273
832
779
985
928
759
939
717
791
324
653
797
726
313
317
311
720
832
56
991
705
206
548
647
797
673
659
878
496
153
262
607
703
177
640
39
260
856
311
744
403
914
315
165
756
771
930
532
955
188
294
280
897
525
657
569
143
845
544
274
156
301
629
555
928
951
831
359
214
484
27
442
342
569
936
159
777
427
307
96
454
150
512
259
508
449
503
119
191
271
954
712
170
828
954
38
484
150
808
486
358
444
996
653
588
543
955
313
399
238
505
386
161
436
202
315
47
605
162
577
359
784
706
730
433
490
637
567
159
0
120
202
989
996
292
986
421
678
907
699
399
682
176
417
952
985
131
398
703
93
705
832
529
164
508
267
987
319
200
387
798
937
31
736
838
93
117
132
903
919
889
727
142
720
28
392
238
566
668
868
767
118
580
808
32
887
282
615
163
995
136
900
508
510
279
59
579
270
866
709
681
286
425
677
772
964
0
672
932
396
228
237
886
465
31
613
763
631
337
75
245
493
104
76
748
36
261
901
246
686
798
693
280
671
716
73
71
771
253
998
617
899
724
364
842
987
100
555
96
778
52
247
160
160
319
297
656
452
620
807
60
195
450
944
631
1
483
227
361
256
774
8
737
332
914
169
212
103
405
192
335
376
851
332
347
497
9
553
969
819
504
334
829
268
776
384
232
382
868
751
625
62
294
11
66
990
467
406
491
920
66
604
673
610
548
645
696
936
230
307
17
60
82
963
30
333
548
870
482
275
548
255
68
190
586
821
456
75
399
558
510
225
946
883
552
850
499
367
36
851
61
325
840
786
511
688
391
904
862
604
319
273
305
599
494
431
529
871
685
967
605
244
988
553
146
898
586
796
735
826
243
67
13
425
348
741
752
794
549
703
363
771
295
969
91
109
381
137
215
694
147
183
465
197
497
112
27
292
66
463
90
674
178
674
563
27
317
473
129
65
15
972
346
952
789
423
539
684
404
217
989
362
849
471
795
386
567
919
553
710
415
733
504
157
746
408
69
309
627
631
979
590
481
774
31
699
404
942
63
443
661
491
153
468
731
576
179
484
82
254
177
827
971
922
50
532
878
103
99
591
130
650
737
343
400
10
745
54
170
280
794
642
27
957
485
281
480
314
114
213
94
452
826
229
239
777
196
642
373
266
255
647
613
653
383
387
160
449
952
901
918
528
389
248
420
94
966
869
685
284
991
659
638
192
58
192
25
261
727
537
689
150
267
34
884
700
637
142
448
948
410
731
780
234
626
307
411
106
620
254
65
582
279
115
342
100
97
671
76
9
53
641
165
858
44
870
846
55
267
41
753
651
48
995
454
325
655
316
687
334
281
781
838
249
789
729
841
237
941
895
884
654
871
779
529
892
729
178
771
501
728
786
580
41
607
688
751
299
811
407
568
425
543
604
896
327
544
676
678
390
502
334
269
472
421
512
147
439
143
605
683
691
840
63
35
978
584
469
478
142
439
549
862
795
593
761
670
158
520
46
305
305
940
108
48
325
265
291
314
298
591
814
630
429
12
758
73
592
933
903
1
626
459
833
311
748
435
438
587
69
822
103
497
114
94
377
360
866
219
789
657
764
954
988
772
621
722
374
575
54
197
110
512
531
185
752
590
998
959
53
114
837
185
479
248
125
72
616
186
374
538
987
354
725
307
923
460
709
308
878
230
381
47
858
418
378
875
533
858
124
286
541
456
157
419
34
283
550
940
124
641
779
553
972
524
500
266
940
344
549
862
316
83
247
869
676
904
376
166
794
222
285
736
427
108
456
717
500
887
260
698
269
120
355
408
666
521
245
175
342
599
211
66
745
507
975
583
323
66
231
358
918
671
879
231
315
343
268
108
738
543
298
940
947
513
144
299
232
147
931
916
479
673
507
72
423
297
53
636
525
678
807
878
983
943
79
107
883
742
856
176
110
218
405
302
606
966
87
786
577
688
147
58
299
79
659
698
431
594
164
53
585
219
198
340
972
960
610
275
664
521
361
785
350
70
122
853
827
276
850
156
612
975
515
568
304
88
550
886
449
2
978
550
890
274
82
876
445
232
13
346
363
817
115
792
372
781
83
104
803
810
383
878
690
802
280
205
866
413
668
469
93
946
669
0
54
677
355
276
154
901
396
795
759
669
503
143
557
282
473
823
239
663
468
572
148
493
202
274
922
74
208
648
340
885
761
838
678
356
278
125
283
532
555
406
204
131
475
475
168
194
806
178
407
621
490
564
266
476
465
18
725
407
714
864
234
198
680
33
710
670
199
695
272
569
863
790
389
75
283
137
547
46
563
882
333
367
324
560
511
879
633
948
19
735
6
233
737
472
986
575
527
114
381
348
55
857
155
150
698
453
522
802
337
614
530
383
289
18
77
574
415
623
354
25
931
103
871
937
254
514
924
300
738
996
722
441
989
296
460
111
900
474
717
934
498
788
311
204
35
282
279
136
580
476
220
698
902
807
96
64
811
708
243
56
110
523
885
472
959
425
868
566
854
501
147
975
422
243
191
562
97
217
975
937
414
586
82
883
871
209
590
872
272
586
449
792
291
425
865
293
850
827
860
19
901
747
76
779
914
228
865
998
410
51
91
392
942
259
184
937
748
961
550
993
901
256
599
684
911
300
760
69
264
323
888
300
233
288
804
122
510
299
259
442
694
904
405
335
105
174
112
347
387
409
885
533
492
735
497
491
418
455
595
162
363
702
712
347
269
827
889
716
950
536
609
825
211
399
825
720
382
679
748
228
752
553
367
375
962
887
884
200
189
163
594
305
132
979
831
850
474
3
272
762
763
981
614
604
805
897
831
151
820
520
750
969
682
296
559
841
7
476
656
692
75
733
109
393
989
902
572
279
176
443
297
866
376
736
276
981
957
875
293
339
95
961
995
923
331
917
884
8
729
416
300
956
470
406
347
150
828
881
260
656
853
635
724
348
601
82
910
925
494
595
575
859
141
562
69
665
91
491
428
114
977
773
7
857
496
616
806
203
905
352
133
341
501
745
246
58
667
650
314
985
487
273
359
898
313
664
731
718
689
594
499
603
678
489
862
165
897
328
505
962
292
105
185
481
479
73
57
520
655
269
775
647
496
515
215
424
123
413
574
510
226
896
632
106
841
589
363
720
772
975
232
317
891
56
317
1
106
425
175
807
222
707
411
801
603
582
138
803
164
159
524
42
235
345
57
93
573
646
867
829
140
794
377
827
456
889
199
643
940
799
866
530
100
711
828
335
294
23
452
524
295
128
212
955
427
317
630
796
526
233
20
672
924
398
893
265
509
86
747
965
745
475
376
65
532
628
322
936
693
880
880
740
67
180
845
407
262
117
327
712
918
155
538
472
359
430
511
616
175
944
388
118
723
564
410
220
627
727
575
290
43
922
919
755
467
873
393
900
612
915
273
490
984
611
757
351
880
520
756
956
17
246
790
843
847
799
377
358
485
185
873
172
830
954
413
879
430
786
806
919
590
783
406
636
596
811
913
142
908
400
786
896
702
942
680
722
248
618
325
546
924
597
919
896
825
3
397
64
947
41
688
300
207
539
315
183
360
470
688
367
169
6
581
15
931
419
332
850
970
173
807
344
687
438
458
9
700
448
17
167
474
2
99
550
505
578
440
457
605
65
497
305
831
496
572
891
990
754
293
888
789
126
901
154
682
165
819
89
689
513
76
91
363
124
268
627
731
475
510
25
748
803
853
107
84
362
471
73
274
799
73
1000
577
158
394
855
394
351
832
883
856
229
664
940
77
751
976
655
938
31
137
740
685
409
421
370
578
733
687
284
812
541
482
73
616
256
848
204
127
81
141
626
870
114
638
914
574
141
760
962
825
224
911
742
818
61
676
29
603
837
623
258
429
943
786
58
237
107
980
560
45
983
617
270
836
930
407
640
646
216
733
815
93
195
857
756
987
475
94
731
542
432
913
694
579
331
886
689
59
980
505
677
894
596
856
702
155
675
467
792
251
631
87
653
637
597
724
199
105
279
727
214
236
464
412
631
380
656
802
993
912
646
602
713
545
800
736
632
558
716
695
583
282
491
620
637
763
949
123
483
487
75
671
274
258
892
45
529
746
657
453
451
404
981
503
71
142
628
686
125
780
508
440
628
726
137
722
40
78
393
962
183
993
3
172
210
829
988
126
288
754
95
876
409
100
663
485
246
87
1000
57
980
8
131
812
315
559
609
835
373
324
19
460
544
141
235
955
567
233
803
630
50
291
56
454
479
455
772
510
765
207
719
833
464
167
683
736
170
632
372
91
107
76
941
509
430
223
69
202
744
718
780
570
548
889
857
250
994
181
656
280
307
847
244
105
632
180
328
613
156
920
65
853
627
716
596
111
473
85
89
296
299
984
649
971
985
160
669
110
840
211
264
571
869
807
727
850
743
655
537
918
298
915
294
471
825
525
244
865
947
5
234
793
817
155
467
848
514
438
818
653
491
662
333
194
234
535
193
484
880
363
873
304
120
355
813
430
502
762
68
231
645
46
967
603
975
987
76
995
707
21
282
195
342
593
300
162
111
7
47
261
140
867
577
324
348
352
623
860
75
975
731
172
842
384
595
764
885
267
671
124
965
960
708
525
954
361
946
815
419
264
922
2
48
991
428
914
400
927
491
952
447
430
777
156
604
550
228
395
103
148
239
750
67
381
57
316
861
978
151
514
275
268
299
698
283
311
620
616
13
101
614
800
4
216
283
445
846
826
394
393
537
704
628
435
986
391
626
495
679
13
893
642
361
291
421
538
951
562
944
782
373
908
113
208
907
901
51
520
839
427
773
213
861
785
163
876
535
484
513
664
321
576
384
184
68
380
752
415
760
791
537
73
247
645
197
855
969
886
477
511
781
938
162
49
577
182
303
290
527
772
838
942
74
922
107
602
89
365
748
450
910
876
638
364
437
584
594
171
840
85
70
587
661
900
572
29
22
428
785
287
655
150
585
955
269
831
106
275
836
616
16
947
185
662
151
692
370
15
840
617
788
534
481
984
539
251
476
377
77
0
680
609
896
617
627
275
577
987
155
106
354
679
499
914
494
960
990
81
765
60
664
631
164
389
711
499
828
809
291
321
142
426
406
333
114
915
345
752
375
455
576
973
149
17
209
287
243
957
390
625
795
982
307
738
744
171
481
976
370
464
256
557
32
3
687
166
132
42
601
364
807
853
101
155
941
6
918
688
874
985
765
928
624
65
310
382
671
294
836
815
962
120
655
939
203
861
915
437
996
425
913
951
445
322
49
992
286
366
188
640
531
831
558
285
536
189
769
622
722
983
677
991
768
87
36
285
804
303
151
23
482
823
677
391
992
108
979
798
570
541
635
568
395
402
377
842
120
930
169
310
117
580
74
118
213
663
844
473
535
224
256
758
42
553
778
630
788
613
385
354
842
337
282
507
372
764
356
21
831
421
772
192
837
133
548
374
191
145
808
655
785
559
962
328
868
200
481
644
273
14
883
455
325
986
693
843
396
43
251
519
152
615
98
155
252
210
526
486
394
470
748
95
872
431
130
583
488
116
877
760
896
398
777
924
296
129
14
626
633
580
731
45
791
890
733
814
567
221
473
357
944
976
568
195
247
824
339
891
365
876
650
295
574
666
107
104
951
724
286
381
952
362
732
293
398
822
530
346
301
9
967
522
580
370
830
277
493
23
377
163
551
205
418
252
347
991
370
188
156
148
958
465
842
952
392
321
766
954
914
810
585
581
977
663
95
424
873
461
653
950
492
271
21
750
482
975
833
128
539
1000
618
823
738
446
36
851
876
91
326
726
448
829
180
848
842
167
809
605
186
732
255
402
202
7
263
446
152
906
127
402
964
184
929
275
499
766
244
175
337
244
300
865
411
273
841
155
480
689
993
426
385
886
387
480
567
78
480
460
754
48
139
522
326
562
515
425
286
858
467
134
939
685
956
725
964
572
440
452
191
618
16
718
715
264
725
874
785
112
479
259
762
398
520
812
315
657
567
987
254
103
694
64
456
803
312
33
272
198
597
853
955
52
495
604
614
799
560
947
81
67
464
959
152
94
359
46
437
158
221
661
546
634
892
114
874
363
314
275
716
489
489
465
858
862
636
220
866
107
612
517
173
390
391
373
705
698
301
531
82
433
587
998
654
459
123
664
124
100
873
425
746
295
618
685
21
980
960
599
852
47
102
354
428
623
843
699
420
750
158
176
294
121
266
880
748
542
636
470
674
780
849
281
753
406
487
410
719
465
270
432
455
60
269
51
632
464
285
907
128
221
834
546
544
769
818
191
676
339
367
687
132
477
159
6
985
663
942
941
521
973
549
197
466
167
973
189
510
737
707
622
429
152
324
525
289
834
979
579
194
122
134
672
487
454
164
322
890
895
387
954
857
509
581
696
874
260
559
495
596
75
74
313
731
102
887
554
274
465
942
463
722
526
74
228
491
79
377
793
219
42
826
599
116
69
902
937
815
602
723
165
680
819
69
293
508
54
938
344
164
107
661
525
679
888
37
375
422
567
834
532
916
28
213
249
445
284
22
924
13
272
745
813
29
815
403
691
424
510
391
814
446
420
772
982
767
995
494
123
195
833
904
948
111
668
275
929
535
598
896
242
282
304
128
542
896
277
198
16
178
248
34
666
234
480
277
325
551
545
897
433
16
302
701
715
758
401
192
942
334
727
416
940
212
21
719
597
96
461
842
977
308
550
692
10
415
690
203
803
698
476
58
407
112
964
83
303
570
81
692
892
564
871
360
667
504
398
690
18
148
308
422
301
481
330
973
177
405
548
428
486
934
360
22
416
476
323
556
890
528
31
460
929
954
692
954
767
636
158
575
909
285
951
861
908
870
233
769
611
697
540
332
149
409
263
62
727
119
216
146
150
180
260
658
987
452
197
988
652
719
46
948
419
883
542
114
213
797
821
949
66
646
587
585
749
219
86
36
308
287
694
645
752
739
74
461
470
189
125
726
345
525
488
160
202
689
106
195
964
978
218
68
895
470
621
353
119
210
298
461
193
365
605
891
242
302
295
210
126
393
746
722
158
958
258
941
901
746
320
941
448
215
43
311
633
88
659
138
518
5
451
229
990
814
779
296
429
782
368
923
538
525
548
728
757
732
101
22
699
906
911
336
621
668
688
999
773
633
664
83
735
889
920
741
88
990
602
420
315
930
248
305
412
854
461
993
782
753
253
6
242
672
947
864
825
390
946
202
929
383
634
634
840
913
403
129
907
786
488
186
822
777
821
163
241
472
260
740
420
26
670
718
36
950
483
48
320
420
176
99
910
904
860
729
357
448
270
324
154
642
974
550
201
33
591
487
240
723
842
621
770
463
83
457
9
106
906
513
947
275
544
19
346
129
907
857
906
607
907
298
340
562
379
654
103
721
606
892
229
710
648
197
569
130
199
446
413
420
868
224
579
841
937
802
145
319
753
345
483
224
674
856
919
847
123
461
269
990
221
865
224
925
163
671
659
893
759
544
515
630
837
703
677
61
908
398
349
262
963
941
100
975
986
802
714
880
261
554
282
973
55
983
692
679
901
647
933
845
730
255
364
751
588
97
216
255
577
781
938
377
376
32
957
449
404
298
999
374
590
711
704
181
805
992
714
856
304
530
870
874
810
490
90
604
308
598
391
554
385
643
970
843
917
766
565
490
57
99
883
385
832
956
419
43
885
660
58
114
386
240
634
455
975
361
672
880
682
36
920
159
243
405
250
571
674
935
425
463
955
279
848
532
481
145
773
132
995
482
997
478
17
976
399
893
865
987
359
279
892
518
582
544
575
859
588
299
129
1000
900
515
145
915
318
237
740
675
407
980
316
163
552
231
512
191
29
265
413
590
253
379
948
77
703
285
661
802
396
713
365
84
177
741
487
92
188
0
940
272
259
285
734
30
239
275
220
773
515
240
917
862
189
464
268
997
484
882
902
32
106
173
354
939
931
404
403
20
79
636
671
183
465
729
22
107
199
428
27
525
786
332
181
594
902
805
269
930
626
382
447
965
989
455
368
776
877
362
555
819
871
866
47
867
579
699
678
577
704
458
359
315
290
742
396
583
413
921
997
941
50
310
380
595
862
128
890
329
734
188
282
676
702
151
56
389
91
648
326
801
277
294
300
22
90
831
213
988
382
803
982
791
385
24
541
257
153
901
82
694
693
478
602
188
381
791
954
133
470
707
848
947
815
100
298
357
765
139
362
177
71
538
56
591
598
85
714
455
240
813
978
451
48
198
296
267
945
812
368
641
280
592
802
103
735
89
794
552
911
503
349
532
406
321
532
809
734
722
817
547
316
771
151
326
584
950
133
367
333
217
647
615
743
679
178
316
787
275
258
828
329
554
944
364
899
169
431
667
939
899
57
801
14
140
146
718
457
836
308
858
862
595
116
119
291
20
298
892
142
607
18
208
298
389
641
607
240
555
984
215
832
39
576
996
924
599
131
785
358
27
379
854
749
106
92
31
438
172
18
190
227
483
309
576
105
905
559
329
478
869
420
211
824
240
589
625
785
80
86
373
225
357
95
321
459
799
38
770
775
778
362
229
975
544
550
234
587
35
456
888
288
774
25
338
205
153
56
820
979
419
541
835
105
344
18
133
949
455
251
963
474
214
211
885
864
427
523
186
702
16
721
939
236
509
444
58
267
81
684
236
338
548
259
521
283
19
623
329
454
697
625
346
276
576
783
831
643
949
644
924
553
944
546
277
977
276
499
734
576
207
62
545
512
276
411
471
541
35
392
489
865
976
736
963
913
411
883
349
411
222
838
490
814
422
737
187
505
618
506
451
328
31
797
675
246
86
379
901
831
414
81
948
456
354
922
849
44
623
133
667
493
249
322
702
746
390
393
436
206
889
908
730
105
678
493
627
773
451
483
406
457
552
94
405
27
509
736
757
389
574
44
863
442
719
212
67
100
384
137
979
612
514
671
274
897
243
59
667
315
953
938
66
247
766
471
505
644
615
791
141
126
205
755
484
577
552
408
536
398
747
730
120
44
143
325
726
977
853
256
714
582
77
183
300
594
476
271
919
946
191
397
271
707
244
764
599
542
276
279
606
448
781
172
162
427
506
670
315
78
875
455
887
838
252
99
449
77
858
974
346
560
660
685
748
985
750
499
80
875
943
840
483
55
317
827
657
539
263
281
978
267
307
7
124
348
895
114
500
686
571
851
587
607
927
723
385
114
818
333
215
816
584
499
789
240
865
972
807
130
534
655
163
471
850
403
107
563
724
761
271
711
156
551
898
254
481
104
277
526
699
760
167
489
27
259
404
783
187
24
558
534
501
838
349
585
548
285
99
33
733
31
397
245
880
22
885
262
403
23
927
53
826
310
258
321
934
60
824
823
415
798
280
328
616
932
616
831
711
382
528
449
812
461
984
436
907
34
462
222
704
762
566
168
136
29
486
664
482
760
986
468
54
408
258
266
724
43
707
387
953
865
746
885
361
633
506
249
912
263
301
955
358
147
388
622
341
380
742
563
660
156
401
305
647
0
191
778
250
621
111
993
625
378
665
967
616
237
262
775
478
322
67
792
702
820
231
683
158
183
77
947
571
951
41
924
988
621
839
948
535
27
839
321
97
946
240
78
562
72
97
500
83
262
618
172
755
202
106
378
174
785
387
946
425
570
474
462
279
919
884
666
20
467
642
264
981
90
470
358
711
122
753
639
867
132
889
998
691
88
190
526
909
56
631
732
608
381
647
880
712
381
715
688
633
605
63
366
610
644
214
410
236
292
490
958
582
76
123
426
507
256
50
297
629
351
316
765
65
593
424
108
594
30
143
939
58
241
633
76
1000
716
891
463
842
147
337
513
822
492
258
63
695
509
644
753
6
585
530
226
958
740
773
928
83
117
382
5
420
653
179
515
761
998
345
813
655
915
210
223
798
345
692
530
426
587
6
640
484
964
844
359
644
279
716
381
696
100
52
966
894
494
943
598
387
477
89
481
641
816
895
519
369
569
79
464
193
670
61
372
466
474
325
472
733
44
47
780
479
150
878
711
252
783
732
239
549
521
304
567
898
217
168
517
849
259
892
891
213
194
688
610
458
821
725
437
840
454
85
572
853
523
442
2
747
220
701
405
211
617
927
682
495
417
529
216
869
459
29
898
847
68
606
555
722
257
608
715
889
311
137
165
543
841
766
715
856
189
833
740
87
253
382
5
756
428
734
959
804
14
106
1000
25
493
847
731
120
689
833
24
606
3
617
417
75
210
300
836
359
636
178
498
814
833
626
732
466
977
243
620
229
896
488
373
217
379
430
321
316
784
517
386
275
222
303
938
594
596
901
309
582
820
224
324
959
932
711
326
800
814
791
18
255
942
5
158
914
426
732
629
761
667
532
465
431
957
148
274
195
283
621
69
508
645
944
32
941
633
362
940
426
490
490
260
244
872
543
446
617
343
172
44
843
648
322
126
997
386
2
626
555
854
819
26
210
49
1000
9
501
973
771
633
16
568
974
312
709
600
157
115
745
743
86
391
923
986
311
132
782
253
411
624
738
367
956
282
410
627
3
479
495
941
645
209
965
916
494
986
398
517
337
536
764
616
696
50
492
581
229
288
425
939
445
758
202
447
239
212
371
992
567
118
789
750
604
361
921
46
770
230
845
164
148
996
941
994
186
580
562
787
446
953
159
781
659
443
770
362
994
358
314
940
291
236
771
245
975
665
231
99
337
689
564
987
748
536
624
156
62
102
97
622
366
888
441
315
138
9
917
935
341
692
937
268
770
869
764
549
45
462
414
979
881
114
796
360
489
902
21
768
755
34
245
751
445
899
952
801
614
837
284
474
217
385
57
374
946
29
23
441
691
662
775
825
464
105
288
635
949
477
328
251
699
400
944
625
732
240
961
430
428
962
888
695
38
683
125
811
631
12
105
927
586
794
942
825
473
302
494
183
177
338
18
397
332
622
438
578
922
609
736
36
767
349
337
765
53
756
804
125
990
838
531
247
125
376
773
219
598
527
462
26
910
281
309
736
730
635
362
930
487
687
637
545
354
318
42
254
525
225
535
757
582
891
663
346
633
942
400
966
328
106
187
3
422
348
961
655
480
899
670
492
14
112
930
884
713
343
730
706
825
879
578
64
113
264
915
144
436
636
617
99
92
530
45
614
480
498
193
248
752
185
644
48
723
750
294
209
368
729
903
963
929
398
724
59
502
975
277
26
870
546
668
945
993
515
164
313
341
373
731
830
992
493
981
597
405
569
181
914
853
413
926
808
835
358
189
155
643
546
109
727
655
43
76
291
606
767
534
530
423
776
750
203
269
57
912
19
150
793
177
148
653
946
398
790
516
847
88
250
535
939
247
239
725
696
705
150
957
835
31
900
30
902
620
767
870
2
51
629
754
596
885
331
623
700
824
513
632
382
506
760
591
507
970
463
718
844
996
43
249
765
658
446
565
63
258
560
281
95
873
52
713
475
433
66
688
485
721
100
584
938
546
661
644
506
37
81
465
665
825
160
885
962
409
958
276
524
770
967
290
360
624
539
645
388
583
691
343
485
789
233
863
261
734
561
427
545
430
318
359
499
448
857
81
913
646
423
717
472
211
16
310
226
773
161
265
173
422
558
272
887
564
448
873
721
512
407
260
621
502
704
160
344
130
147
250
99
90
542
640
683
88
584
919
646
105
199
662
977
666
318
890
525
496
628
852
186
718
589
154
55
368
968
33
703
595
146
130
613
71
929
630
233
598
438
495
466
804
290
102
304
982
722
12
788
913
96
48
747
697
80
678
658
808
841
567
877
12
311
575
934
444
784
339
4
353
806
111
503
674
852
506
961
691
928
667
986
489
134
692
770
600
733
763
515
713
85
145
28
124
621
738
712
736
469
307
579
148
106
466
684
116
991
64
138
61
966
229
369
63
554
266
611
525
228
87
456
904
17
311
953
597
88
625
102
323
459
621
832
787
553
484
853
19
541
300
715
436
68
105
61
118
146
644
266
55
850
615
886
886
278
4
74
486
807
638
844
128
150
104
82
256
682
950
430
621
825
253
839
322
741
842
637
597
685
893
37
155
887
735
239
726
429
854
124
22
740
667
454
921
539
983
788
998
742
343
32
781
281
409
7
506
605
787
66
342
126
187
577
896
845
125
670
221
307
186
161
391
566
215
959
261
795
163
463
64
896
689
113
821
843
892
678
689
681
6
366
386
729
974
705
753
76
643
638
9
380
601
963
286
491
100
197
932
341
300
615
438
564
802
110
352
94
605
773
666
388
552
401
100
167
100
48
996
382
439
386
175
743
604
441
795
47
468
1
639
247
728
548
29
887
871
97
360
693
950
353
909
182
923
118
245
5
714
483
530
984
157
212
575
908
634
645
37
509
265
213
506
455
213
816
813
727
901
15
538
116
297
733
647
469
369
315
315
371
990
667
339
356
785
6
814
816
738
325
188
67
108
217
72
122
318
416
942
678
277
408
397
815
487
697
973
961
309
579
655
301
663
547
275
217
114
513
985
628
255
98
307
897
824
772
383
899
558
560
107
482
43
3
219
391
831
503
83
607
494
943
370
856
298
178
542
136
810
966
197
959
148
362
392
252
662
383
790
742
615
312
378
109
777
382
654
381
729
898
421
581
593
770
465
910
688
54
528
691
979
693
750
224
247
901
471
993
107
498
947
21
81
141
33
402
77
826
498
236
147
664
882
498
501
399
929
60
318
454
599
918
182
924
56
61
741
999
568
785
907
722
242
263
836
486
995
258
503
558
488
73
487
417
175
69
752
699
254
529
526
344
852
977
904
486
828
468
61
325
800
850
812
50
956
943
465
648
548
841
110
278
295
990
797
163
804
306
378
175
481
406
431
721
836
362
789
544
54
599
954
298
180
235
43
847
844
4
889
617
387
234
236
495
354
692
541
225
529
786
286
120
608
281
605
582
960
149
970
301
757
467
167
62
171
746
219
119
511
254
241
419
841
591
800
71
667
889
603
923
475
785
84
768
397
91
306
649
889
973
352
25
217
298
10
332
971
87
93
229
669
328
651
847
700
156
898
783
301
556
398
575
597
147
462
489
287
591
308
604
894
885
307
791
797
189
158
240
358
439
146
278
415
55
86
669
731
126
608
458
703
257
236
357
381
932
854
209
82
506
852
246
393
159
592
416
224
506
152
324
241
757
927
760
79
694
389
77
844
401
618
446
278
270
633
128
183
570
215
586
853
604
752
513
887
130
882
651
467
300
467
137
49
646
594
588
565
369
515
599
954
928
147
591
820
581
741
644
100
678
564
741
72
422
714
922
101
982
655
324
788
44
211
909
300
723
691
893
774
754
139
734
439
933
861
497
325
806
242
242
157
460
369
642
610
929
267
692
989
64
326
23
780
908
129
757
508
839
778
285
604
545
596
362
67
768
960
519
290
594
739
570
35
451
93
154
912
613
192
144
13
336
542
277
93
684
776
98
729
15
186
332
683
584
941
135
814
977
25
542
574
995
774
761
240
577
544
847
771
230
999
813
198
180
762
797
846
652
763
196
91
356
196
340
776
791
224
507
896
90
197
772
284
303
60
832
472
563
496
319
249
716
578
472
397
319
141
452
219
228
536
558
655
294
374
373
441
378
557
850
783
651
144
957
378
135
597
436
723
525
321
363
729
597
727
190
298
595
548
841
106
903
990
473
250
127
47
259
698
143
767
617
156
727
855
832
695
42
458
843
384
977
891
772
64
201
104
862
181
815
36
559
466
461
78
136
700
877
625
974
749
632
242
240
534
490
273
188
260
246
814
586
47
766
901
972
171
6
172
701
150
935
396
406
600
432
857
843
502
791
647
622
892
812
15
707
745
795
433
832
966
401
897
212
618
997
426
837
118
711
488
742
129
714
171
45
683
408
973
57
45
591
40
677
272
727
287
177
861
202
732
497
232
876
877
83
924
974
441
230
470
874
311
703
15
336
462
368
607
514
57
252
194
510
752
186
137
5
485
235
616
7
97
702
61
724
882
835
342
776
221
842
312
612
437
85
541
339
906
381
707
55
663
315
415
185
696
379
237
490
949
366
103
431
103
613
399
545
842
995
375
502
415
472
746
627
642
191
89
169
449
961
232
885
441
657
516
886
737
654
349
389
330
968
861
841
640
401
738
316
695
103
367
850
440
935
589
84
251
281
324
410
7
134
425
156
133
839
713
45
552
331
951
963
454
724
919
406
834
549
194
133
670
708
320
796
67
52
794
184
738
24
680
108
363
219
275
0
792
246
504
37
890
284
530
190
640
914
994
569
318
193
136
725
420
810
42
572
955
511
526
606
826
880
426
357
178
795
133
120
617
141
209
978
228
37
655
88
923
338
752
26
3
351
900
100
341
24
836
958
366
709
912
210
924
845
773
308
728
404
130
63
645
812
660
276
713
265
471
446
567
622
235
625
795
974
916
80
438
67
768
257
736
312
844
10
245
867
832
323
902
607
768
417
966
638
594
630
431
321
825
978
17
271
634
51
406
880
937
627
452
569
958
282
954
931
253
769
21
430
396
835
919
898
808
310
168
202
512
531
37
938
446
974
387
58
424
250
715
540
896
433
801
492
711
535
956
673
280
793
93
927
816
350
376
323
396
526
792
550
594
812
335
731
951
390
978
583
217
802
107
331
918
26
395
632
499
739
487
159
487
644
583
872
52
500
346
43
803
732
724
942
294
930
53
475
223
492
619
543
686
161
89
830
275
984
221
512
396
315
129
80
506
725
372
415
795
995
362
445
204
462
560
688
27
824
769
336
256
805
407
171
397
630
601
839
428
535
522
294
319
692
126
703
595
114
237
284
458
614
480
552
306
12
176
94
554
822
495
320
245
909
265
408
483
372
809
424
74
996
735
46
340
893
14
620
278
867
97
470
218
439
372
284
219
339
827
634
128
72
949
512
748
859
4
583
114
476
724
367
440
969
990
637
771
323
69
56
769
676
905
751
41
196
404
8
368
559
671
753
631
168
550
243
675
824
255
576
432
156
108
844
454
79
644
482
778
690
839
240
394
513
248
557
386
41
280
189
498
623
902
642
507
476
856
478
331
476
247
867
453
87
67
582
617
669
436
269
302
443
543
642
328
833
848
488
925
750
540
258
411
329
820
177
269
457
544
950
762
693
81
896
297
137
785
963
46
550
755
632
707
800
865
642
974
340
343
190
514
288
335
647
105
888
106
233
235
664
113
709
910
907
300
48
765
252
665
653
897
165
412
992
813
24
871
954
731
420
465
188
343
130
296
632
526
31
672
160
824
579
157
913
201
51
662
696
226
283
225
298
594
10
489
304
521
887
389
917
244
880
916
978
136
142
886
205
785
356
366
50
158
698
304
589
909
504
876
881
580
727
294
498
930
212
781
341
810
210
312
772
554
289
646
548
933
414
51
454
463
7
536
653
894
220
498
114
639
557
503
796
95
93
849
414
834
252
467
817
839
811
672
55
653
257
359
753
70
208
396
715
526
747
928
994
371
718
929
880
79
753
389
209
845
259
289
6
887
290
536
208
201
367
878
947
103
669
87
991
862
254
805
575
63
959
325
265
823
581
640
36
440
296
148
802
536
336
244
101
433
36
880
204
893
85
252
936
494
610
795
184
833
324
393
131
598
321
706
33
76
254
381
850
828
250
788
810
897
481
80
775
487
130
891
336
100
383
18
979
144
177
836
596
750
168
232
160
512
812
939
34
961
256
95
280
585
414
483
206
511
446
34
334
279
292
869
706
641
66
644
499
945
610
439
622
354
776
599
304
754
936
455
69
440
124
779
924
691
719
606
597
378
568
207
119
132
767
808
172
799
751
30
244
739
508
640
71
946
360
168
930
935
905
326
955
402
916
744
981
600
240
714
869
85
623
145
372
311
12
848
788
659
723
161
400
352
981
723
53
988
416
925
874
782
173
613
108
448
91
634
733
385
567
403
105
134
85
711
910
240
863
802
826
150
487
112
249
698
39
417
102
118
465
581
460
498
915
923
856
513
568
510
18
697
928
461
982
848
150
492
322
143
764
865
737
198
494
394
302
788
933
71
50
128
315
945
190
576
788
165
477
535
254
422
112
149
427
850
698
609
451
134
60
532
354
116
294
658
221
224
911
642
347
465
900
911
155
942
703
1
47
782
795
149
221
900
334
765
694
790
208
214
421
769
503
470
195
515
895
956
219
319
597
814
681
264
263
698
2
931
859
131
0
364
167
443
56
448
765
223
419
938
376
67
758
101
757
209
197
645
554
355
191
893
691
221
403
273
930
168
836
392
821
736
248
903
230
839
600
639
615
790
195
390
608
247
293
729
658
631
943
763
951
779
938
121
995
472
141
13
473
389
371
640
493
865
708
38
134
124
182
27
799
474
512
330
999
910
225
442
253
798
468
561
455
807
390
778
137
580
221
724
831
517
30
560
736
834
87
215
727
352
714
823
396
612
725
745
812
112
356
211
453
597
474
17
742
238
973
834
620
384
962
174
186
939
737
363
995
230
944
41
121
464
632
774
291
406
951
701
327
551
112
355
914
378
362
699
394
946
921
224
774
72
721
157
855
253
23
992
141
646
149
444
747
543
340
740
6
918
439
51
103
324
354
96
657
619
547
599
657
422
48
903
716
650
702
562
842
129
906
929
294
50
798
606
458
618
151
59
258
49
8
676
642
750
93
310
923
195
428
435
510
315
685
937
45
217
714
517
742
411
321
201
405
137
619
70
438
990
514
195
499
160
472
319
855
70
291
610
105
584
648
444
582
591
657
690
406
79
538
731
752
354
832
823
889
70
122
53
709
670
877
833
596
527
501
89
383
790
463
636
281
872
868
721
268
534
631
296
57
976
258
225
1000
218
167
427
41
636
406
48
944
255
543
763
634
324
462
822
218
563
406
228
745
101
8
491
601
86
555
922
228
207
823
319
585
38
210
513
163
889
690
678
598
396
767
117
940
224
816
332
781
222
958
828
515
780
313
487
290
355
984
593
563
206
100
733
345
568
875
505
230
234
230
19
906
797
934
22
375
321
168
112
239
695
10
365
536
421
486
211
328
20
557
507
382
236
781
542
937
643
738
715
123
418
203
664
46
277
316
460
917
30
256
90
259
781
907
793
370
542
169
460
303
731
762
372
883
887
909
536
572
137
354
716
68
285
815
249
614
4
941
669
14
582
959
750
674
595
653
456
206
420
152
896
313
498
385
648
735
748
76
146
639
153
549
981
403
631
602
41
115
241
29
969
642
437
762
616
472
540
635
249
556
521
704
107
487
78
111
787
209
82
94
282
433
265
178
416
676
209
35
864
781
53
335
513
348
643
704
858
828
956
288
520
982
347
619
261
833
160
85
695
322
188
785
903
448
621
892
226
667
993
460
405
992
891
570
117
607
808
673
41
77
496
496
780
394
479
200
678
601
139
888
125
240
79
557
361
418
498
239
433
668
90
618
295
234
713
712
593
76
177
991
999
781
238
465
224
406
768
958
362
84
23
825
378
97
165
72
834
75
374
179
270
785
913
24
999
568
809
271
465
207
32
840
958
882
980
917
324
196
154
470
643
290
11
873
579
465
445
51
15
124
156
672
444
821
398
33
108
179
941
230
77
463
393
30
39
715
595
652
57
678
171
632
1
791
555
717
329
833
603
897
795
628
332
923
466
530
24
645
308
145
547
763
914
898
212
943
36
932
510
807
987
22
28
726
565
167
674
694
901
604
551
824
399
214
423
392
834
516
604
326
631
48
886
686
626
157
806
990
569
787
577
790
177
901
224
704
262
338
193
523
353
597
510
377
148
552
665
191
816
161
590
364
747
421
174
183
441
555
863
753
781
398
189
896
394
271
528
945
695
186
520
981
401
463
799
915
852
897
128
657
118
622
87
956
688
42
964
753
467
235
639
427
143
528
85
373
755
610
849
410
499
132
542
38
522
383
659
181
301
397
6
988
795
215
348
920
739
559
573
875
87
414
676
670
800
118
241
954
266
462
309
528
780
702
361
291
556
5
577
564
256
673
467
419
816
622
217
845
513
118
232
140
276
893
458
574
574
422
124
279
545
155
232
679
463
371
420
383
590
354
902
357
205
758
883
63
591
910
631
3
685
433
408
870
725
395
279
281
503
951
663
943
343
68
988
42
343
26
732
54
874
719
221
542
427
186
196
263
109
365
807
318
92
447
584
954
194
749
797
0
554
912
431
0
617
798
764
999
331
480
828
552
612
419
117
350
454
715
103
983
78
812
615
133
299
491
388
883
668
552
890
26
953
879
65
247
846
721
147
948
621
947
600
137
617
637
946
364
688
725
608
972
126
575
807
924
755
540
242
248
584
482
330
737
361
588
856
550
277
710
180
918
310
312
25
810
56
881
49
150
322
604
141
555
52
869
578
147
159
308
700
39
723
44
681
967
324
324
373
152
218
895
42
833
442
235
382
275
459
127
892
797
605
271
736
785
489
262
673
942
634
810
619
820
511
478
477
415
113
122
863
163
192
676
312
769
894
335
205
884
749
591
543
637
604
88
295
1
403
215
214
836
466
608
468
804
181
896
667
448
483
524
475
530
821
39
926
852
323
601
909
389
627
104
376
649
177
446
423
115
569
12
707
200
824
602
753
383
247
713
247
551
320
192
125
868
149
74
236
484
619
818
50
737
99
166
309
439
507
234
29
809
368
289
833
591
780
421
542
496
70
120
282
528
313
561
668
16
486
320
211
788
405
694
871
547
947
920
186
805
603
793
484
737
483
504
70
176
145
382
200
481
505
738
934
359
128
845
263
393
977
916
140
322
941
892
865
61
680
228
174
703
306
939
769
63
802
558
40
933
884
546
749
487
437
262
482
984
422
886
771
370
508
66
450
329
41
241
578
271
584
327
990
396
574
310
119
435
664
879
690
248
432
334
110
217
38
555
469
664
41
87
232
736
837
982
906
414
744
601
536
965
150
698
136
649
38
377
288
57
199
767
358
799
938
825
787
955
120
930
599
658
71
826
638
596
111
631
734
550
243
983
635
702
404
513
684
292
265
21
454
331
485
947
819
462
934
755
166
474
3
878
49
882
506
88
462
578
858
81
281
864
532
687
90
611
264
113
404
984
387
809
748
253
392
978
865
684
170
840
653
362
798
778
607
312
184
301
701
954
391
129
530
301
292
561
246
937
33
523
227
169
253
622
632
573
100
260
697
947
637
537
724
710
635
270
360
689
692
522
529
201
88
438
982
932
951
23
430
170
114
643
61
344
88
84
973
948
390
245
660
285
408
761
744
706
703
720
686
102
845
667
543
580
229
281
171
403
892
791
762
377
660
503
815
338
385
230
421
540
709
266
373
43
96
942
844
314
873
614
126
571
718
705
172
510
104
567
149
286
700
466
801
447
2
967
368
835
533
340
23
770
567
893
793
389
932
471
840
842
175
382
746
490
400
153
814
759
913
727
707
444
219
969
974
978
835
673
283
209
556
20
4
393
341
220
758
834
888
477
805
894
815
61
396
625
660
841
730
337
156
757
928
691
435
74
432
99
825
580
786
329
647
581
481
214
995
878
102
843
888
336
745
609
229
156
32
606
476
491
369
754
354
186
685
530
181
784
742
835
418
431
251
964
793
655
95
532
677
912
328
646
283
270
762
710
901
201
259
60
894
297
394
30
781
372
340
180
598
487
399
669
45
184
465
541
765
495
459
450
801
476
724
427
644
834
810
97
246
815
471
496
536
321
288
596
291
964
274
50
266
270
258
469
323
83
929
502
742
494
87
782
76
605
947
956
351
944
153
948
613
877
928
366
628
975
443
876
541
139
528
650
356
762
549
509
542
842
615
0
292
291
160
954
280
518
249
957
950
856
318
406
635
982
780
669
884
750
666
705
226
126
585
828
515
655
125
188
731
494
154
914
524
4
746
955
331
696
92
867
967
314
75
347
811
672
13
676
30
189
203
112
315
658
658
668
889
867
763
36
225
419
751
944
517
83
579
91
108
943
101
288
941
689
142
472
955
498
118
920
846
225
392
461
53
828
218
356
96
844
490
485
364
327
859
686
352
871
670
277
320
712
196
716
247
815
844
292
29
905
305
30
909
618
130
863
824
355
827
584
116
773
756
581
372
73
589
890
641
314
839
422
964
240
722
140
780
91
268
62
697
294
714
44
95
51
497
90
266
753
749
847
649
667
932
564
733
568
97
536
936
393
372
31
138
263
586
299
982
196
686
859
832
24
818
119
433
391
870
457
438
509
234
476
958
737
678
75
37
647
942
750
871
248
645
739
286
794
952
685
944
473
777
742
694
891
463
991
870
497
835
1000
119
128
721
985
273
935
982
315
852
365
356
171
743
797
371
141
566
884
687
64
967
805
364
411
295
136
420
431
746
494
849
225
280
322
561
57
530
394
683
884
651
42
981
309
23
284
462
312
888
53
931
98
771
460
400
772
708
763
737
50
286
652
519
841
655
373
770
183
401
241
408
147
349
77
792
604
198
473
371
127
656
230
932
22
471
111
683
345
525
474
540
562
90
545
91
413
262
85
546
182
502
273
509
563
738
209
778
799
127
835
63
552
482
351
18
247
79
604
46
660
835
294
367
418
865
408
585
649
976
938
202
900
398
655
609
383
407
538
345
429
634
958
960
533
571
34
324
837
727
22
596
326
245
778
551
890
441
204
846
491
368
680
212
452
574
484
147
474
833
30
405
325
542
788
413
650
636
322
773
597
927
208
296
236
520
923
48
471
823
861
745
472
845
713
353
247
225
63
403
177
821
219
779
746
304
912
789
653
597
572
300
745
647
683
923
659
235
587
816
928
114
161
95
961
449
210
730
778
160
106
751
715
645
968
943
941
5
167
872
95
465
944
172
862
73
43
971
755
610
146
86
985
283
814
893
833
446
221
811
556
835
879
75
566
92
745
557
715
366
965
552
246
294
532
61
275
381
60
588
605
429
801
627
183
128
914
198
702
77
53
575
480
692
387
18
885
605
126
126
378
461
951
148
293
220
378
984
315
516
302
467
304
916
13
775
814
606
580
978
765
15
548
520
576
281
153
907
557
812
99
670
876
838
692
508
897
511
118
580
536
892
923
114
69
484
947
895
299
331
909
861
667
196
939
350
551
123
536
962
652
768
250
895
610
144
293
435
331
518
892
182
877
705
526
378
932
235
160
940
702
209
830
294
69
502
195
1
340
339
64
739
413
152
271
978
980
330
455
978
415
244
641
522
124
918
153
688
903
906
197
961
816
781
995
527
429
568
595
751
466
727
429
726
931
818
545
479
963
511
338
630
694
619
253
830
950
781
534
605
881
49
274
567
285
683
677
767
568
577
929
695
356
724
504
595
263
572
6
512
790
141
811
306
762
201
761
705
800
52
721
591
787
588
355
839
214
602
677
554
360
716
725
749
934
257
830
146
855
456
868
937
45
164
650
278
898
223
965
441
399
541
569
187
643
438
138
511
899
326
355
739
674
786
85
699
861
648
17
57
178
381
433
688
905
812
143
519
393
354
630
446
225
614
258
568
366
386
577
491
475
71
808
283
625
736
719
939
661
665
983
652
320
401
609
856
548
901
876
484
367
899
993
653
437
647
453
128
247
213
673
778
813
878
74
236
241
92
668
641
938
929
930
399
196
535
636
302
489
5
778
97
706
412
492
544
622
620
654
828
349
857
714
745
152
579
610
748
555
419
104
908
143
295
724
909
471
239
971
435
975
695
687
404
516
821
679
95
378
950
754
963
704
350
155
420
531
222
914
5
559
535
803
992
452
495
467
546
864
658
611
978
68
804
390
97
926
926
975
1
226
151
575
817
388
164
95
183
39
173
259
873
229
785
631
581
704
593
6
972
672
207
309
632
191
478
355
100
54
36
40
232
769
453
846
947
864
749
557
775
6
382
900
900
86
690
268
850
136
234
480
232
662
731
671
476
980
248
547
831
791
262
109
92
909
116
818
762
976
246
42
329
704
865
148
24
154
440
643
735
870
146
282
686
493
290
149
512
118
921
559
948
222
954
702
612
105
868
794
334
885
663
373
663
208
451
172
869
842
510
858
814
339
271
184
450
112
920
414
801
300
834
438
951
793
146
140
424
999
614
668
152
207
674
584
775
651
815
737
643
985
908
471
258
235
757
468
132
645
873
313
537
818
303
783
206
666
699
919
898
787
419
221
373
779
43
9
567
946
428
192
247
865
561
616
53
196
836
30
715
677
821
611
889
518
159
3
249
416
178
205
623
43
450
170
388
409
395
636
194
570
523
963
285
196
340
212
607
649
753
513
799
651
490
978
211
639
460
582
293
9
660
615
404
321
253
257
834
797
860
339
1
486
390
911
994
170
531
767
318
298
994
866
823
633
950
115
699
930
346
174
768
735
348
776
943
463
267
406
174
326
987
461
300
390
349
53
408
996
292
941
496
638
946
691
999
509
410
155
790
608
603
830
666
187
567
312
468
195
509
662
414
834
810
765
949
346
76
751
761
608
11
381
710
721
217
150
470
907
8
393
479
498
620
897
699
651
852
418
31
678
461
443
22
133
39
127
286
822
186
199
313
491
223
260
567
620
247
304
399
886
756
613
875
722
775
330
411
392
929
677
638
806
167
661
471
994
888
204
208
380
821
57
234
93
414
546
321
26
77
821
97
879
969
817
769
853
844
139
414
466
694
955
173
854
746
289
536
742
51
515
402
767
903
555
136
322
212
59
784
747
765
706
297
438
87
291
51
569
408
298
832
880
259
238
570
927
820
714
484
965
923
856
698
585
860
724
383
981
563
162
421
191
398
486
493
954
532
989
222
511
910
736
801
749
6
268
272
945
482
20
429
592
289
538
690
677
186
507
612
411
847
321
77
933
933
931
266
675
200
957
161
891
538
133
283
846
560
178
72
687
976
886
860
367
871
478
134
482
678
687
832
386
634
583
953
183
977
31
596
365
48
522
93
422
681
881
740
292
592
397
549
728
431
114
56
957
620
343
605
652
322
928
716
921
873
906
785
952
753
612
261
725
143
781
690
462
248
392
43
307
658
918
558
55
410
571
252
501
841
483
155
795
899
524
518
234
464
299
102
596
126
525
625
44
916
376
670
514
456
901
912
460
432
798
823
496
166
111
772
289
461
696
210
361
271
822
165
227
393
999
480
782
707
521
903
719
863
0
0
634
551
257
21
202
143
566
648
485
333
70
784
495
992
449
0
631
4
893
183
799
784
662
301
516
737
245
200
709
519
795
565
704
755
1
340
162
42
318
885
865
866
172
881
880
246
623
455
372
574
724
887
907
693
852
657
918
856
750
237
757
147
599
830
845
537
892
103
63
64
110
633
652
429
69
790
593
221
586
8
976
750
190
344
387
82
921
257
400
831
246
745
5
282
625
402
56
208
648
672
176
93
404
804
602
104
601
279
827
785
271
813
337
350
116
401
525
951
12
730
655
209
764
641
940
252
976
749
111
17
358
957
370
25
263
255
405
137
464
525
324
639
997
852
206
615
538
33
93
426
917
313
487
339
962
346
501
475
228
703
920
794
20
148
650
151
558
230
737
458
339
50
820
326
849
443
460
726
172
598
406
13
375
709
386
489
127
75
760
607
144
212
587
950
930
694
992
715
339
304
419
335
316
63
776
644
362
587
351
123
970
921
812
890
383
669
76
498
935
889
731
723
445
416
847
539
998
883
165
679
178
934
520
797
507
985
177
197
187
652
392
675
165
274
869
41
699
367
339
29
302
112
115
904
723
123
467
869
190
664
366
156
341
512
305
655
859
939
450
297
772
966
158
770
831
659
598
173
18
928
824
488
839
396
589
941
405
241
351
502
80
558
891
812
399
593
753
257
504
890
394
654
773
332
773
486
10
338
398
193
87
527
722
677
637
206
323
174
548
177
879
100
913
948
732
572
99
687
146
990
924
525
738
810
558
247
397
906
435
384
468
503
806
164
219
346
678
639
495
289
830
757
739
722
291
228
358
132
128
740
976
199
734
343
872
86
428
694
151
508
826
685
667
976
31
219
852
73
964
892
503
680
413
623
160
670
386
292
315
980
866
963
9
342
846
546
724
969
72
42
246
926
116
255
597
669
411
500
90
123
417
591
689
975
534
282
846
550
657
804
998
185
205
205
638
824
324
724
129
546
533
79
280
507
886
798
898
97
228
948
427
475
380
367
582
757
719
569
472
313
166
899
670
112
674
882
840
188
348
645
158
729
896
891
521
256
312
756
350
30
864
387
41
323
944
333
25
72
697
409
796
293
669
73
104
647
886
680
630
457
859
884
816
232
554
222
321
782
119
387
707
257
20
345
469
523
798
483
66
940
293
575
772
440
431
959
841
18
97
18
933
537
927
336
905
379
602
394
314
538
554
760
180
43
724
210
280
474
5
214
379
158
808
359
646
395
379
828
328
480
504
342
269
927
461
792
520
336
814
10
879
880
346
861
625
320
885
811
555
668
936
164
377
793
263
105
349
480
10
425
367
199
27
703
1
640
378
800
921
109
423
959
795
996
537
667
194
733
342
677
240
22
922
438
116
759
365
335
608
195
335
597
145
996
25
576
923
538
798
117
875
599
88
747
876
784
143
74
339
660
745
447
186
630
472
922
72
634
205
998
267
77
729
768
517
937
461
506
664
468
651
281
864
687
167
734
532
863
302
765
389
354
429
451
4
578
565
915
214
35
643
104
450
258
928
150
366
94
293
194
146
604
383
691
71
711
817
984
537
760
168
599
219
769
6
716
778
51
63
911
277
718
972
365
459
773
761
85
447
156
739
927
575
618
133
652
457
947
917
947
804
207
441
193
192
161
32
410
424
486
984
446
121
667
165
165
246
956
243
83
182
573
30
718
750
739
191
991
446
240
214
801
556
72
59
404
625
390
840
665
548
446
823
302
396
276
982
409
701
487
463
574
585
489
231
724
927
840
557
80
179
434
48
287
350
83
616
32
622
422
270
618
817
717
933
94
660
665
206
161
868
3
224
890
743
652
86
887
839
812
343
684
588
7
802
616
536
608
5
240
523
155
837
132
423
163
84
472
598
387
657
292
414
94
300
368
728
831
307
33
350
142
471
148
176
724
508
339
811
909
874
360
659
356
77
691
773
988
250
533
391
673
885
135
408
791
522
300
191
972
625
779
828
29
25
914
535
532
850
890
840
792
654
478
856
26
218
217
17
332
426
302
603
940
317
256
976
198
983
597
937
715
944
444
429
724
500
152
516
719
758
375
451
601
695
533
757
565
789
839
427
781
935
883
848
105
233
746
882
927
576
359
581
284
133
623
66
820
844
679
806
985
573
124
144
646
829
69
192
407
576
312
969
434
590
515
525
592
399
135
584
418
907
136
582
609
908
367
202
724
648
620
665
608
155
357
412
220
113
624
998
342
778
656
861
879
191
156
743
22
696
192
603
506
240
389
288
265
889
730
227
43
103
751
588
773
930
334
406
399
586
178
119
413
594
625
19
470
415
116
177
135
233
589
179
544
182
813
733
365
442
752
165
128
740
444
541
982
219
169
42
884
732
63
40
460
479
887
641
469
642
558
727
996
953
704
336
160
897
177
952
556
837
150
831
881
285
346
849
144
187
290
908
536
272
186
774
932
282
175
100
759
832
937
505
965
770
801
969
695
745
401
673
744
823
414
125
526
379
590
238
85
382
5
730
518
792
217
469
431
958
299
780
133
262
889
5
774
1000
243
666
401
616
196
591
697
981
45
80
206
567
725
695
121
452
563
742
860
532
47
940
7
227
639
392
992
262
859
357
976
293
463
297
659
788
230
242
882
24
307
17
648
352
90
974
355
312
321
371
159
689
30
200
475
630
110
81
721
951
20
499
43
879
747
223
529
581
419
801
609
976
47
10
121
971
93
926
777
981
445
709
149
454
480
100
349
966
955
964
236
634
391
345
628
307
936
406
515
66
300
437
167
295
259
27
283
593
375
105
208
886
161
656
13
551
540
824
636
531
916
274
89
545
668
932
251
809
955
244
944
475
644
473
646
179
441
801
104
142
701
601
452
357
346
384
2
815
448
551
215
828
116
9
948
996
751
796
5
181
495
180
714
608
390
40
715
45
589
97
531
791
917
257
601
362
170
978
811
624
299
650
96
71
208
387
702
159
837
735
411
195
83
137
391
617
232
206
810
893
128
212
170
62
784
274
188
430
359
152
5
537
63
173
122
401
304
847
37
460
993
956
856
61
224
572
701
596
716
791
664
544
359
389
638
766
779
467
376
248
863
221
155
883
744
21
692
175
526
396
749
79
476
630
97
125
240
489
337
833
572
985
436
159
369
284
899
484
578
969
541
189
259
981
147
180
56
883
737
705
714
174
472
339
506
229
286
135
468
405
312
513
237
145
32
725
775
769
176
649
915
895
639
97
986
169
703
527
682
124
801
601
510
393
457
200
768
983
92
869
612
671
539
178
487
961
477
827
752
903
924
471
77
546
622
139
895
541
288
417
381
300
171
304
184
669
368
4
817
157
429
678
443
568
769
938
423
823
394
852
351
345
431
537
165
798
121
390
593
316
377
722
799
332
911
287
489
45
437
888
376
348
611
349
796
372
868
544
939
865
216
449
881
433
258
467
18
692
188
619
892
387
74
998
302
318
507
777
853
296
69
985
50
259
888
932
274
754
788
1
447
379
418
349
950
51
983
780
14
87
756
254
787
443
229
21
226
550
528
790
503
598
294
320
150
65
532
221
876
910
554
397
14
790
613
984
993
975
476
319
777
310
724
13
118
80
381
704
308
961
920
922
579
828
160
9
535
957
158
632
37
197
517
460
821
741
532
517
893
425
46
294
505
296
145
349
958
770
280
795
495
190
6
39
955
75
102
175
407
770
718
127
333
647
436
770
180
509
69
509
243
423
796
412
716
982
753
441
379
695
888
554
67
51
135
234
165
860
12
100
396
102
45
541
691
823
515
1000
534
704
472
711
29
44
671
634
801
586
415
908
172
227
683
640
239
109
889
422
379
346
509
767
64
421
510
768
578
706
877
176
789
940
264
898
237
261
532
222
485
512
443
334
827
296
355
741
849
253
285
197
314
527
293
837
743
758
546
609
493
565
716
953
998
916
737
473
426
782
714
506
660
411
333
368
30
114
933
631
896
422
949
768
33
844
661
262
809
915
925
956
198
899
351
575
825
238
579
354
332
426
162
95
971
494
513
660
875
222
236
656
46
522
115
736
67
509
572
662
65
339
506
292
345
278
187
717
180
369
935
532
924
996
347
714
671
64
396
550
316
856
791
989
191
465
525
952
908
150
567
47
752
49
745
546
493
109
520
425
113
499
111
935
96
331
103
932
372
724
997
557
318
758
750
264
908
31
714
417
95
338
873
189
603
405
421
662
192
111
992
389
511
875
491
55
810
862
190
289
460
325
72
51
526
173
486
98
585
156
724
383
739
326
489
489
834
55
372
224
875
709
958
900
775
523
332
473
990
549
433
988
142
98
813
473
173
619
389
997
771
270
106
871
712
24
418
813
407
464
497
773
872
66
252
667
465
546
595
410
305
831
968
975
953
615
647
704
640
234
33
938
100
127
247
75
589
863
189
154
917
424
419
894
783
499
676
997
974
459
263
174
209
48
310
276
597
675
756
618
244
74
224
731
960
242
3
564
640
521
306
87
852
922
69
596
150
510
169
331
125
380
495
664
708
929
804
822
937
419
286
429
142
106
788
393
16
689
500
385
579
413
329
180
137
56
206
514
830
145
393
48
860
151
618
542
828
162
338
697
432
566
51
513
330
913
35
9
478
541
918
674
890
155
945
541
67
930
254
16
232
826
564
454
961
838
810
301
788
723
820
833
434
498
3
593
134
901
601
785
670
54
142
83
64
251
104
439
850
832
789
29
300
294
566
874
300
233
902
34
274
317
385
652
565
25
715
150
92
87
737
358
500
458
734
171
207
470
467
630
573
547
567
681
575
525
216
374
848
791
516
559
545
645
994
464
448
269
756
993
346
559
486
799
466
911
107
602
609
786
838
314
441
388
994
453
114
995
843
979
9
727
92
700
884
850
218
997
223
106
176
453
421
803
999
132
744
423
722
541
619
506
945
568
484
853
547
699
431
816
303
626
972
851
842
742
558
297
52
545
322
200
61
933
328
952
160
678
234
360
55
73
817
167
132
35
944
593
414
439
112
45
319
559
187
600
478
243
228
352
212
669
341
944
231
171
536
230
736
725
456
944
128
595
896
16
542
70
457
525
583
831
123
784
528
423
808
449
0
101
355
482
614
726
803
599
16
210
471
194
76
254
302
288
961
235
319
947
32
518
901
77
988
555
299
481
303
524
485
828
113
325
568
641
389
196
285
751
785
821
678
184
205
268
716
797
154
536
29
833
37
314
221
511
142
760
624
971
957
853
668
666
175
282
740
953
544
160
360
981
615
968
262
724
666
670
189
553
132
624
813
745
931
800
402
984
128
727
803
138
479
331
420
598
157
533
201
528
939
702
453
431
407
454
355
841
12
789
85
370
262
857
895
299
933
446
464
364
760
744
426
462
803
435
788
190
394
765
554
432
639
451
898
294
397
614
76
176
388
758
431
467
988
444
745
484
310
661
435
540
182
808
958
754
70
599
389
845
517
452
107
355
331
867
664
409
787
793
161
167
557
302
39
189
21
84
248
816
352
242
141
420
902
753
119
384
33
800
376
36
432
229
126
214
959
803
894
470
785
769
695
123
680
153
657
633
712
774
513
51
854
519
372
842
608
867
529
5
193
273
136
859
422
200
329
852
724
97
335
443
203
214
149
117
34
128
306
692
421
440
813
195
449
576
409
84
252
447
679
243
985
122
986
265
56
589
131
115
445
754
771
319
384
272
837
734
799
395
105
670
37
321
366
31
627
845
4
245
298
578
331
498
423
684
314
247
601
538
739
369
200
578
925
395
745
617
502
783
74
690
599
570
516
357
702
975
589
564
987
441
360
739
150
926
461
389
951
711
249
831
844
168
17
359
801
333
585
113
659
432
577
800
941
921
877
438
38
961
729
183
180
539
267
679
966
353
317
660
744
82
758
718
163
910
322
808
547
42
73
958
643
747
648
886
406
116
211
340
958
83
593
795
802
253
303
320
878
347
817
206
930
883
861
97
371
930
211
104
126
352
556
301
133
160
717
759
350
824
764
414
953
576
616
722
599
301
343
605
775
397
206
188
467
902
435
835
733
468
781
765
269
227
603
523
309
362
375
299
418
630
621
235
999
282
973
313
799
488
827
987
686
801
699
515
681
514
88
733
345
494
726
245
725
658
351
22
621
461
608
261
726
923
981
703
578
125
319
145
764
600
315
236
272
358
539
894
817
108
341
702
842
733
701
108
218
482
249
767
738
866
643
615
293
18
11
985
924
691
748
547
544
119
102
775
859
856
473
998
625
118
515
794
942
293
334
36
522
540
590
574
607
52
673
420
236
832
85
145
388
692
556
106
856
421
896
493
447
563
699
400
497
19
268
953
622
696
325
145
456
898
517
939
774
413
269
282
938
717
25
840
196
59
587
811
663
664
297
710
223
38
555
311
742
376
633
195
87
912
8
617
730
486
284
21
744
959
770
726
642
708
985
90
282
129
556
953
81
618
543
243
579
714
928
621
500
877
705
869
637
224
968
266
289
912
692
439
93
463
251
882
4
26
892
277
938
143
964
510
469
633
27
811
606
283
273
647
379
671
438
768
905
963
152
422
956
53
958
328
695
855
609
445
360
21
856
841
676
863
492
902
835
729
835
954
339
747
809
13
702
672
173
791
678
174
21
344
905
852
702
303
284
835
4
786
662
44
313
329
612
480
686
499
898
85
135
384
549
664
204
784
735
74
9
427
950
233
862
961
724
798
820
639
560
367
860
933
178
649
588
972
790
465
904
401
46
848
331
891
671
849
229
102
974
102
723
699
428
677
569
213
643
501
913
235
817
860
813
434
296
363
720
81
841
135
616
48
454
757
301
426
986
749
6
956
229
228
475
465
508
289
537
991
68
593
256
185
111
680
719
61
994
953
341
160
875
558
614
356
218
114
878
667
743
665
748
816
136
784
828
220
314
831
677
678
490
728
813
274
775
344
145
550
885
564
609
932
280
366
410
942
43
27
33
442
908
711
5
377
967
679
265
423
403
641
332
527
679
209
633
144
67
484
116
916
894
150
694
653
84
970
490
346
257
440
758
704
697
544
561
80
83
772
226
688
782
543
300
104
518
86
953
298
500
905
139
184
305
269
480
680
807
534
983
434
377
895
956
184
441
44
160
948
756
805
457
766
532
343
851
195
405
479
571
885
828
517
372
810
646
298
732
896
506
686
962
431
3
514
622
345
78
585
815
694
201
650
503
19
90
377
723
894
970
54
547
156
862
985
861
866
174
330
827
94
356
610
776
278
929
105
680
230
893
315
935
471
223
276
837
405
262
80
837
288
719
735
555
399
149
265
720
517
541
305
96
550
999
730
545
661
117
91
758
741
20
922
647
234
301
279
394
201
948
126
941
715
518
335
491
21
830
862
836
848
187
12
554
798
361
433
466
806
896
892
127
126
728
232
945
13
887
651
320
447
660
404
387
377
261
775
66
172
657
270
235
259
183
755
225
403
339
594
135
276
261
647
611
512
781
362
198
431
302
984
895
463
419
831
19
960
183
519
160
669
952
386
853
986
303
651
905
324
57
847
701
37
245
683
47
496
583
395
136
537
459
451
996
183
162
470
982
982
623
707
797
112
148
952
722
785
452
413
656
867
806
735
205
985
142
441
909
589
257
165
922
132
571
313
711
187
506
845
288
780
389
219
502
297
369
737
227
781
774
948
308
554
136
739
766
69
900
333
207
85
823
102
398
498
540
896
370
76
462
593
953
10
638
360
353
732
720
333
932
854
485
46
408
144
332
748
367
470
537
816
576
941
174
393
432
612
954
201
456
77
510
445
991
604
472
729
216
406
285
879
425
506
524
357
423
426
183
755
710
879
86
214
362
597
528
539
130
755
965
869
43
220
819
54
736
711
989
461
15
94
892
125
233
757
948
195
760
380
817
534
568
929
301
977
399
135
841
126
972
115
539
152
828
491
607
860
714
851
946
85
653
630
946
200
504
157
850
349
732
557
317
576
200
454
386
300
840
136
6
193
584
945
625
529
541
895
941
227
20
646
866
632
335
796
180
921
290
810
972
920
22
127
521
478
685
156
945
289
759
528
153
915
256
689
870
463
4
529
817
42
71
627
576
670
249
758
409
167
815
33
59
367
901
363
73
315
942
309
284
102
789
274
932
114
85
26
120
846
559
728
720
415
533
785
893
163
583
149
856
254
134
451
167
998
76
416
23
735
367
970
424
224
482
62
373
701
789
483
937
508
915
776
75
637
165
699
942
934
888
557
119
999
587
173
785
522
755
160
825
938
627
13
503
835
395
63
389
624
619
531
708
976
150
746
289
335
984
409
868
971
21
847
576
558
28
123
176
743
972
482
997
108
427
137
674
542
449
52
971
276
929
340
9
490
566
634
787
995
990
366
314
28
61
394
521
934
231
518
290
268
461
192
815
135
260
524
121
246
400
38
540
426
519
484
479
119
298
280
103
26
362
293
32
616
3
626
401
120
216
884
654
920
543
609
258
419
764
890
19
341
299
427
384
699
553
162
58
5
833
845
826
619
811
759
143
671
12
943
965
43
850
788
220
395
4
2
117
673
335
264
688
429
370
879
907
427
87
168
492
221
479
24
741
105
208
76
326
457
549
183
904
483
173
705
119
521
890
744
515
847
886
772
837
284
316
444
744
237
826
547
21
100
131
880
820
802
102
414
291
669
439
47
578
989
587
895
681
171
918
163
714
585
125
427
262
560
740
773
679
180
469
51
956
490
197
392
240
270
65
29
113
359
178
639
823
639
805
747
573
545
292
223
143
619
544
641
778
967
640
259
733
714
312
708
100
652
558
369
167
685
96
427
34
385
283
556
860
801
448
707
998
57
124
312
703
611
772
832
363
281
448
185
819
631
457
138
489
191
877
554
600
632
823
313
547
145
558
732
897
567
651
430
217
284
904
345
290
904
486
617
77
627
126
133
544
627
536
393
407
261
612
565
944
378
30
645
114
897
969
675
200
481
674
282
290
687
571
46
374
90
321
747
670
763
949
358
218
942
968
553
507
466
112
42
433
583
102
497
262
772
640
489
660
821
24
592
710
509
484
593
777
521
269
179
820
89
972
575
807
714
445
416
218
288
293
498
601
236
786
738
791
716
327
459
808
262
221
236
442
569
501
37
598
189
800
323
719
881
261
739
175
837
973
920
965
738
616
916
479
319
261
823
959
302
949
508
848
528
298
454
556
845
557
855
3
393
374
778
359
587
516
444
625
215
752
75
96
997
143
632
472
360
739
578
661
140
9
300
745
349
277
350
880
55
481
281
188
832
386
307
125
262
40
235
587
913
902
746
363
851
43
965
214
638
484
111
504
129
675
653
862
565
263
859
467
878
396
356
208
724
356
786
259
482
721
632
982
122
1
734
890
297
697
656
44
885
356
591
603
330
572
682
84
374
564
620
683
774
759
272
365
625
741
940
782
851
134
576
877
907
287
396
412
1
249
566
28
442
133
794
733
536
434
294
708
317
724
909
827
395
143
502
366
107
641
242
769
906
461
439
412
249
292
794
103
239
835
572
267
604
534
943
128
827
986
947
374
225
21
206
700
424
868
474
343
578
226
510
371
609
375
54
484
976
93
356
610
748
549
545
54
985
689
419
457
908
530
850
854
585
178
611
864
866
799
224
646
78
617
360
286
153
402
634
349
15
581
458
267
863
131
973
247
997
534
438
553
460
799
412
861
863
598
977
118
606
47
389
815
144
643
206
208
322
110
538
594
473
408
622
718
269
474
434
76
38
853
289
264
121
761
614
733
598
540
11
722
178
564
786
650
501
812
416
480
546
246
266
286
218
308
474
96
901
195
773
258
138
526
632
529
328
13
129
604
69
53
752
733
715
848
914
665
751
859
839
310
11
940
995
715
531
417
676
47
348
809
234
721
617
478
513
970
768
18
935
658
40
919
983
169
471
888
253
137
696
756
481
252
208
189
307
681
846
645
245
754
189
463
686
899
292
519
129
15
623
811
620
900
795
135
948
565
758
950
694
520
420
923
376
876
265
586
202
511
40
634
49
469
669
623
520
605
65
115
957
333
465
900
494
898
784
857
297
759
666
199
786
233
883
122
96
561
685
76
152
510
810
825
211
798
972
100
381
186
399
146
275
92
799
204
107
749
759
353
236
880
347
503
412
993
519
787
862
25
677
564
735
173
465
406
267
348
575
440
762
140
71
157
211
783
915
338
803
638
499
185
900
344
9
431
641
740
56
631
630
12
378
593
644
285
239
966
978
239
739
649
252
832
589
13
814
533
652
436
439
65
157
747
804
983
647
829
207
259
523
474
45
665
918
828
719
15
965
313
299
842
85
759
364
764
430
688
541
925
311
484
707
256
395
474
709
988
503
969
207
450
795
261
619
577
155
836
17
245
200
391
672
221
136
124
766
331
780
681
625
874
304
868
211
620
498
204
425
989
479
221
72
209
357
978
653
47
3
606
191
740
254
346
817
569
974
16
888
654
759
600
102
567
99
291
718
22
501
331
279
53
223
355
849
117
874
117
930
362
894
854
746
576
464
939
853
988
67
618
512
252
567
943
382
483
536
286
264
609
204
553
424
543
499
687
687
569
52
394
874
869
254
856
947
912
453
879
232
316
837
12
996
886
306
141
194
728
586
756
232
187
23
39
403
51
836
892
594
63
988
902
548
104
813
338
324
833
633
498
1000
184
616
330
389
802
382
491
866
558
703
201
303
489
645
566
129
891
720
601
476
367
994
543
150
312
515
674
946
872
843
842
499
683
260
600
341
388
802
752
733
378
406
586
62
523
155
685
888
230
540
128
804
480
943
152
627
327
668
94
394
479
252
578
408
964
938
930
6
199
913
824
859
726
186
759
565
284
329
187
801
527
147
831
891
892
682
241
977
104
329
406
626
838
940
20
777
173
393
854
680
702
537
956
638
259
691
395
283
979
306
476
830
681
648
398
579
10
46
190
227
324
800
523
299
541
672
238
332
644
548
535
807
621
744
968
474
274
179
786
121
521
841
868
490
595
849
57
90
280
237
842
925
29
2
39
555
371
11
281
163
707
934
301
851
789
457
792
733
788
33
299
804
543
287
919
522
171
23
595
124
351
412
400
438
105
192
2
840
686
801
836
112
201
37
423
401
691
848
246
464
622
657
755
224
793
249
426
841
817
912
116
706
103
281
390
692
252
61
882
680
38
200
561
666
336
15
637
702
874
348
187
279
453
451
618
82
405
806
541
428
176
568
505
961
371
3
714
761
423
14
873
636
214
965
658
23
357
233
578
368
109
785
354
123
22
610
527
6
38
173
821
820
498
650
486
814
891
195
822
754
75
47
929
49
132
364
32
566
434
622
475
35
383
435
87
426
779
157
534
471
676
400
246
938
476
400
352
612
651
677
29
722
279
814
229
315
52
797
145
892
851
821
721
999
849
527
860
887
980
479
957
292
42
443
785
113
858
294
788
445
63
105
972
663
601
386
662
721
497
378
955
486
910
968
171
624
24
311
816
144
225
584
283
813
137
330
707
894
353
980
357
371
764
274
57
593
684
612
958
825
272
226
304
190
416
694
165
851
737
323
778
968
861
143
611
209
983
49
364
794
959
225
854
635
164
909
469
182
218
197
648
354
437
71
685
974
241
982
684
278
233
553
934
302
616
865
198
625
653
826
541
605
403
226
82
124
756
131
353
150
405
416
297
738
390
485
708
987
135
309
541
395
677
980
34
457
541
814
740
139
705
245
402
454
9
97
101
619
38
377
61
134
522
498
70
940
305
328
612
653
6
177
925
470
653
820
794
293
949
25
233
722
385
341
383
3
492
243
783
874
17
656
252
973
773
574
545
986
16
594
736
327
318
378
702
191
205
765
719
163
357
303
71
705
90
753
724
466
580
451
795
122
793
851
116
81
137
693
840
962
861
768
182
143
688
322
58
10
560
791
22
945
109
599
601
965
274
787
57
664
115
371
601
119
419
630
783
820
805
72
747
543
54
665
519
138
777
110
872
122
839
920
83
826
258
541
47
805
767
853
657
765
899
394
641
307
687
987
677
246
730
83
728
62
673
48
550
584
691
759
425
430
245
437
653
917
231
382
371
306
654
529
473
407
65
594
571
746
463
960
314
412
172
2
975
255
556
313
720
957
119
667
235
980
656
923
939
172
286
835
150
668
349
299
877
827
630
848
642
439
810
229
190
455
668
181
662
16
714
285
794
898
288
203
765
555
447
153
579
189
856
513
486
497
726
30
39
908
638
875
561
957
827
147
465
366
922
856
206
382
483
708
94
564
218
140
478
774
651
529
733
665
382
494
431
188
261
106
723
992
370
888
171
797
386
274
738
142
454
911
150
601
951
762
87
130
737
862
275
470
867
515
393
265
264
893
400
37
589
260
135
231
247
590
742
365
234
15
534
371
235
218
301
548
771
75
436
72
641
796
305
1
845
804
958
381
375
110
325
657
886
574
926
39
181
689
944
131
87
696
127
964
664
82
64
645
535
756
415
83
11
492
698
65
104
494
4
351
122
283
670
467
40
471
28
837
92
84
169
58
711
610
967
252
671
76
299
1
534
108
993
794
721
866
701
327
594
210
201
445
685
327
206
685
561
714
847
338
919
581
888
304
138
608
585
4
653
339
401
552
234
835
864
146
66
280
44
613
457
145
512
290
286
12
925
757
557
920
137
632
97
210
585
879
498
125
493
90
976
104
609
407
91
27
410
983
958
734
472
365
35
194
360
451
377
221
943
372
652
770
162
878
446
485
649
607
728
110
293
221
7
65
41
115
226
213
895
701
999
891
885
256
137
326
773
250
156
903
145
364
250
644
493
71
603
741
867
631
330
656
614
869
296
157
688
648
75
757
293
841
402
384
546
814
763
306
967
366
393
839
299
348
520
718
26
404
666
656
676
908
425
471
517
586
556
19
57
909
451
569
923
960
479
134
784
895
182
316
663
938
418
275
329
893
172
579
346
87
846
477
667
947
188
260
277
215
931
920
447
926
703
481
763
615
143
720
740
715
436
934
52
617
430
936
52
289
768
776
753
535
291
79
802
688
378
490
272
347
247
734
961
467
70
263
310
803
277
508
862
103
302
547
13
49
514
705
445
189
70
913
513
937
569
707
120
75
751
621
720
248
323
409
129
701
661
88
488
259
19
156
274
359
392
103
816
415
952
626
415
81
420
958
553
243
892
461
878
785
385
935
956
293
431
725
334
145
743
843
271
964
645
482
124
940
792
295
980
794
262
734
508
615
744
719
119
894
197
594
235
37
710
206
557
525
457
242
553
642
669
701
922
151
317
438
419
273
323
1
301
251
810
46
741
628
419
107
345
365
665
933
333
891
330
511
921
607
377
416
239
69
406
28
916
695
782
519
398
493
396
167
978
808
929
304
132
469
967
30
628
338
607
353
167
355
666
926
653
659
228
188
152
32
783
40
343
4
316
764
906
644
190
96
329
671
58
964
635
708
867
869
644
847
300
49
723
524
517
413
571
101
1000
945
513
472
583
864
928
459
693
517
133
231
356
151
192
325
413
638
308
638
615
761
26
673
79
565
580
397
868
500
611
633
264
626
751
394
966
655
449
214
747
718
508
310
403
582
209
173
22
645
906
813
1
923
161
136
288
157
631
710
502
32
735
335
675
661
123
414
597
13
860
592
429
128
656
429
831
592
236
250
234
794
194
126
542
642
223
312
847
278
104
190
32
108
287
166
682
894
518
9
196
863
113
130
761
632
529
606
964
33
451
497
906
529
554
748
269
137
966
869
384
977
868
957
701
358
86
368
487
981
318
897
87
643
34
354
585
174
106
784
353
295
123
385
20
634
528
367
266
503
985
943
97
53
819
71
218
568
104
577
468
69
965
498
297
495
884
756
155
508
888
433
121
248
133
589
374
16
754
236
965
318
675
514
417
954
927
265
845
782
479
752
731
358
730
377
474
920
929
526
11
658
141
641
65
280
40
856
686
728
272
165
304
629
483
660
783
623
541
257
408
725
678
485
879
906
138
461
183
575
800
648
154
445
553
3
945
707
822
448
516
562
353
962
486
483
660
578
430
84
54
798
757
303
40
283
762
948
326
836
788
792
873
65
177
777
97
405
800
271
443
28
379
622
618
576
840
404
888
155
870
858
326
796
263
188
762
383
491
678
164
313
334
219
113
680
496
275
398
497
415
990
73
798
752
663
548
837
939
477
229
810
33
882
457
481
106
753
943
551
581
29
775
971
983
237
556
681
952
406
264
537
150
609
600
817
971
532
310
572
24
54
955
518
984
200
525
336
346
205
511
910
20
1000
45
249
422
208
42
765
193
895
609
569
381
967
731
253
363
146
135
968
143
587
167
31
40
772
165
522
676
783
89
453
453
744
223
477
519
545
315
632
879
510
7
601
105
880
552
703
366
251
305
929
88
922
425
265
568
171
281
175
944
759
862
122
868
757
470
468
640
308
383
856
864
619
195
904
555
41
131
609
519
771
126
227
25
714
437
498
379
423
839
264
941
359
492
835
178
230
510
742
74
17
89
924
411
330
252
740
901
672
385
883
924
877
60
102
977
737
347
39
72
804
469
69
327
942
592
572
66
630
182
153
351
803
363
20
747
636
337
803
586
317
675
739
418
773
570
367
251
437
695
701
419
268
519
775
151
147
953
288
422
665
257
11
626
504
795
46
106
930
516
814
330
446
154
219
651
350
791
512
193
270
96
402
320
587
823
973
99
832
421
183
742
352
993
343
877
245
350
177
567
818
94
558
432
704
495
914
2
439
831
726
806
316
941
920
183
324
929
300
830
685
618
698
276
190
641
927
771
720
371
112
309
997
253
168
395
332
876
822
703
182
240
136
55
67
534
482
77
355
520
772
194
199
907
591
559
792
261
425
236
779
882
365
669
819
961
132
266
962
621
124
791
111
335
451
181
690
405
481
423
35
175
737
601
311
397
295
994
432
657
478
343
209
757
164
557
488
878
360
453
713
142
482
32
321
943
518
263
875
561
186
349
974
176
60
590
92
431
622
49
793
550
112
162
370
526
80
921
244
388
601
694
289
862
557
510
958
511
1
194
380
293
735
828
870
55
45
25
361
756
46
230
599
829
383
275
330
569
594
331
150
937
781
999
193
704
359
878
565
301
222
826
609
163
362
349
171
852
478
612
552
21
262
902
893
629
684
962
534
858
938
695
955
987
273
868
405
185
90
106
587
831
540
786
393
269
44
786
422
616
473
189
433
432
824
366
174
596
258
290
954
464
852
943
688
484
84
518
469
626
117
918
0
598
6
306
181
551
449
595
616
850
794
310
647
705
277
677
877
370
743
217
244
406
344
942
102
794
954
246
293
232
974
462
559
669
252
786
655
203
188
256
634
3
535
639
757
786
586
346
837
962
691
519
849
523
371
113
572
502
551
447
82
650
268
590
508
330
839
808
184
537
426
404
727
683
749
212
12
712
224
919
190
874
278
994
477
385
55
114
421
830
64
255
93
45
681
388
209
892
747
938
822
936
744
912
918
719
488
81
584
349
522
930
2
634
912
846
246
562
77
727
617
925
784
185
342
919
95
413
151
751
83
325
652
267
582
358
295
430
388
197
866
483
370
42
578
278
641
109
868
527
800
969
417
721
115
719
729
881
566
520
367
54
672
346
807
67
351
451
635
366
490
264
366
967
228
103
913
772
312
520
152
623
66
689
130
599
600
955
641
71
460
661
276
193
76
565
948
753
477
138
982
859
343
267
954
214
217
714
622
982
450
896
697
233
703
352
463
233
57
2
443
226
92
154
939
993
423
762
175
271
233
437
216
4
899
808
534
53
845
388
278
105
792
366
293
329
592
958
404
203
653
475
305
176
677
578
609
161
658
991
313
414
921
833
29
949
652
235
361
927
814
750
259
926
388
299
629
57
745
915
356
722
987
91
997
31
557
848
903
353
439
373
787
898
642
892
316
566
833
977
120
187
244
968
676
380
228
860
263
95
704
976
315
372
69
17
693
336
161
614
59
750
216
374
199
416
881
695
640
358
606
11
102
750
59
185
99
20
564
37
618
21
164
548
963
532
572
454
283
176
982
862
831
914
778
887
583
962
816
196
123
10
559
166
642
866
809
509
113
491
601
722
601
455
789
249
977
255
137
172
85
547
757
19
206
330
249
187
72
684
493
706
880
21
323
138
923
701
127
953
128
259
861
915
978
180
720
983
30
42
261
236
385
479
685
641
825
385
775
148
862
794
53
820
808
142
232
704
267
951
734
117
436
343
227
630
443
573
637
186
485
368
973
22
72
998
220
122
799
729
491
970
80
210
140
970
85
647
243
210
682
634
262
134
898
241
107
445
742
938
118
801
268
668
202
593
317
171
941
365
441
998
391
892
539
229
913
129
863
971
72
684
107
207
136
937
429
711
394
492
186
67
724
312
364
562
578
611
198
312
986
174
470
122
757
311
976
408
209
686
287
510
131
913
587
196
986
921
242
750
445
187
265
523
395
269
624
952
776
401
122
88
631
759
604
18
137
808
283
983
56
6
586
860
156
621
366
908
539
225
624
766
986
814
609
957
92
493
502
660
165
95
44
512
54
155
835
814
88
224
975
84
788
467
751
758
610
427
283
920
117
926
91
337
193
975
214
78
100
912
999
435
999
739
549
567
925
801
127
59
929
795
972
144
853
789
150
853
137
851
660
659
451
7
322
198
469
833
790
158
895
308
382
739
163
609
937
674
676
198
410
118
422
711
928
805
956
472
813
933
303
524
938
132
984
129
476
249
60
735
961
958
552
353
677
147
236
892
848
920
934
670
18
634
295
459
715
483
692
387
30
382
579
868
427
742
45
180
356
448
189
930
883
165
183
591
449
903
654
642
999
33
58
300
92
121
25
819
960
232
211
855
40
329
189
408
901
536
11
19
456
898
501
578
140
815
697
728
852
852
740
327
456
328
434
351
133
106
214
171
316
768
557
951
577
53
157
716
742
6
43
256
872
773
162
301
304
287
419
44
476
627
550
332
98
638
910
563
802
144
985
968
293
247
463
90
919
693
919
195
31
703
23
364
837
238
434
678
953
875
487
158
597
269
734
886
833
171
322
28
490
814
507
483
98
781
258
582
853
735
135
673
835
254
604
615
691
117
65
815
259
749
611
489
46
679
753
137
433
342
932
796
650
628
978
697
84
886
881
208
49
760
924
436
322
984
214
138
195
547
959
136
970
317
676
229
901
286
727
678
271
453
203
865
824
725
403
596
256
196
442
439
34
781
353
218
459
400
475
103
477
296
964
999
8
205
300
401
977
332
489
138
528
935
406
841
797
626
688
950
955
848
639
441
532
994
710
119
85
242
954
730
960
158
230
676
596
907
723
598
951
67
44
743
492
773
838
983
501
526
130
209
511
175
199
656
595
763
840
743
648
337
921
145
91
774
70
338
957
35
979
540
461
818
762
576
676
73
177
282
474
222
819
394
795
809
649
957
623
508
741
246
709
415
129
302
155
617
5
864
259
286
754
896
343
178
230
267
931
974
957
232
597
218
927
697
557
720
19
174
667
143
128
170
684
862
203
902
73
828
206
823
809
376
69
253
399
394
508
415
10
496
384
858
564
512
59
302
208
621
391
118
904
439
535
787
704
579
940
491
230
102
597
523
989
624
14
750
784
645
346
80
638
881
26
200
20
597
370
152
423
462
987
375
868
974
646
895
894
151
105
387
150
579
720
632
464
412
218
293
858
997
280
443
215
860
620
781
448
577
990
162
325
854
177
457
593
152
590
289
627
296
851
467
49
182
528
269
957
0
190
928
669
754
220
624
889
86
351
246
442
396
616
749
384
680
900
932
172
453
328
338
214
824
817
32
304
135
529
74
327
74
632
106
461
254
456
884
500
140
766
235
160
450
888
391
92
371
235
652
659
294
759
304
616
279
778
376
692
70
192
99
252
8
794
469
242
638
831
81
295
834
85
51
725
574
387
65
235
225
911
320
263
121
8
111
511
304
400
63
232
811
354
723
16
181
293
150
485
105
549
938
954
748
954
599
930
637
188
422
413
266
569
127
415
304
243
266
241
858
372
387
352
195
609
885
211
540
1000
103
11
454
504
889
317
408
630
149
364
51
31
850
920
861
833
449
352
610
852
296
914
24
398
739
439
68
415
2
802
117
92
637
376
560
781
251
95
313
499
339
126
672
677
169
691
440
138
852
555
521
835
922
859
826
486
263
891
204
430
156
618
33
507
765
977
434
941
875
811
657
9
364
65
975
568
25
598
131
821
432
356
407
456
467
12
842
16
694
367
737
422
167
54
744
746
664
485
42
508
636
595
414
197
479
425
31
721
216
476
610
668
620
644
711
456
829
288
202
672
773
899
272
345
430
819
408
386
772
768
616
626
238
161
94
240
988
464
363
543
652
4
150
694
382
554
502
862
328
750
886
871
211
193
229
56
489
155
528
541
369
876
337
303
629
519
534
807
173
328
288
38
488
585
247
323
793
784
489
170
903
639
958
709
436
426
592
802
120
254
826
736
209
590
567
546
12
417
205
507
600
685
85
997
202
556
577
661
360
756
134
8
130
257
544
362
10
398
594
981
344
667
459
204
455
354
92
234
919
167
784
425
79
94
704
517
142
820
471
710
213
673
503
241
749
343
405
504
415
557
538
737
412
472
331
147
227
591
391
637
843
776
623
731
214
265
692
780
624
54
739
459
331
965
342
667
449
468
753
448
196
990
237
601
208
711
620
130
470
423
357
260
333
746
532
90
269
431
82
729
235
120
894
495
857
552
569
858
395
375
676
763
979
331
471
882
922
205
109
67
446
456
896
380
341
312
873
194
815
100
498
402
185
109
592
743
943
197
711
11
917
661
46
644
930
427
153
782
934
627
977
801
996
719
503
966
602
17
295
632
995
665
190
434
884
953
95
380
903
443
441
843
512
616
87
93
142
567
742
918
724
503
196
95
397
460
199
812
793
306
793
102
452
257
35
281
1000
494
105
959
672
257
996
248
766
12
81
48
182
835
859
827
336
66
867
725
212
623
392
328
895
747
579
879
503
798
117
359
204
958
767
744
322
618
806
694
403
837
628
27
724
46
540
433
269
715
503
622
400
234
352
725
818
826
684
541
387
957
673
433
90
384
871
66
747
764
776
363
18
502
512
39
121
504
676
614
144
694
253
278
828
814
93
991
333
787
372
926
712
90
58
622
336
365
10
951
983
606
381
755
238
555
272
559
171
179
592
355
833
985
721
371
426
506
487
916
431
465
57
86
487
261
88
187
816
456
511
179
163
219
660
525
671
967
566
944
541
520
992
616
129
47
149
669
98
832
671
765
418
831
289
401
28
123
322
599
281
282
232
248
41
600
562
363
227
392
654
337
727
76
129
837
455
139
370
287
661
65
669
137
908
517
200
888
125
279
467
21
402
174
770
130
115
549
437
931
425
194
736
537
119
551
282
355
448
51
982
639
990
263
912
44
841
199
192
695
944
570
187
724
980
602
490
899
305
268
106
616
554
318
259
306
329
842
741
865
833
163
236
23
885
651
939
708
391
423
144
230
496
17
952
111
68
864
922
234
559
715
342
843
742
760
459
127
251
636
665
163
993
478
563
471
710
373
643
341
883
652
727
597
502
991
591
986
263
413
782
752
392
172
389
285
385
145
923
422
610
170
399
254
817
547
852
885
291
665
826
722
42
584
408
802
117
245
814
990
542
719
393
800
191
194
709
277
976
671
909
312
298
4
248
60
28
54
438
415
471
110
412
881
952
800
72
573
531
357
602
312
889
654
670
176
539
583
792
280
284
484
242
69
232
350
933
686
586
890
800
138
887
171
55
284
275
498
120
875
61
532
268
989
899
878
764
547
5
687
194
982
230
246
297
317
185
539
675
210
39
591
45
113
425
186
928
57
452
996
266
111
734
978
739
865
300
621
125
97
121
614
26
89
362
852
364
859
627
437
737
889
328
327
369
363
757
891
961
311
793
388
307
60
480
533
566
84
807
573
568
811
966
639
133
200
759
46
339
845
837
29
604
802
337
39
871
829
757
436
334
888
507
920
912
857
884
790
488
456
655
798
347
833
288
121
724
53
273
953
308
392
553
592
411
961
586
806
692
459
37
806
889
683
102
7
556
724
4
284
467
997
726
605
560
912
581
351
531
319
804
771
623
895
338
980
867
840
247
247
725
970
115
290
558
424
681
800
80
459
637
570
275
18
417
730
56
772
229
27
312
785
379
351
222
826
204
22
89
275
541
76
808
869
782
623
623
160
180
298
288
389
434
724
47
985
438
434
592
175
8
384
528
380
299
825
995
345
65
629
710
305
452
32
817
39
917
166
691
810
310
127
535
760
840
840
817
213
70
593
262
790
222
941
213
814
365
831
381
826
797
832
850
162
927
168
891
773
306
728
748
764
226
308
365
929
677
107
887
480
86
747
585
173
861
652
413
826
749
853
756
857
218
342
541
107
973
451
314
766
759
913
405
324
304
726
713
17
794
385
350
3
935
992
369
331
191
199
298
640
987
635
707
57
568
200
501
130
365
469
501
627
150
667
971
947
716
584
861
727
333
547
744
474
196
626
610
271
144
924
464
684
756
282
638
182
572
735
403
390
489
985
46
164
791
844
47
694
96
819
871
192
168
364
495
283
19
249
553
268
752
685
35
972
390
915
657
381
732
161
487
769
312
177
460
431
134
607
919
469
620
452
264
368
709
887
981
242
703
534
17
686
994
985
366
601
887
488
508
558
726
268
912
453
513
632
755
517
491
558
606
791
723
221
504
131
536
397
346
100
850
87
610
946
839
626
712
552
374
47
198
523
873
187
296
370
234
70
201
349
748
85
655
781
881
149
293
834
941
855
283
282
802
852
442
578
984
83
90
592
374
588
167
274
325
198
688
622
163
652
832
210
847
16
530
973
930
331
480
709
522
703
946
781
184
911
852
120
819
79
64
286
283
68
486
855
542
995
183
404
809
808
574
431
979
294
147
989
244
161
42
265
63
456
441
337
373
15
62
635
466
423
693
991
380
796
562
708
6
112
526
370
648
946
999
109
448
199
26
543
657
500
709
912
646
17
393
757
479
464
625
213
345
746
522
856
961
476
158
653
52
989
278
368
134
820
864
299
874
233
508
517
286
278
390
900
18
948
766
199
939
774
725
926
959
898
918
86
957
930
535
615
790
9
706
857
816
603
689
246
395
623
452
957
756
155
287
433
824
803
475
693
184
879
162
649
591
357
746
177
175
860
83
590
570
263
569
710
668
974
330
465
331
994
486
314
196
303
496
71
891
901
17
470
489
196
370
489
234
950
574
816
791
789
759
272
519
478
379
310
283
284
786
386
939
81
77
63
916
106
979
752
133
841
344
340
394
352
624
537
358
954
657
507
125
794
214
309
908
848
306
745
895
84
436
774
142
691
856
302
868
693
785
3
227
516
914
414
593
373
495
900
348
394
274
103
525
794
434
796
953
467
145
869
362
494
527
210
969
476
712
222
414
44
243
324
3
815
998
148
987
596
947
411
362
812
279
808
78
68
210
765
909
249
810
788
93
664
500
533
632
942
886
359
306
72
124
251
650
205
652
726
402
942
473
932
757
834
130
282
726
426
568
202
734
137
762
369
946
570
704
983
474
628
386
500
863
763
915
820
42
797
323
761
640
377
249
398
145
379
6
707
516
967
898
374
384
277
744
62
728
108
391
138
469
749
802
766
122
438
533
68
740
543
344
635
772
524
702
360
83
385
57
404
202
214
924
925
927
196
610
740
445
295
39
971
762
177
971
496
1
626
962
583
634
756
953
184
719
491
561
132
251
714
539
659
85
267
760
95
477
13
847
177
360
503
73
526
873
490
727
96
129
634
839
202
528
745
627
331
593
944
223
445
615
235
344
914
980
445
306
717
283
862
558
480
369
861
758
106
116
433
951
515
222
965
833
236
781
304
822
755
441
322
481
912
556
867
184
318
268
248
153
883
298
403
170
828
297
105
612
929
239
457
554
716
726
843
844
862
647
707
531
954
381
666
294
393
477
348
337
225
674
38
415
427
683
259
427
69
688
340
849
602
370
646
849
560
637
548
434
553
74
299
158
318
621
918
371
694
36
177
480
308
424
996
414
19
640
774
536
698
995
190
917
429
729
955
271
833
89
563
208
733
539
735
138
534
520
775
222
49
579
376
920
367
375
450
142
419
399
211
752
849
504
857
352
42
519
298
50
376
315
140
712
965
135
615
683
265
29
365
753
120
808
14
861
734
173
464
65
438
189
464
590
671
312
104
745
323
625
723
707
947
456
216
600
711
911
755
604
995
572
127
722
22
250
930
197
887
655
160
399
86
114
620
195
193
724
525
365
674
416
833
393
591
784
522
596
584
185
146
478
648
916
621
965
762
584
793
603
539
236
536
827
4
393
952
356
977
983
88
338
883
86
95
613
928
772
432
411
248
227
797
860
958
48
186
722
749
767
768
503
470
612
689
160
426
627
486
281
675
560
78
354
357
989
144
48
742
698
443
347
312
517
30
594
745
842
778
753
861
237
997
528
481
108
232
572
590
75
833
803
394
925
918
247
213
369
927
832
817
760
383
535
458
551
595
623
997
551
300
192
664
281
349
135
428
111
395
912
700
416
532
132
246
395
468
568
90
956
873
840
691
25
982
526
823
43
356
551
289
947
122
892
126
299
770
350
730
207
632
261
100
532
301
605
927
613
652
336
399
756
772
766
307
196
66
192
877
503
392
99
808
553
203
10
753
451
629
843
973
786
223
645
176
321
287
832
244
758
792
117
11
482
112
798
223
817
984
767
240
156
464
229
580
253
322
131
423
874
630
790
445
416
419
728
164
614
312
93
563
967
962
29
510
225
338
7
365
359
81
467
758
842
505
325
163
10
16
611
338
193
42
561
355
776
298
580
302
976
699
912
158
580
301
735
51
845
978
627
669
285
67
855
37
782
118
117
553
838
147
859
99
397
652
680
744
692
268
891
501
143
36
173
573
37
100
793
397
392
463
895
720
369
34
465
704
871
294
357
132
126
28
514
121
751
476
18
876
598
430
846
614
249
757
600
707
74
198
205
191
900
312
779
918
771
293
49
453
433
682
906
654
748
165
965
497
324
195
834
676
145
626
319
949
54
55
136
884
663
233
250
388
734
867
596
480
654
659
545
898
41
499
281
685
97
900
564
840
401
122
249
378
144
230
966
23
837
486
669
9
617
973
106
687
581
620
981
849
132
195
372
892
698
915
904
999
722
512
838
850
507
642
791
72
554
182
550
502
154
860
622
847
614
307
199
481
225
315
740
800
846
720
157
990
172
771
808
681
82
779
437
859
810
85
666
279
191
840
325
235
675
49
697
471
234
244
307
693
710
721
957
603
401
630
456
770
938
263
919
93
526
605
693
594
190
848
412
867
937
677
541
859
42
430
147
797
678
284
679
162
964
77
972
780
606
871
415
689
665
150
134
481
680
52
982
82
880
279
164
108
226
200
707
87
82
771
906
131
333
529
393
280
534
624
162
960
778
787
674
593
120
597
390
422
864
985
181
777
353
613
421
931
291
848
560
430
22
752
435
623
950
757
616
90
379
399
97
806
702
786
303
992
496
946
453
256
436
157
560
606
159
396
11
778
526
225
896
437
243
212
341
812
698
21
850
482
964
735
757
92
751
471
486
830
62
377
815
168
566
159
123
126
928
833
839
195
14
348
89
730
379
594
886
202
108
347
114
474
212
342
250
934
670
100
903
68
419
258
668
203
438
375
445
450
5
454
93
703
577
614
761
738
366
170
32
801
89
15
203
309
984
616
158
752
32
30
432
646
328
504
737
148
669
516
15
887
70
338
2
386
58
144
516
879
615
949
400
487
139
364
537
732
644
679
534
224
903
148
324
9
963
979
855
57
518
899
835
469
801
357
563
156
908
363
762
19
145
352
810
124
225
642
187
25
139
900
241
983
996
783
622
950
918
512
545
698
954
580
217
474
219
366
258
243
991
168
892
887
62
163
340
451
636
306
315
702
918
844
898
686
773
201
964
614
502
72
306
408
793
366
474
745
877
246
562
863
109
761
159
532
99
129
27
87
164
780
114
464
39
531
588
470
824
738
430
13
601
382
712
545
530
471
787
187
230
137
72
1000
555
703
173
806
560
770
202
559
430
118
395
785
402
941
525
961
417
209
900
530
119
176
225
828
988
181
52
531
753
27
920
630
147
514
288
35
620
676
911
776
512
610
845
474
912
175
285
136
602
562
78
31
373
515
90
711
316
137
438
587
3
484
783
190
77
81
521
204
602
449
714
949
138
875
623
970
139
743
83
103
501
83
313
868
112
479
922
622
764
683
7
299
904
652
542
39
351
808
88
373
119
15
768
853
599
566
129
537
493
540
217
407
540
569
803
585
410
323
378
676
433
85
285
905
144
515
849
901
2
635
918
302
377
231
657
887
679
802
15
679
29
707
226
575
975
700
354
689
23
985
905
515
83
848
42
229
179
445
983
9
49
466
489
589
140
212
474
148
48
708
302
757
845
211
191
454
118
654
603
110
163
737
725
242
12
875
808
816
804
980
832
206
77
293
731
256
869
474
524
489
986
166
929
133
869
185
353
103
937
309
560
675
735
973
60
663
142
378
671
316
215
427
675
187
685
118
865
463
348
586
264
180
901
306
304
169
517
465
281
336
255
557
949
345
58
125
470
535
838
511
157
472
751
441
648
543
689
391
290
1000
890
999
126
912
222
428
351
450
604
751
890
734
247
254
908
744
596
20
631
255
869
205
666
986
793
767
616
896
574
593
608
352
594
570
789
189
868
828
523
373
843
247
233
392
551
586
878
540
205
131
929
428
403
167
768
440
64
280
841
714
509
120
836
750
738
88
396
373
326
387
889
610
111
655
313
510
975
269
671
941
930
810
377
377
190
177
666
832
374
496
890
238
823
902
141
95
238
150
233
447
239
153
17
170
321
994
984
128
75
326
913
244
548
61
764
721
392
490
231
492
615
793
800
900
626
498
36
805
225
831
388
714
861
631
89
538
645
804
387
641
412
877
434
932
677
555
10
411
996
458
515
232
46
978
893
685
385
889
987
17
389
610
164
980
604
75
666
62
753
287
164
742
86
684
97
303
817
893
44
799
900
510
897
253
887
94
65
374
337
849
913
684
802
851
876
444
276
405
851
178
726
489
291
605
613
914
506
303
514
718
636
725
100
916
229
23
951
225
708
226
904
302
286
122
194
503
342
960
640
728
328
858
686
915
439
107
165
871
881
575
378
856
684
172
876
869
744
826
410
206
177
916
121
940
274
60
501
214
451
759
713
241
565
155
494
991
870
738
182
36
162
434
957
133
960
243
0
178
165
915
931
472
476
194
899
659
990
419
337
446
424
519
868
907
164
298
756
344
982
533
261
926
263
906
847
487
309
833
701
989
220
611
436
821
705
966
171
994
532
876
511
459
305
175
33
809
514
234
489
418
563
612
157
249
617
267
591
937
957
132
846
293
202
469
943
660
818
293
602
12
511
815
505
706
122
172
714
470
682
305
759
39
793
192
929
807
921
504
402
898
640
603
898
474
302
341
175
543
658
865
617
554
380
657
385
583
589
22
197
130
198
434
667
423
533
871
607
335
482
235
229
81
787
353
919
975
558
499
915
534
507
626
576
295
562
500
288
71
407
94
959
169
113
637
220
292
782
495
965
814
65
783
690
113
661
982
537
152
449
346
460
791
442
196
971
422
362
139
534
297
445
569
172
494
800
363
833
380
45
575
208
81
634
280
652
730
559
771
520
981
504
762
905
893
349
870
128
937
835
183
121
233
715
450
171
19
480
771
650
410
294
425
420
574
581
668
162
63
734
329
962
720
745
81
87
254
667
979
525
830
518
536
461
729
251
539
535
704
303
876
284
461
569
104
556
780
51
624
842
694
325
510
706
641
806
505
312
920
818
748
420
709
253
347
756
826
421
43
939
689
609
812
323
653
457
560
5
869
43
815
496
649
231
329
869
429
153
671
195
471
492
655
41
208
504
82
364
436
718
450
691
953
794
817
505
308
925
135
316
663
385
120
374
657
921
258
639
591
19
702
86
581
505
980
224
802
70
59
170
891
797
142
747
745
672
341
100
891
857
987
907
130
299
402
142
761
600
197
236
668
533
126
449
283
969
865
113
760
249
7
61
348
663
135
429
70
884
198
661
402
840
542
731
168
450
831
195
438
244
148
716
810
253
531
966
996
456
64
263
48
762
22
805
154
691
122
533
506
357
928
96
64
899
80
0
241
968
656
490
255
163
658
968
886
756
176
565
864
396
674
240
919
156
261
651
57
130
713
460
203
198
39
490
385
951
241
491
98
87
481
799
980
635
766
956
667
424
244
560
453
935
252
1
457
841
108
388
534
749
501
380
718
593
945
8
789
879
970
382
185
584
162
529
486
937
655
598
826
903
459
941
218
147
887
264
256
362
64
594
457
881
19
196
452
415
596
549
89
737
232
821
724
773
750
215
932
407
673
547
984
515
616
236
692
160
759
17
769
27
587
657
717
573
487
934
159
16
645
282
298
354
522
302
25
399
79
400
295
629
286
650
883
146
19
942
338
841
157
276
851
483
572
243
895
620
15
465
374
255
954
163
466
36
58
487
513
398
23
956
497
564
113
662
904
587
801
624
34
441
680
427
680
592
623
362
250
553
348
815
298
193
725
8
612
537
28
963
928
379
130
878
457
909
36
149
146
38
354
100
164
624
170
782
297
820
666
911
17
344
254
881
747
241
964
733
864
936
136
233
143
313
385
569
491
803
803
357
616
13
727
755
792
552
392
233
478
298
672
530
20
264
420
969
543
247
359
546
120
404
328
621
885
168
697
508
732
660
716
271
343
29
66
656
499
543
789
766
552
579
963
756
908
221
254
875
392
858
250
722
464
650
949
302
291
694
264
849
372
520
86
607
724
631
529
65
967
664
322
280
2
47
655
549
17
934
206
554
23
965
983
326
753
926
435
613
734
158
378
178
592
382
752
320
878
66
831
59
606
466
341
321
746
146
604
889
840
737
385
70
915
192
878
233
590
424
930
416
531
859
500
298
154
209
711
938
606
539
298
676
994
88
317
395
119
79
109
268
754
61
814
12
951
909
197
270
437
213
312
762
996
765
155
556
672
58
746
70
364
94
616
571
226
746
503
667
150
637
263
101
956
443
824
370
257
435
683
745
796
288
566
586
107
363
981
51
14
405
727
169
286
809
390
781
665
508
311
568
241
584
736
14
900
900
851
405
634
627
854
183
103
207
47
220
554
367
202
758
504
2
232
803
772
135
737
106
361
501
862
46
711
83
145
354
794
375
631
594
362
443
951
945
900
852
971
718
955
804
556
835
247
637
345
489
933
900
968
522
336
440
897
146
865
702
586
76
905
140
634
804
813
302
970
260
628
424
485
830
228
307
876
548
570
822
666
346
12
876
167
266
130
215
668
83
918
69
932
40
496
496
959
353
280
658
926
211
345
492
138
814
148
995
745
19
698
778
690
587
78
407
977
204
10
13
648
518
87
785
339
712
583
485
757
974
13
160
405
828
914
634
524
735
648
392
897
405
977
591
774
184
590
618
56
812
841
412
920
988
150
494
472
727
285
229
27
57
565
866
128
46
172
15
728
141
743
859
682
945
307
761
557
472
296
146
933
261
828
637
248
579
961
794
991
927
357
979
728
884
500
89
80
680
765
66
829
30
774
655
996
261
77
865
532
969
575
859
840
451
324
138
319
782
537
123
378
178
643
689
856
681
211
473
547
131
831
851
343
239
882
417
470
863
310
554
626
496
863
341
82
268
223
128
50
402
579
18
144
926
652
751
83
284
398
943
689
674
221
45
978
179
959
604
439
595
633
973
367
728
687
966
851
671
923
231
398
969
1
927
495
222
317
735
888
594
1
264
74
229
556
755
285
128
429
233
373
327
273
845
264
451
377
145
264
662
174
381
879
747
728
249
770
946
737
358
308
254
820
288
412
54
827
956
143
792
87
519
8
195
82
423
851
767
264
433
745
637
269
590
880
103
848
550
837
799
840
399
387
846
804
960
248
580
505
939
582
897
945
673
864
220
234
41
16
196
633
118
69
939
534
513
183
109
786
463
640
820
985
46
626
176
126
52
669
765
265
399
255
487
801
879
548
825
58
975
11
610
932
366
811
416
412
626
262
177
232
64
384
651
833
977
999
952
254
789
361
149
33
901
570
760
208
66
470
530
252
650
635
482
144
177
325
262
203
971
812
649
45
656
10
749
68
566
736
618
836
151
764
280
64
801
535
844
907
703
831
776
924
585
944
558
214
30
401
796
285
160
481
260
674
788
707
886
658
82
672
142
680
39
612
113
865
907
455
85
97
308
655
704
681
903
104
732
145
756
390
51
13
416
852
740
197
184
748
846
399
502
55
642
723
390
428
677
801
947
682
892
788
17
755
855
329
308
326
370
700
634
942
106
235
293
957
754
318
697
783
933
36
702
515
777
617
914
561
708
548
628
398
877
731
425
46
615
850
135
375
32
486
914
62
501
305
689
787
19
215
182
564
502
276
41
588
252
39
202
647
362
961
82
164
334
718
339
487
897
693
857
588
339
207
519
999
146
498
133
594
180
483
782
965
90
205
326
765
893
104
789
450
571
185
494
341
915
607
58
341
341
140
617
853
307
806
469
450
358
834
314
379
286
751
892
528
38
447
348
601
483
598
151
620
277
845
597
65
258
969
314
354
52
269
113
351
472
682
971
394
965
931
692
668
425
884
412
368
821
162
854
700
633
905
454
379
8
174
520
350
505
860
526
277
147
368
726
410
239
957
994
897
259
984
607
931
196
634
155
217
547
105
994
92
904
149
361
622
508
492
288
585
136
110
523
796
137
237
104
153
364
210
130
454
511
751
94
797
287
287
498
229
267
191
475
411
354
582
802
564
179
789
533
570
995
512
360
430
657
858
974
918
769
555
207
190
73
126
650
164
689
577
996
599
426
814
723
786
180
696
946
444
710
570
215
806
943
635
111
140
270
32
754
693
285
335
501
775
920
260
62
148
376
929
988
241
788
672
488
71
661
14
332
921
215
310
29
321
396
881
969
528
69
167
478
69
607
258
546
615
513
930
529
778
60
650
108
180
7
979
230
357
443
447
89
76
106
443
593
355
417
751
6
613
841
579
632
390
809
28
692
668
999
842
391
145
858
746
5
226
972
766
64
724
831
455
21
408
97
195
349
77
997
185
70
991
107
163
117
746
781
94
772
56
134
761
330
19
949
912
576
2
947
22
864
123
884
578
387
144
62
586
164
609
675
878
396
771
760
407
573
343
351
327
764
215
766
65
244
347
820
192
558
104
741
259
764
701
911
961
518
849
972
706
888
158
956
543
757
7
961
574
955
877
40
42
64
966
544
704
532
573
589
58
756
80
599
255
650
735
87
247
565
815
229
12
84
693
907
634
104
98
773
879
998
333
55
612
643
77
480
663
127
540
0
468
822
440
829
815
612
699
40
871
852
338
823
806
736
204
292
831
472
458
923
486
383
150
273
818
682
107
90
686
151
274
482
764
948
361
632
840
872
649
842
498
942
809
315
795
517
535
222
842
260
487
137
696
960
532
682
842
978
787
700
215
179
477
189
107
710
967
505
757
218
748
567
63
871
326
677
287
979
306
322
265
433
362
150
909
418
404
254
445
132
608
26
783
631
775
188
404
357
840
328
804
684
769
792
417
65
285
839
121
437
82
726
499
131
49
248
361
619
320
457
973
132
4
563
429
708
662
888
243
625
434
594
650
467
499
601
146
849
174
758
637
593
72
482
978
860
899
606
804
839
376
920
308
254
713
696
428
519
721
470
483
811
656
966
447
589
322
682
539
165
807
452
691
51
252
372
958
413
997
82
486
360
302
93
689
322
592
218
168
312
388
749
243
885
367
568
684
857
288
533
261
121
264
175
625
482
476
993
749
635
896
114
145
439
970
347
103
558
188
790
743
866
409
866
229
497
614
313
870
203
870
514
847
5
326
455
359
925
41
283
132
104
3
793
430
595
128
806
755
679
939
651
305
87
515
2
533
789
615
587
949
262
368
134
959
985
244
393
627
585
346
697
953
262
259
24
745
30
771
250
108
275
715
266
448
675
261
413
30
809
765
648
3
880
317
766
941
163
528
569
403
119
371
317
27
639
906
709
521
824
0
779
313
239
85
673
490
364
735
669
200
93
909
747
185
441
109
911
828
417
425
481
285
822
831
333
933
540
159
18
859
191
861
375
39
834
100
156
772
802
461
350
660
127
606
578
3
777
26
676
414
787
820
348
232
565
818
61
292
776
963
164
151
217
135
124
400
662
343
298
184
700
383
903
698
227
823
951
408
233
627
964
379
853
248
931
623
554
910
673
426
92
587
703
472
885
301
50
850
978
899
234
626
20
769
68
997
476
215
345
333
786
856
727
653
191
269
823
0
969
458
601
18
899
350
547
987
324
901
91
385
717
47
202
551
539
86
50
798
342
150
120
55
365
212
281
555
566
432
415
467
229
260
111
90
809
440
52
649
904
903
732
811
200
586
340
416
139
92
605
974
538
858
390
211
383
877
108
747
915
942
303
751
152
932
145
971
146
158
456
565
594
225
13
542
621
213
18
720
564
982
27
337
107
232
251
378
412
606
735
482
75
587
835
965
281
671
472
144
254
15
616
984
701
576
939
118
691
801
293
39
689
390
388
56
652
419
403
528
160
168
736
700
681
722
470
663
992
970
87
509
99
552
414
604
16
934
945
4
582
635
187
856
156
250
986
188
214
408
612
868
696
148
500
285
387
474
614
478
553
717
37
55
131
720
125
234
547
762
550
907
373
190
372
890
406
735
339
473
806
824
168
976
800
47
130
122
661
706
983
601
920
993
95
87
951
88
748
554
824
832
758
268
48
620
423
558
348
195
307
104
388
5
101
605
517
7
108
456
548
113
33
425
207
266
422
90
190
372
970
602
550
83
245
92
708
647
935
475
251
265
748
66
828
140
222
964
273
453
150
708
624
274
562
342
236
87
955
540
602
648
342
205
659
536
200
745
684
568
613
455
381
969
701
378
176
620
506
954
49
422
895
352
266
709
136
819
355
834
369
1000
845
993
584
207
276
693
171
322
713
506
673
464
299
810
145
559
170
459
272
885
762
741
772
308
770
50
424
432
418
89
551
980
245
100
551
921
599
754
816
463
749
780
463
459
448
413
178
333
921
664
27
425
625
852
66
115
886
209
110
642
568
205
742
67
223
566
24
79
304
150
584
462
601
261
336
540
359
555
254
760
589
834
745
652
159
288
490
941
783
999
941
660
553
653
137
99
703
524
486
435
385
890
269
677
105
954
181
851
549
615
110
257
538
723
910
338
171
773
165
431
690
773
634
29
998
17
996
743
944
30
735
263
391
121
644
457
132
840
33
891
803
162
857
156
659
108
90
257
302
917
188
665
341
661
353
890
243
200
733
933
887
890
277
320
804
332
56
12
686
725
244
356
564
913
493
520
37
2
887
114
276
624
57
139
250
4
414
325
27
923
383
905
704
352
113
384
10
258
521
424
656
839
585
533
14
349
935
344
441
369
542
970
29
496
110
441
560
334
314
774
529
67
565
175
903
280
734
869
547
770
177
536
867
46
441
932
302
145
811
42
663
118
737
793
875
865
992
69
733
828
988
563
333
812
799
360
933
852
580
508
652
152
513
619
401
469
957
120
0
0
187
469
648
624
799
893
162
798
435
807
402
332
660
125
818
387
60
156
425
913
404
820
510
973
870
773
344
737
127
67
520
420
791
367
861
746
861
126
271
316
367
292
971
11
84
6
815
927
805
791
306
117
632
728
706
486
602
798
11
469
179
285
371
427
567
574
949
750
198
416
524
453
136
253
311
7
727
188
120
112
831
579
616
666
324
264
358
203
612
377
225
33
35
986
572
241
907
443
203
323
68
942
686
397
705
584
482
307
155
564
374
112
116
852
578
590
515
812
515
723
12
781
600
122
342
94
612
645
206
237
417
680
591
116
663
794
288
505
165
851
450
920
831
112
493
898
56
532
960
410
804
375
545
796
407
549
556
596
762
981
563
57
618
251
724
595
805
282
680
911
703
871
647
746
857
191
814
64
309
901
904
373
941
387
111
190
389
83
658
600
875
237
884
559
284
702
898
949
27
898
606
455
301
593
909
916
32
774
769
282
996
879
441
20
818
836
967
574
976
0
921
356
823
822
320
6
853
113
387
220
256
880
674
430
49
657
697
564
536
526
318
281
771
167
765
888
392
294
48
239
781
332
828
193
930
12
129
504
943
44
132
837
57
350
278
414
447
966
284
337
559
525
818
800
281
563
974
539
732
659
392
389
212
323
386
752
146
902
680
814
355
636
325
822
4
908
544
306
798
469
811
472
816
528
820
788
127
698
349
175
905
584
153
920
918
689
388
472
701
79
155
353
836
763
262
593
300
779
133
279
201
625
908
778
171
892
640
990
412
760
596
163
145
621
981
36
632
668
76
929
557
424
17
100
534
884
145
423
232
934
227
3
916
399
793
587
563
880
191
905
470
499
730
572
965
490
586
206
164
171
283
843
563
463
626
510
282
541
277
379
142
187
609
523
724
825
698
92
935
764
997
303
474
955
361
309
629
780
517
312
221
341
419
315
703
961
219
111
85
936
443
640
45
58
483
909
69
818
861
834
949
899
436
18
381
860
845
650
694
808
853
385
269
358
422
800
530
764
815
110
928
850
10
74
317
523
748
985
323
367
794
805
499
679
765
226
398
920
296
414
301
153
709
530
325
208
131
629
912
410
221
703
577
93
429
972
863
702
850
435
361
743
845
109
419
88
713
254
172
452
670
561
615
191
692
494
253
929
987
436
142
397
147
946
487
487
641
245
220
935
867
557
956
852
962
378
196
603
321
637
993
879
940
412
965
205
386
980
195
970
145
215
257
370
700
442
473
612
665
534
352
956
673
36
728
4
568
363
456
117
462
789
355
731
164
589
161
511
168
886
481
715
49
697
206
704
726
319
719
665
498
600
501
884
23
166
883
379
327
164
518
687
195
902
961
463
236
534
159
44
745
597
245
520
200
597
145
798
618
790
575
78
324
665
801
633
964
566
616
328
550
677
508
479
762
811
86
504
741
605
645
154
512
264
52
625
982
493
794
117
741
265
323
342
907
277
817
630
603
385
668
490
557
889
571
774
933
865
510
531
191
843
970
604
745
221
714
486
576
174
473
410
319
858
923
188
514
116
620
589
259
249
369
541
750
406
10
651
424
754
522
584
63
479
673
512
639
684
931
649
236
535
706
828
811
644
15
287
90
142
555
277
503
943
633
22
132
449
578
700
546
790
17
936
489
232
735
834
265
867
168
220
459
808
909
777
617
513
991
165
457
853
215
351
926
680
908
641
472
903
396
884
158
691
800
253
167
74
80
293
581
990
990
42
532
538
509
235
205
605
314
251
238
799
978
982
858
889
359
291
547
392
587
407
371
208
785
597
17
998
177
371
22
573
250
168
823
760
401
930
893
931
120
622
484
425
460
942
806
38
872
903
700
996
784
943
806
286
575
308
564
391
810
904
112
477
174
918
471
555
357
758
843
462
365
566
899
999
779
852
246
433
572
455
286
347
900
612
977
903
322
903
390
789
159
691
297
219
79
241
29
352
840
599
415
870
567
793
924
513
443
509
788
219
947
116
827
815
918
853
784
417
763
615
120
575
871
447
205
970
25
125
677
374
197
273
863
171
551
63
436
668
311
112
756
947
405
910
278
182
810
207
379
114
399
85
699
82
770
903
568
284
374
303
423
703
924
440
192
141
863
740
739
732
174
735
807
889
882
518
608
986
361
389
371
805
639
274
471
436
748
856
778
1
874
444
953
149
153
405
130
888
42
313
612
606
157
482
819
55
19
630
706
955
427
76
363
912
302
308
770
742
667
84
639
206
298
607
393
909
756
306
163
222
959
68
239
275
470
157
121
937
589
764
761
693
963
922
318
976
497
496
713
371
390
298
864
771
451
375
886
562
171
791
708
652
249
110
873
977
189
821
89
913
685
40
267
677
806
164
790
699
535
895
249
146
105
240
12
193
102
59
774
821
483
43
319
402
230
71
185
714
35
869
574
644
375
472
214
50
743
666
510
785
922
629
247
858
900
50
991
189
579
927
890
889
700
434
302
827
836
488
726
185
527
812
428
571
451
546
651
501
200
721
734
591
222
468
113
73
993
933
314
896
849
757
605
266
539
152
87
367
670
916
249
721
368
622
311
781
0
239
510
550
702
876
515
216
586
973
452
717
504
481
209
940
269
677
921
724
295
993
76
688
462
86
6
238
716
706
630
685
801
790
636
299
300
286
464
768
691
173
227
191
760
190
917
92
830
369
755
797
974
563
501
795
377
808
167
815
494
204
536
129
266
517
327
163
956
940
206
594
506
584
686
676
657
368
176
671
50
581
552
523
929
49
418
597
52
165
672
231
128
305
383
80
196
71
976
162
675
857
357
886
434
204
666
155
41
355
573
928
212
909
397
604
255
567
656
377
505
518
947
524
557
116
80
903
919
868
780
451
206
126
36
520
87
812
426
119
103
438
864
941
56
72
804
550
75
747
673
121
396
932
711
880
640
584
867
60
921
934
976
300
42
749
671
768
296
369
4
176
187
371
131
504
846
526
51
689
755
4
133
607
791
902
730
564
458
279
420
732
943
399
293
897
663
854
102
945
204
372
303
772
453
308
686
533
8
783
583
205
761
680
611
252
84
444
74
912
911
535
681
991
335
149
201
429
227
90
883
251
2
685
856
152
193
495
926
116
859
7
688
713
443
697
593
650
826
396
785
686
501
645
489
331
157
152
600
594
932
100
399
418
961
665
115
116
646
476
157
951
977
247
855
8
995
645
173
719
360
709
561
235
682
521
160
890
637
413
373
179
695
94
130
815
173
616
665
527
476
537
248
223
872
974
178
461
963
55
228
259
977
648
626
135
664
966
979
806
785
151
780
911
291
414
755
710
278
177
140
62
404
265
436
425
815
242
162
734
10
139
956
594
578
86
771
979
850
795
352
489
162
971
289
813
624
120
543
316
73
617
685
991
707
304
913
519
635
886
68
739
375
13
415
61
717
477
741
227
273
858
187
649
752
416
720
229
831
939
713
257
879
753
505
115
657
825
970
275
930
722
556
523
428
819
468
132
396
54
230
595
589
816
701
495
765
397
384
19
301
889
706
590
990
478
637
996
83
805
709
977
247
957
213
262
287
638
58
994
391
62
345
414
337
367
394
447
308
682
118
887
497
445
127
568
154
421
994
757
703
868
941
798
518
273
273
239
382
963
92
273
139
264
983
31
382
152
83
218
980
800
898
918
911
960
835
37
602
324
422
76
671
265
490
279
499
146
731
880
472
189
924
705
88
906
816
316
792
731
45
233
683
587
529
968
185
209
474
404
44
7
166
309
258
687
458
970
563
201
770
733
870
571
51
841
416
383
627
345
961
753
270
196
235
101
338
909
516
493
199
640
987
927
424
80
827
393
902
742
789
638
461
18
316
349
87
72
695
509
906
277
246
642
616
412
873
589
148
656
677
292
603
949
548
551
500
731
441
18
925
473
671
588
813
575
39
944
112
532
685
327
749
272
825
951
488
119
839
270
974
767
161
590
941
39
886
675
589
987
145
829
822
655
173
297
618
613
600
487
460
734
360
30
26
16
83
489
495
995
364
192
999
887
126
603
478
950
874
43
388
305
730
598
209
681
468
517
221
55
827
440
685
697
111
25
750
851
801
864
119
15
897
171
745
62
615
561
319
895
646
852
603
938
651
251
866
983
277
400
863
398
350
213
840
257
188
768
701
477
828
45
927
201
492
286
768
390
46
378
169
507
200
548
109
737
151
178
30
594
480
581
707
743
732
767
935
107
30
254
446
624
342
954
770
982
475
649
818
223
536
755
568
154
662
157
274
185
683
409
998
156
466
528
292
330
509
409
852
709
578
491
302
351
780
861
670
246
434
696
361
659
370
809
91
372
292
796
713
735
668
904
363
224
678
936
115
907
273
985
572
357
753
268
486
151
596
448
575
293
555
35
77
468
315
690
362
379
956
881
354
309
988
462
137
860
294
546
883
434
747
639
632
610
670
435
135
979
235
788
125
142
172
88
176
581
134
376
315
412
154
31
142
257
959
479
345
894
698
561
421
753
251
89
763
689
376
249
344
124
453
71
689
539
622
545
246
842
693
974
373
840
761
36
953
714
160
184
60
345
418
923
418
824
26
95
267
768
165
232
853
721
550
468
302
870
396
24
294
553
66
188
944
858
934
238
29
559
494
255
526
44
929
717
291
237
931
524
875
568
170
642
516
844
698
419
243
77
310
373
741
9
94
688
620
145
365
247
825
759
968
879
615
419
400
577
627
635
240
887
522
833
781
906
739
786
215
739
53
952
76
180
967
572
327
696
449
253
68
571
818
973
230
625
29
72
356
541
614
599
578
550
909
610
181
765
994
740
881
118
517
816
971
437
861
753
457
196
256
550
329
933
244
481
980
535
779
475
544
497
515
760
800
497
757
301
755
482
431
496
812
867
445
4
959
231
784
188
243
204
27
839
959
733
928
230
580
704
870
140
548
777
984
681
186
158
181
732
394
338
684
484
897
275
892
681
181
854
210
391
124
241
488
923
577
956
209
149
88
154
497
989
119
741
136
424
828
712
302
314
217
509
299
771
561
409
382
902
302
488
102
73
605
959
945
329
313
190
263
943
121
267
465
733
890
645
502
18
539
175
992
896
998
444
582
817
934
818
454
833
840
517
124
197
303
805
871
389
998
558
28
178
695
562
540
426
608
942
210
834
488
642
287
850
362
875
299
624
456
720
147
347
376
254
570
870
218
290
780
17
977
732
56
385
86
110
735
635
986
590
572
450
833
235
119
14
111
709
22
45
7
552
55
991
934
466
835
238
662
937
650
793
625
588
307
528
814
697
177
994
626
861
137
29
307
44
115
487
79
237
65
840
800
325
730
391
474
488
191
664
594
293
755
127
705
247
921
496
658
171
983
753
911
154
417
739
897
142
915
359
168
554
618
852
949
189
63
976
448
376
540
939
640
982
347
191
323
830
456
751
265
197
979
26
904
747
927
293
565
930
767
755
704
972
877
171
664
196
101
435
321
650
335
25
719
854
227
703
762
629
59
307
94
739
816
94
340
358
743
826
285
630
792
694
823
184
478
358
687
258
496
346
48
150
426
520
76
183
963
941
567
172
308
227
407
35
379
128
366
593
183
133
886
911
460
15
429
952
367
162
188
320
317
745
937
379
377
834
835
29
540
6
51
188
739
951
809
963
693
503
771
768
328
903
238
305
957
741
971
364
170
885
633
310
618
787
671
544
397
211
34
529
770
981
951
864
532
499
472
990
733
147
717
197
399
245
563
295
87
89
846
18
229
571
817
208
548
365
946
823
928
836
561
218
259
294
934
460
417
196
351
632
643
231
851
883
365
940
988
958
699
123
223
125
109
240
654
971
964
344
886
557
894
758
710
896
126
357
527
884
641
536
592
987
204
86
350
120
966
478
470
469
746
339
915
24
177
356
702
564
246
453
646
195
542
134
583
294
149
295
509
917
701
600
700
851
996
718
70
271
680
651
406
844
196
652
603
775
358
537
533
649
946
940
553
861
802
707
809
969
153
31
904
635
801
66
576
981
957
814
487
635
440
324
294
746
386
325
964
758
757
227
417
173
841
400
125
95
659
666
969
331
491
540
63
235
258
676
945
596
184
400
132
789
607
400
482
968
564
715
558
309
204
158
800
798
579
337
203
869
767
197
770
285
144
677
451
646
244
585
556
884
302
670
109
977
133
662
20
780
85
603
894
318
793
983
36
662
265
411
713
988
342
793
89
811
129
264
606
471
190
806
342
443
392
958
129
408
767
528
339
585
295
911
221
909
50
673
693
870
277
680
115
694
136
681
856
996
127
18
118
67
588
591
300
917
503
495
491
504
552
261
450
732
76
473
984
907
818
715
69
258
815
898
441
585
311
325
526
904
25
192
992
725
553
28
172
613
115
840
923
662
486
176
11
66
903
291
459
946
218
2
24
417
919
993
526
642
406
498
973
531
733
125
678
258
684
32
931
397
527
596
858
972
317
867
575
555
984
288
424
651
234
555
892
602
781
669
871
491
430
587
69
905
614
332
827
317
8
969
66
669
207
356
433
72
88
534
51
121
533
51
735
377
282
26
100
848
501
211
667
101
704
207
498
688
457
880
930
269
795
489
832
247
58
284
781
953
205
13
292
698
482
73
673
740
471
501
452
352
411
861
133
150
92
815
665
993
369
83
1
430
8
815
371
786
735
143
440
210
60
63
369
924
814
239
758
110
908
601
579
371
231
184
406
324
628
454
621
167
191
320
67
431
610
968
602
462
43
402
278
916
572
180
517
398
285
379
479
881
274
406
260
732
34
397
358
679
73
120
657
441
351
532
14
300
466
512
522
765
782
810
856
448
39
867
948
819
2
92
571
995
490
792
512
381
560
591
395
192
256
806
126
538
1000
296
341
638
965
938
762
576
499
302
537
121
905
752
921
894
495
586
952
333
190
135
41
80
179
419
862
227
615
358
617
839
570
813
308
393
96
516
73
184
835
67
607
584
748
591
934
179
294
307
442
929
209
873
778
586
184
818
384
412
68
299
721
47
498
280
404
402
513
221
905
743
350
44
219
911
853
630
667
977
523
427
496
928
46
784
288
210
819
206
703
586
26
682
717
805
413
67
991
557
857
322
645
856
149
228
34
33
765
44
549
918
111
598
213
938
655
78
811
602
274
369
965
159
270
373
941
205
326
541
279
261
694
83
713
948
604
873
491
655
729
129
938
1000
891
60
586
170
763
614
975
521
387
386
493
252
972
397
903
241
35
313
399
257
453
670
988
546
815
165
991
239
171
350
355
505
430
552
893
560
779
546
433
467
52
62
510
922
55
350
272
177
992
551
532
690
885
512
928
315
58
234
894
587
788
635
430
925
756
838
428
613
202
977
531
379
363
133
341
260
873
831
494
868
609
761
978
272
666
659
916
550
632
174
424
348
212
401
418
824
979
299
742
237
264
331
351
842
328
343
396
623
924
109
903
567
20
195
401
24
409
945
116
171
415
452
146
860
172
564
813
518
321
79
222
973
443
146
438
569
184
549
367
166
201
574
835
91
372
136
939
106
892
991
131
610
325
691
664
125
723
787
697
349
978
923
1000
781
403
737
533
530
668
591
270
777
125
304
968
698
599
35
37
565
836
658
876
703
376
444
472
75
714
168
653
466
106
972
115
532
780
954
137
959
451
354
143
920
995
647
56
667
844
998
42
550
746
120
763
279
629
438
393
999
93
938
999
297
359
237
330
578
382
52
479
868
673
767
258
571
958
340
890
759
374
588
399
923
75
359
821
335
634
822
451
211
918
493
12
977
764
133
434
28
530
709
328
229
119
686
603
682
295
850
261
172
672
462
645
306
255
160
58
385
622
290
925
344
508
251
873
319
74
842
89
489
434
920
570
17
599
487
506
348
63
279
625
563
184
128
329
949
791
381
886
696
412
193
39
297
726
381
44
909
374
568
64
892
340
964
15
74
1000
692
149
627
665
808
681
350
315
335
198
610
753
49
576
46
379
131
815
662
162
897
718
976
362
870
702
855
703
349
557
791
485
962
187
469
42
367
754
947
720
700
428
864
400
68
940
731
370
458
154
742
732
253
193
560
251
63
615
363
822
746
554
935
487
938
14
908
386
664
752
987
563
123
161
210
899
517
891
646
194
420
426
647
323
663
358
995
335
749
978
432
729
24
622
764
31
817
879
576
823
941
821
138
14
995
102
853
466
10
105
474
93
684
871
915
299
973
121
0
888
182
208
138
705
410
730
47
819
912
824
630
315
415
859
79
876
838
806
525
986
65
505
262
670
83
539
163
376
234
378
758
146
757
236
987
407
744
25
34
816
109
59
544
526
786
617
344
781
925
782
736
115
7
756
114
27
741
165
204
208
988
630
529
363
462
445
383
622
286
487
52
545
865
744
39
451
637
330
737
197
324
822
690
766
57
150
226
255
162
912
547
63
656
846
457
336
33
785
629
22
102
834
971
860
626
263
630
902
169
923
283
378
159
715
375
554
317
158
385
153
903
606
244
395
170
753
109
860
558
290
971
466
305
310
249
43
830
904
90
213
198
429
999
965
426
918
689
335
896
175
54
120
294
693
448
449
483
219
784
225
458
353
883
763
788
656
440
894
14
372
382
601
77
125
916
111
10
98
386
572
965
41
182
620
956
652
893
404
117
10
189
611
765
231
251
993
906
32
570
405
323
643
983
326
433
386
8
662
817
852
998
468
734
593
120
416
393
803
479
304
1
606
774
625
275
677
251
865
421
440
249
620
702
712
543
267
80
832
859
711
42
258
219
91
526
566
995
847
605
848
100
672
419
73
928
713
635
606
221
125
16
805
711
324
12
781
531
204
467
450
856
817
56
866
809
702
287
746
608
666
505
636
608
946
86
765
124
29
976
137
279
722
771
307
746
554
739
569
421
673
488
674
427
960
169
196
511
682
627
751
937
301
869
713
543
200
998
139
104
127
353
648
478
83
537
464
923
732
754
545
488
517
818
910
137
812
727
831
920
975
165
272
557
556
67
201
941
912
247
127
21
771
527
657
985
724
615
429
184
28
774
593
467
479
744
36
307
768
372
558
181
404
263
17
323
258
688
814
171
171
793
291
851
985
718
573
445
843
684
995
170
191
17
315
856
49
33
860
30
13
332
905
579
236
30
93
398
713
178
751
295
403
154
866
80
917
916
438
269
68
770
195
656
429
594
28
641
228
978
953
492
572
30
346
260
716
835
573
603
372
634
671
479
260
631
181
805
202
719
316
355
651
862
670
254
119
511
200
590
907
752
138
783
501
92
836
156
632
861
360
299
450
929
341
651
869
261
268
539
395
52
949
468
16
153
722
857
822
168
591
91
874
554
395
752
954
842
934
831
603
567
27
671
518
823
946
501
193
866
455
479
377
948
751
402
93
560
239
850
134
396
729
674
718
594
26
514
920
955
784
618
600
210
898
536
325
680
365
796
294
835
158
695
473
620
141
504
469
746
964
761
297
763
877
212
960
39
830
2
827
926
293
753
469
832
406
315
568
644
762
777
239
138
520
473
835
934
382
973
973
163
867
934
493
740
120
246
809
813
919
632
793
599
612
811
46
723
72
784
52
821
690
909
38
911
234
549
217
798
839
992
642
540
274
466
901
40
170
662
616
137
527
998
60
23
616
790
312
845
448
146
390
666
846
277
290
882
452
620
941
369
411
106
143
596
433
594
963
561
53
12
521
944
664
258
244
584
484
451
561
880
501
969
946
919
956
816
903
799
272
224
517
10
317
736
939
605
615
280
822
818
569
45
885
214
942
339
586
202
596
799
165
572
968
993
461
686
102
158
42
805
467
2
102
465
805
307
13
273
712
240
388
668
389
19
550
792
632
77
578
708
10
293
15
885
534
414
87
242
375
387
836
555
862
789
752
725
178
306
851
926
910
410
490
115
395
129
986
0
798
693
827
495
871
1
475
955
699
453
217
215
157
743
531
323
742
327
216
17
512
171
41
510
625
781
282
605
955
706
455
102
242
802
566
470
522
72
434
189
928
638
225
687
844
354
487
969
495
947
82
410
137
247
316
68
603
824
153
110
962
360
414
427
412
251
162
889
475
497
464
413
482
575
41
526
66
596
247
982
97
56
185
545
556
121
687
677
791
204
15
489
355
996
137
980
870
633
33
345
801
555
283
596
465
824
318
806
716
518
854
410
68
847
265
498
737
444
136
83
607
73
517
334
182
568
531
824
796
282
244
387
241
410
194
181
762
951
258
728
696
982
549
26
321
180
146
153
248
273
979
63
540
94
633
49
642
578
154
802
95
99
489
905
930
985
354
29
758
414
968
342
699
69
503
455
939
917
202
238
962
949
540
493
773
933
351
52
15
953
886
458
404
938
801
10
255
813
669
976
432
150
645
439
845
460
461
588
732
723
573
696
817
676
938
921
310
751
987
71
303
462
86
471
543
97
366
189
779
407
663
864
859
146
615
20
821
213
478
526
25
58
1
427
849
705
903
343
251
252
256
941
837
43
29
598
967
639
997
88
514
918
926
433
616
83
625
756
115
447
289
304
361
667
403
633
579
660
146
463
381
620
755
384
804
725
420
607
729
637
616
129
533
397
581
544
532
871
52
640
850
742
982
722
26
648
917
107
546
823
244
782
815
942
350
151
928
648
492
562
199
719
409
137
720
261
940
91
13
439
456
623
628
359
695
224
197
80
334
125
671
907
558
209
895
426
692
438
661
630
491
164
293
183
922
263
693
667
255
318
184
357
874
540
374
841
211
682
713
50
772
346
933
154
803
80
963
196
627
680
37
200
80
206
16
975
877
986
250
279
301
338
685
549
936
370
142
708
503
744
360
715
615
487
726
765
27
470
657
856
295
92
401
67
949
277
434
881
795
288
547
893
610
510
165
735
425
687
27
606
69
842
392
362
960
623
397
821
723
170
612
334
665
598
849
937
333
2
333
170
870
356
581
240
665
486
354
301
414
106
332
96
208
445
337
800
615
142
940
463
782
446
126
358
786
50
215
942
857
628
970
59
797
402
594
159
571
982
684
639
298
557
580
145
656
86
329
258
467
318
419
473
232
819
340
21
139
315
323
935
221
660
690
579
315
199
245
134
83
830
745
415
288
849
263
138
95
403
443
447
937
565
903
714
78
920
373
329
601
419
799
855
235
404
658
181
85
694
819
276
778
171
209
436
827
628
637
703
186
282
503
183
703
457
30
352
926
489
691
590
809
297
738
587
453
36
846
904
334
373
295
78
688
439
721
817
593
734
20
509
777
45
296
58
34
135
947
899
630
237
963
477
137
564
303
318
697
963
17
102
353
528
666
541
635
801
764
627
189
603
42
788
511
498
305
288
983
162
854
498
895
912
6
406
698
871
838
188
602
613
896
356
225
508
893
842
414
177
486
83
883
254
994
596
647
814
744
408
484
787
972
515
217
723
367
436
594
428
545
866
127
949
911
44
237
71
797
59
343
352
822
67
675
934
799
947
167
996
601
716
390
648
528
613
632
765
897
477
257
957
10
753
750
196
246
785
196
530
894
302
719
185
444
967
255
81
803
441
984
394
787
362
476
93
447
8
550
298
121
384
748
577
151
444
471
857
891
259
299
947
858
669
53
218
430
832
351
254
822
409
837
866
220
78
189
322
80
706
32
967
561
302
318
26
282
1
292
814
623
540
892
653
309
64
116
10
501
547
847
522
360
333
413
382
493
465
326
409
633
806
941
868
715
644
499
658
280
671
647
726
700
745
77
526
278
297
413
490
661
729
810
916
491
224
291
307
614
657
678
387
565
591
930
875
269
689
545
708
995
717
5
661
115
724
406
537
793
594
193
276
723
978
141
321
940
561
15
881
107
962
340
257
421
32
489
209
299
730
981
824
252
763
976
427
958
740
516
254
137
889
7
386
386
447
899
486
401
645
901
844
841
592
833
354
965
173
462
49
994
128
643
345
69
485
238
783
727
441
179
836
499
723
797
383
475
316
514
197
676
711
224
740
292
537
443
265
507
408
813
323
845
58
827
457
211
338
707
639
530
989
845
636
855
822
264
578
954
258
563
99
414
812
297
19
794
167
520
317
272
41
661
430
27
900
363
702
587
403
416
254
643
695
202
507
785
634
880
229
427
810
347
877
103
146
932
314
925
151
977
217
221
740
276
185
828
389
319
717
966
692
338
906
412
890
141
334
926
926
671
128
758
279
200
378
130
882
554
434
427
47
536
522
488
272
102
578
30
919
685
269
242
199
791
696
575
180
882
570
207
287
698
392
185
861
656
690
819
142
179
606
675
751
203
152
860
408
919
288
527
968
947
214
565
333
689
21
916
791
400
905
697
793
314
853
80
987
508
576
471
494
317
955
249
34
594
850
704
524
158
888
40
209
501
703
882
394
79
920
624
847
211
549
142
923
729
922
788
107
150
787
318
983
38
615
550
521
626
562
360
85
123
433
109
245
980
354
854
182
330
567
114
397
552
15
24
43
813
757
335
46
145
126
933
872
506
422
603
134
388
276
332
883
858
727
446
931
583
489
658
643
350
136
313
524
20
1000
64
548
42
65
360
919
531
23
564
758
317
836
915
245
548
773
572
641
150
52
547
39
952
507
704
955
620
412
646
966
781
51
227
942
263
193
449
544
276
347
678
926
77
464
97
476
316
914
732
723
963
294
530
223
882
4
137
511
397
461
16
251
767
802
579
900
300
945
867
454
305
427
386
315
185
861
364
110
957
95
398
660
225
817
138
955
16
581
82
537
948
124
275
552
191
184
564
48
48
405
841
177
746
877
981
238
108
196
171
865
81
71
339
836
842
860
766
758
766
243
908
189
270
0
944
243
99
815
472
51
938
107
213
198
271
258
931
514
604
711
451
623
461
177
596
118
428
246
94
478
772
548
445
124
0
438
318
123
82
553
677
335
115
990
369
112
806
951
413
479
420
930
403
912
901
122
866
991
239
114
141
525
565
821
77
398
232
965
344
234
51
365
600
295
862
194
49
265
857
326
618
437
971
929
134
874
91
739
102
712
79
0
372
43
62
377
791
891
524
795
207
408
998
362
320
439
448
27
731
71
532
914
282
867
133
66
714
197
842
104
297
465
311
77
726
405
91
478
135
597
0
150
775
100
656
941
184
73
406
63
860
611
799
81
186
893
969
745
1
799
671
386
845
165
407
675
568
754
875
93
998
531
521
404
976
210
913
243
479
225
889
572
594
321
750
24
322
765
214
512
83
860
894
827
917
0
496
70
398
72
240
841
769
587
995
470
461
217
948
205
560
869
989
914
625
264
63
811
852
264
579
276
464
577
259
570
588
570
18
330
642
969
135
130
93
79
280
162
897
792
959
434
772
22
447
739
432
580
607
717
867
961
842
917
504
768
137
46
192
580
258
267
748
745
943
830
892
280
456
662
74
621
601
423
610
924
155
54
407
656
252
957
553
120
830
682
973
248
174
563
722
23
461
421
566
40
54
960
597
131
52
30
616
244
208
274
411
613
312
146
203
773
909
944
48
670
212
799
614
364
502
4
638
186
741
374
405
0
932
254
150
944
334
377
298
611
197
918
294
398
323
20
104
127
615
618
988
355
854
419
574
972
356
519
652
347
268
742
14
67
687
452
757
880
863
7
499
535
186
833
118
866
237
636
161
4
200
210
137
594
720
350
576
940
512
820
222
195
181
795
820
858
576
723
237
598
37
78
513
150
488
368
566
164
211
173
221
142
694
385
753
950
776
502
155
388
103
776
207
278
18
758
23
528
33
983
992
637
368
665
395
40
269
396
666
976
631
914
68
286
590
422
404
974
848
472
107
237
832
686
3
68
578
667
649
85
609
937
482
740
420
220
869
459
888
702
218
522
508
7
393
116
827
374
299
606
410
174
338
475
747
670
473
757
643
140
126
727
311
31
362
522
80
184
104
523
318
46
747
64
838
897
466
865
139
561
933
17
400
445
759
41
605
524
453
774
558
375
577
238
666
476
805
755
38
107
949
399
295
616
763
646
148
754
78
422
847
672
224
259
669
452
303
929
965
632
385
196
979
152
483
671
573
63
597
23
466
538
820
47
44
111
576
649
223
819
665
874
901
39
617
768
305
918
535
212
877
624
179
514
316
17
246
5
330
619
335
630
885
351
187
867
431
853
424
471
769
925
914
568
32
72
843
518
250
455
164
338
585
950
102
392
612
510
548
250
152
676
381
410
710
198
330
988
142
5
416
378
45
303
994
303
787
679
514
501
352
333
761
453
45
655
456
980
923
187
199
469
705
715
526
181
440
563
323
357
735
857
567
752
639
915
334
443
60
994
979
858
894
655
444
556
67
911
656
721
339
927
477
291
42
683
526
299
648
521
358
474
506
304
351
966
240
387
869
536
353
800
763
14
642
461
717
233
686
691
365
143
457
885
812
552
718
485
523
721
949
79
53
949
977
605
106
489
102
432
60
580
464
5
45
950
342
628
725
724
655
760
871
953
254
548
663
520
56
240
471
677
666
992
190
666
280
935
616
305
390
344
300
685
642
684
622
104
905
43
37
1000
584
626
806
610
719
992
790
347
430
38
950
836
307
0
723
375
303
564
976
641
545
691
272
586
453
838
634
960
934
534
347
497
546
491
653
979
991
596
672
977
951
278
567
480
608
497
264
48
907
584
535
431
614
477
72
575
936
248
833
862
206
86
665
182
566
998
786
624
492
157
933
910
161
125
114
727
119
428
59
215
513
218
674
911
22
545
427
175
433
514
936
702
157
601
885
547
518
30
504
662
133
449
289
437
445
23
960
212
144
13
251
405
424
272
473
125
952
823
136
810
481
467
230
587
869
62
887
44
870
783
127
379
868
965
27
495
890
870
273
555
804
293
294
580
779
698
13
372
494
307
31
61
293
781
895
613
627
835
953
400
818
887
329
711
657
606
366
238
21
713
487
86
879
281
743
595
448
376
679
902
878
877
668
943
230
581
814
774
896
469
115
892
11
979
282
74
54
995
469
444
693
185
838
299
186
145
696
795
89
400
616
616
369
653
520
265
928
350
642
823
76
68
350
123
306
524
406
298
468
512
753
419
544
56
895
780
126
121
377
241
939
77
657
299
566
820
749
172
322
942
154
898
629
278
848
257
890
566
310
712
29
387
150
635
109
888
429
228
733
768
558
564
203
633
120
455
708
961
567
39
682
246
269
196
108
481
305
55
844
788
304
894
349
777
550
916
253
511
708
383
44
462
355
85
992
938
409
426
889
730
709
548
158
929
927
317
269
848
35
337
836
765
539
530
870
281
672
499
305
739
76
221
861
177
551
903
455
174
290
114
158
521
233
830
483
890
853
916
551
92
181
352
214
209
329
547
643
268
877
878
233
387
214
61
713
617
598
277
862
507
650
623
803
777
459
793
700
680
222
804
568
502
705
139
850
823
248
193
517
909
162
163
135
33
36
684
358
414
955
539
775
87
964
760
339
777
781
116
234
243
651
904
216
366
196
587
495
666
101
139
790
269
784
569
473
510
929
452
141
173
615
939
308
689
834
912
132
520
961
834
714
425
505
204
296
491
808
457
300
438
323
865
510
321
184
115
675
433
410
162
37
507
830
810
444
380
473
758
326
443
792
243
338
569
481
398
867
107
919
112
4
997
452
138
567
380
62
662
803
767
774
566
618
710
660
969
342
95
342
685
899
537
305
865
914
823
354
941
271
598
517
708
737
715
195
617
144
714
570
666
808
76
561
564
320
21
575
87
437
552
450
640
676
328
731
967
475
771
707
351
528
224
704
234
812
217
649
644
983
292
460
451
618
524
3
254
19
542
487
489
15
967
892
519
207
205
539
490
411
756
892
143
390
193
619
940
67
577
452
300
751
475
3
845
551
220
857
271
802
703
266
976
884
43
747
4
933
903
196
562
557
329
70
112
553
661
146
74
386
926
220
654
512
931
751
532
72
310
662
415
562
465
71
607
15
705
845
965
218
305
151
522
864
296
992
185
175
527
793
896
158
241
177
82
132
534
551
129
883
340
962
206
73
821
382
509
280
428
273
101
146
810
796
673
309
290
174
969
425
311
112
556
102
428
788
952
12
158
155
523
174
432
402
773
348
839
644
253
559
710
301
226
763
703
647
573
969
765
427
752
666
988
918
670
678
988
877
258
510
302
91
119
887
26
509
572
21
22
968
888
358
7
654
6
782
152
864
908
401
464
825
842
814
28
3
862
930
983
619
631
53
620
925
379
402
763
25
903
871
731
913
721
766
117
489
33
750
859
237
441
490
460
442
751
494
663
587
364
919
161
49
693
306
101
798
22
249
667
117
283
165
517
207
108
553
142
754
962
91
945
808
516
964
150
997
510
468
284
813
699
556
36
520
404
337
826
564
753
292
967
211
12
112
776
388
621
354
631
732
454
206
319
648
680
215
879
280
554
474
290
0
603
627
820
300
302
461
161
652
389
410
769
902
215
449
722
98
6
506
776
545
242
868
709
917
158
914
63
309
805
479
766
94
465
799
17
104
408
128
127
750
487
768
783
503
378
197
567
235
479
266
245
753
383
138
459
348
468
895
610
962
164
538
395
102
658
189
198
984
814
631
75
587
218
770
784
189
576
382
539
476
67
108
792
517
96
388
504
288
50
146
839
239
698
164
142
12
726
877
713
322
465
74
712
876
27
513
708
644
869
962
142
526
958
383
476
878
983
367
894
139
788
846
452
160
643
764
7
85
130
777
519
418
672
629
910
186
615
827
928
186
396
95
463
407
530
405
112
167
760
557
559
716
246
811
841
512
693
696
985
650
509
276
336
702
417
363
512
266
185
73
287
505
456
928
222
380
543
188
943
808
787
897
686
516
900
374
975
360
918
262
478
571
470
810
123
212
843
914
656
912
892
790
732
184
430
615
856
638
217
203
239
321
675
443
611
628
801
932
465
941
20
681
242
624
707
371
428
983
74
301
726
47
395
468
342
751
750
694
142
930
286
116
875
916
782
442
912
311
269
936
668
102
896
796
968
346
464
688
510
87
755
154
136
806
464
593
100
313
626
267
151
331
861
276
144
478
164
117
55
546
924
17
533
962
397
292
444
744
693
856
499
731
672
467
652
276
574
852
283
993
935
426
947
225
839
557
865
769
601
636
267
590
938
118
217
8
752
693
629
608
519
700
507
865
168
185
543
15
335
891
888
60
624
836
677
169
545
364
912
396
751
788
173
599
62
218
381
178
781
807
520
344
483
858
70
734
398
429
240
94
353
258
563
929
103
845
253
53
178
133
719
566
98
680
311
281
246
206
708
881
925
396
368
568
14
760
374
662
452
710
11
160
518
189
163
415
184
682
870
500
341
392
534
572
465
434
162
0
516
491
130
174
630
500
270
393
89
872
106
918
892
994
266
549
34
833
457
0
15
86
791
889
311
254
737
616
66
384
417
211
419
231
578
519
364
890
661
36
861
24
500
447
588
93
744
363
881
896
842
941
707
202
540
276
140
134
826
950
417
180
297
929
773
781
89
447
416
18
844
264
602
170
783
378
76
676
932
224
615
280
574
764
721
569
714
813
807
214
458
855
397
924
9
565
855
222
49
320
402
834
682
974
111
27
966
588
256
928
865
952
722
858
857
962
263
234
430
718
199
276
314
3
342
558
955
561
388
127
788
744
835
869
209
602
25
244
436
74
172
965
693
717
314
792
349
288
409
657
554
331
781
622
617
446
948
45
191
554
706
270
203
153
770
401
400
644
763
835
441
716
698
317
496
717
3
311
597
73
881
466
513
221
437
970
184
682
608
660
237
252
150
352
632
316
62
377
802
984
509
106
536
420
745
368
472
566
519
175
963
244
986
708
590
289
279
773
946
725
170
763
904
985
173
371
712
327
231
820
428
938
538
387
759
309
711
880
540
538
906
153
23
182
663
454
986
780
533
161
304
457
375
272
984
529
870
666
617
616
404
492
979
218
949
544
497
224
883
312
710
117
356
551
170
948
343
968
797
602
476
928
82
45
80
600
692
526
576
291
636
486
224
851
72
62
531
513
747
33
635
283
354
961
977
372
893
288
595
223
742
252
822
945
194
41
654
217
964
875
653
665
369
159
874
680
221
582
795
295
632
362
499
427
207
463
898
374
682
539
491
628
175
631
996
487
667
474
79
148
718
325
422
260
244
644
98
965
729
585
310
659
328
34
950
314
58
167
556
893
796
928
614
557
768
935
831
935
92
173
898
96
439
567
522
870
569
618
762
562
512
67
185
190
554
819
362
989
126
610
506
101
901
954
959
683
702
827
449
545
131
250
658
460
573
746
876
882
166
277
393
261
158
478
153
151
77
573
721
502
806
957
368
956
585
548
716
826
973
668
29
755
530
41
126
753
158
330
871
730
43
51
416
79
233
428
349
627
622
631
125
507
510
376
461
759
12
519
513
806
132
566
513
170
782
790
21
366
350
550
571
314
834
899
221
505
105
773
797
829
640
361
674
774
74
475
738
928
848
382
933
564
565
764
61
61
644
797
576
763
222
979
926
78
488
548
733
842
257
133
23
356
11
671
713
177
466
89
728
562
965
95
935
729
436
57
121
151
202
773
155
348
69
50
19
927
92
997
458
446
18
705
200
832
269
229
217
938
802
987
977
272
843
125
660
676
503
157
684
186
14
738
851
361
343
343
127
464
384
131
74
947
924
183
719
568
97
823
108
715
961
920
363
949
915
745
651
384
124
211
531
894
597
826
648
181
744
462
371
737
964
483
174
474
193
937
584
352
296
344
29
864
349
672
199
960
640
174
849
748
123
303
272
127
155
616
986
452
39
884
822
341
944
301
459
631
130
723
9
433
903
612
225
139
194
522
60
44
694
184
24
274
274
561
561
385
869
233
830
740
585
271
825
635
72
185
580
803
858
719
233
520
476
788
962
371
625
388
6
145
51
40
307
298
456
224
356
451
38
278
46
83
594
979
850
707
445
533
986
911
878
210
26
326
28
502
453
872
293
379
353
168
768
665
179
222
157
282
274
426
714
885
400
292
389
584
193
882
893
471
419
445
487
475
634
650
443
319
843
117
427
299
432
474
9
488
815
916
297
757
358
406
763
750
693
924
870
903
119
47
788
870
378
747
468
281
18
54
660
666
223
237
686
11
917
265
366
195
548
636
722
662
847
432
934
143
286
355
522
24
853
469
482
712
647
246
12
812
126
946
465
887
658
145
180
399
436
393
763
319
644
938
916
911
900
127
139
192
197
287
544
843
413
316
206
941
191
354
36
587
314
885
582
620
417
121
627
257
840
286
661
361
8
78
330
291
583
925
943
911
420
943
637
591
523
787
114
30
28
460
495
980
751
997
48
138
441
659
420
664
965
11
241
154
985
844
898
339
813
80
549
361
440
458
970
626
652
679
655
555
640
198
538
522
195
599
914
940
274
390
174
590
729
150
907
396
653
338
705
240
670
926
712
379
563
490
585
165
349
266
686
362
343
412
914
409
964
618
240
453
651
383
937
201
944
912
197
273
168
677
203
289
819
290
821
517
378
702
946
146
452
380
684
525
124
998
145
636
638
867
941
964
109
224
49
686
259
701
675
420
844
273
369
889
175
906
957
205
958
693
281
482
277
342
881
968
922
705
556
115
373
47
551
130
772
766
728
460
320
532
665
815
231
406
668
870
162
967
732
732
384
736
849
6
435
884
791
829
658
833
297
893
861
58
341
846
884
835
303
930
421
797
192
450
851
184
779
728
518
585
466
313
223
534
19
83
665
583
456
930
813
424
973
847
161
308
262
319
244
696
721
557
36
24
41
497
253
629
511
438
766
660
874
805
487
817
299
902
308
676
676
749
238
292
912
745
133
826
490
807
963
135
758
982
591
56
388
997
741
413
214
190
56
257
84
275
858
129
759
213
938
111
455
788
482
674
156
603
265
381
235
214
815
495
418
369
569
239
838
662
497
2
511
974
375
888
701
527
834
285
534
779
620
113
9
941
265
139
72
358
669
672
506
940
23
838
620
884
563
852
718
919
966
780
267
936
457
434
749
55
156
192
535
517
968
537
135
229
723
944
679
758
976
42
6
240
230
300
120
813
265
926
598
94
47
995
690
303
292
164
173
832
231
848
504
480
419
143
884
282
258
236
847
850
344
980
457
378
785
856
111
736
753
332
397
503
829
139
899
851
468
359
807
916
383
778
290
534
166
495
944
751
230
901
72
859
698
971
977
855
314
500
416
592
81
468
853
655
345
502
996
219
762
87
602
404
796
243
834
739
685
187
246
102
851
949
316
218
72
625
277
930
114
493
183
517
473
811
651
792
210
143
41
827
142
794
37
679
120
408
587
518
927
419
355
64
78
422
686
893
111
54
328
324
308
279
663
594
856
19
597
913
806
233
750
784
906
525
90
232
245
724
772
134
483
915
63
599
153
268
50
119
324
207
450
665
93
526
494
609
557
200
385
718
885
232
139
332
663
52
886
342
537
283
643
484
851
185
43
290
284
50
462
642
6
809
959
379
11
534
148
958
381
577
752
387
236
459
680
652
126
746
158
688
904
895
293
250
553
450
192
674
617
85
34
431
531
334
358
780
529
455
212
319
601
560
695
348
588
608
763
827
930
189
495
975
242
557
276
916
216
795
985
940
559
829
850
723
615
257
5
853
516
516
537
896
498
595
143
455
542
748
286
2
93
88
856
45
811
452
685
894
431
321
689
325
866
686
241
885
644
867
888
964
427
887
974
994
873
828
822
899
955
525
697
892
895
702
591
830
648
333
374
387
989
391
174
865
428
637
290
254
798
265
855
551
732
749
246
548
760
669
503
367
337
198
831
150
248
893
246
453
813
812
392
156
663
12
990
70
776
197
568
276
140
635
838
126
759
802
627
339
283
42
943
411
757
577
506
412
994
939
252
573
980
165
108
67
726
749
670
40
285
95
205
515
235
555
322
860
146
263
591
859
378
553
634
747
641
59
637
150
469
713
118
340
369
419
309
524
424
579
738
936
94
856
878
11
359
943
255
649
369
757
443
157
52
447
701
759
201
737
451
474
65
626
845
465
587
29
148
996
606
421
71
37
503
955
927
832
414
712
41
662
877
943
783
409
544
519
914
300
777
636
640
124
490
812
188
126
447
686
139
437
541
870
765
486
984
460
382
13
990
269
57
899
195
83
277
643
807
151
52
675
541
515
693
225
176
429
187
967
184
63
53
631
952
708
96
251
551
311
992
792
326
539
515
475
722
452
343
748
316
896
313
19
970
364
4
352
272
903
191
73
602
275
300
7
916
511
945
288
417
161
915
962
667
361
315
581
366
282
632
705
998
865
912
974
140
172
346
925
769
369
130
453
972
226
411
718
219
181
495
243
150
668
512
421
100
170
24
760
223
503
336
881
696
36
579
999
217
928
728
191
16
963
11
864
503
236
866
226
142
779
129
354
888
706
724
954
517
637
678
663
978
541
70
441
627
761
785
548
852
364
915
954
219
48
932
208
359
919
261
288
161
384
428
425
312
956
529
604
384
70
201
425
605
11
56
451
407
871
20
147
231
29
934
613
629
880
55
722
237
318
433
157
761
89
690
748
316
705
286
848
854
286
101
875
437
818
838
920
673
358
848
363
974
531
513
877
188
550
307
970
859
914
69
464
811
500
182
854
433
34
146
823
695
285
98
748
989
92
582
992
703
964
231
840
855
2
625
932
718
789
874
569
991
325
634
431
183
258
392
227
957
578
11
863
50
496
443
808
615
805
151
827
939
294
117
972
454
734
232
498
253
615
706
371
237
485
519
58
538
543
362
201
41
168
463
868
573
603
808
285
324
369
191
579
480
120
453
94
21
583
339
700
894
847
14
67
82
937
812
744
59
233
53
434
61
212
688
614
182
816
646
733
447
515
14
35
760
481
965
775
48
253
349
760
529
927
755
953
829
797
704
936
400
474
230
525
356
898
329
146
35
675
37
414
835
182
556
979
300
717
113
481
844
954
53
748
537
173
239
673
305
377
57
959
184
227
188
514
283
171
728
899
980
470
426
791
410
495
923
537
455
563
743
543
958
685
21
825
859
192
401
300
210
525
520
679
130
32
648
233
457
274
145
370
905
823
484
205
899
888
435
565
323
221
979
528
870
945
588
223
399
978
841
912
838
482
529
422
587
449
155
717
973
567
658
592
772
110
978
54
643
951
882
739
915
4
742
666
631
63
110
308
350
739
328
855
871
250
641
308
71
522
28
395
224
98
785
980
513
325
447
744
196
79
922
965
106
486
492
711
972
311
518
781
22
432
326
221
927
962
440
652
932
203
807
713
719
500
179
134
427
382
485
958
598
486
513
897
856
934
385
229
892
914
127
191
210
985
913
488
601
309
55
852
870
694
81
648
780
722
760
994
411
329
100
609
273
577
25
845
53
289
523
236
192
758
187
742
703
943
667
505
383
110
545
254
939
950
789
353
176
432
104
880
141
436
282
897
238
27
999
754
552
328
576
943
677
255
62
216
580
609
22
986
419
487
633
544
599
90
989
981
303
837
598
617
57
133
879
371
239
305
438
450
146
926
271
408
583
342
355
282
851
606
296
587
901
83
727
940
330
959
438
271
412
355
930
106
34
3
938
478
7
649
887
81
613
786
128
623
335
976
556
985
831
339
93
439
841
534
577
711
870
783
645
163
72
199
570
616
245
928
968
406
959
115
295
965
927
845
915
125
672
534
912
45
764
273
664
618
887
925
319
68
768
667
684
895
118
986
412
623
863
168
740
224
224
307
656
651
428
93
74
507
444
172
148
569
207
760
11
174
810
135
329
870
277
26
925
253
34
69
567
957
669
198
75
248
196
368
128
650
887
186
879
492
93
430
757
516
480
358
422
456
340
954
499
236
959
340
966
863
603
436
561
413
564
573
347
282
382
562
294
286
496
625
166
829
954
457
367
348
701
119
373
933
658
875
522
17
638
480
991
150
978
114
673
930
805
329
127
417
278
914
625
857
708
45
441
761
695
353
529
50
27
609
672
354
139
965
42
902
464
952
837
127
379
538
756
195
338
863
466
716
374
988
735
277
822
814
418
519
423
425
262
581
616
259
998
118
114
18
4
743
429
277
921
339
503
195
373
945
408
190
505
40
540
854
324
27
361
864
677
734
300
783
380
847
88
563
981
978
610
204
108
112
643
816
390
815
509
931
240
701
135
793
105
762
653
149
645
256
957
127
129
1
846
427
770
822
407
603
307
996
57
572
190
63
810
326
503
396
954
175
882
873
817
464
270
314
670
788
240
50
416
601
333
401
113
883
700
271
541
498
294
499
661
297
286
600
476
914
99
144
878
731
543
118
439
309
837
731
889
103
252
334
989
533
18
643
583
158
768
664
977
587
580
261
100
330
142
43
250
157
418
774
355
228
857
99
593
778
352
667
306
560
119
867
70
558
376
55
382
869
924
624
911
586
871
626
42
853
854
43
535
164
858
208
84
252
162
726
482
700
269
472
264
898
751
225
593
978
547
114
224
54
917
531
734
140
87
338
554
430
298
528
853
638
522
131
542
634
850
538
202
424
664
480
283
14
90
143
419
818
384
825
647
21
343
612
724
522
447
633
10
425
857
824
565
228
648
580
657
121
502
570
322
616
50
636
752
587
620
470
808
651
606
687
524
332
614
941
808
943
254
197
53
982
772
404
758
86
118
771
155
967
870
371
468
221
335
770
459
119
269
424
678
14
96
394
279
434
219
666
749
448
375
605
415
360
212
511
141
98
636
849
594
728
389
743
141
859
445
791
544
354
593
332
22
972
429
410
189
957
336
152
704
208
381
6
309
801
484
285
348
157
340
887
51
756
109
562
576
150
411
151
717
678
147
498
948
339
484
746
312
765
903
726
213
779
217
666
373
685
183
940
688
248
362
482
848
266
879
91
157
11
209
791
813
693
445
263
117
845
902
740
12
817
128
218
695
474
842
458
528
380
112
210
736
761
286
217
448
805
507
661
176
275
860
511
799
22
900
961
875
672
947
900
556
44
303
174
350
692
936
707
663
976
803
871
45
15
269
476
29
124
730
218
714
371
423
648
594
908
404
294
622
966
27
8
446
389
906
322
146
755
835
82
2
866
983
950
263
585
935
490
730
83
201
886
433
242
177
168
914
788
800
426
893
640
455
446
292
673
525
933
695
340
444
677
502
743
719
19
179
271
134
99
552
853
372
326
907
510
976
809
622
210
921
477
390
805
162
506
111
459
305
92
520
629
855
290
468
963
771
489
855
576
711
332
291
95
187
154
442
318
849
977
216
47
277
63
856
243
449
777
975
867
661
335
614
936
843
158
249
640
565
928
520
83
779
86
828
452
602
270
972
50
7
967
525
370
787
668
413
429
112
571
232
696
162
826
344
59
461
214
892
883
815
298
625
739
984
468
950
806
870
817
799
421
560
568
818
752
610
132
674
458
889
645
561
649
984
85
752
566
117
487
353
318
819
506
412
254
965
215
712
348
554
761
80
452
239
719
750
907
122
401
360
42
401
486
895
306
395
242
65
767
108
863
392
945
61
264
914
520
711
907
18
248
210
426
418
568
848
979
276
523
477
992
571
187
430
12
191
370
829
76
695
469
329
187
81
461
317
871
561
489
68
82
748
190
196
668
521
576
529
179
482
652
418
661
594
145
640
551
149
450
627
195
740
878
952
695
941
660
38
575
949
211
615
202
253
595
141
492
965
205
633
954
568
921
987
874
604
72
319
803
268
525
854
483
718
317
204
756
1000
228
180
908
131
629
344
157
549
835
791
245
360
50
282
651
375
315
310
350
20
259
758
923
329
65
6
374
360
865
957
996
82
659
221
571
473
160
18
660
107
914
37
425
872
147
362
221
558
572
202
616
460
581
134
182
919
153
164
769
211
661
195
609
124
110
477
949
410
639
499
412
327
947
188
300
913
538
833
491
521
970
936
608
909
698
131
659
242
806
757
636
421
660
799
982
597
305
452
921
897
418
209
961
755
305
674
563
448
814
538
17
42
441
429
792
877
161
550
390
960
184
228
979
18
645
955
482
500
927
727
906
331
335
704
994
93
677
320
690
666
720
330
181
849
472
976
233
625
954
413
915
602
700
506
322
148
662
12
970
359
602
249
233
226
282
129
977
758
81
335
8
937
282
75
275
789
375
535
54
684
154
856
798
27
28
344
618
694
403
852
270
898
860
52
946
15
572
256
343
120
40
3
833
833
817
482
595
403
730
855
79
587
568
433
649
942
175
814
740
56
975
379
548
522
103
949
218
788
978
215
35
128
650
238
332
606
604
55
785
728
846
242
182
793
398
25
948
418
354
825
251
894
189
317
807
309
319
949
974
178
745
791
237
663
557
439
556
824
63
570
902
15
988
805
714
67
587
426
270
475
67
618
686
859
914
379
504
877
90
448
557
207
48
437
86
678
776
655
946
709
257
210
233
189
207
982
256
781
577
909
280
119
425
96
658
947
746
386
908
595
879
690
267
66
780
402
838
910
589
791
633
374
949
9
119
688
17
550
835
607
241
825
612
165
539
956
214
919
870
381
859
872
195
267
898
240
536
471
205
611
686
781
271
674
160
442
872
407
101
175
571
663
747
129
19
504
580
395
388
34
171
544
394
398
307
116
189
802
214
740
403
147
374
218
833
956
280
193
453
833
686
51
454
895
858
276
307
121
973
892
742
333
769
532
715
232
602
522
579
735
207
281
500
182
751
927
415
509
102
618
107
455
667
438
881
960
903
540
514
872
164
483
328
464
899
88
759
914
9
996
243
808
170
905
821
141
959
126
936
394
213
129
848
362
215
598
145
906
861
991
893
668
534
561
583
201
365
602
247
799
36
764
794
878
381
716
863
32
467
424
811
788
234
741
9
598
95
347
862
128
993
254
694
666
152
340
576
263
942
499
876
230
455
294
940
985
743
358
831
803
676
37
491
534
4
544
709
872
295
866
611
259
537
281
262
806
948
923
684
160
884
860
967
953
642
967
362
987
533
282
31
559
84
602
340
300
478
950
920
170
576
817
168
294
723
974
51
967
181
547
287
817
726
693
546
773
368
129
599
575
821
610
781
363
396
333
974
118
172
604
567
474
820
600
300
738
416
695
522
504
518
258
879
167
778
470
653
741
298
844
438
172
696
688
83
385
640
292
306
154
456
272
620
621
821
860
883
39
851
846
42
456
380
123
325
904
355
406
142
847
851
768
701
230
602
961
593
481
28
593
949
913
978
573
457
344
236
402
230
414
489
258
541
364
685
749
680
131
490
951
18
497
278
170
786
50
780
549
581
713
699
920
353
2
476
462
697
845
894
557
57
782
697
812
669
853
360
859
695
120
54
88
344
14
572
363
312
44
835
177
12
836
800
68
980
375
12
571
501
241
969
758
460
800
991
960
637
945
123
142
187
48
755
943
441
75
180
2
473
949
317
651
220
797
168
145
66
492
417
837
433
87
39
376
317
936
312
538
187
516
465
625
469
701
471
418
28
507
941
430
454
632
638
398
106
226
980
187
639
71
716
482
798
194
181
42
467
236
425
184
607
9
621
729
536
997
936
313
799
14
611
536
376
338
42
799
386
875
803
7
712
451
408
392
884
79
877
654
623
866
463
148
666
594
270
67
486
3
419
953
870
183
930
276
429
63
247
129
278
999
742
85
542
909
195
255
428
694
882
449
416
550
570
628
507
326
574
848
141
780
705
265
855
259
792
939
767
537
889
285
182
634
778
489
255
521
222
67
943
330
652
357
995
12
538
715
874
305
638
204
967
497
93
279
728
236
1000
828
457
868
870
362
945
743
493
668
924
700
278
241
88
391
274
351
671
27
176
258
102
167
233
414
403
396
893
831
921
721
639
560
649
871
767
721
380
268
126
531
319
380
543
666
350
656
734
66
208
842
114
191
815
70
182
380
384
478
197
392
34
395
89
409
856
458
234
729
93
797
610
848
184
637
352
363
360
449
890
433
411
556
944
215
507
448
865
1000
328
758
296
979
18
170
49
101
328
573
889
738
652
351
633
397
170
471
788
238
512
364
744
535
613
677
342
394
497
415
426
510
331
905
882
832
564
220
300
556
145
774
278
608
861
35
170
50
610
581
130
911
917
583
271
499
767
577
397
955
70
916
406
198
231
970
875
228
301
154
164
951
27
774
908
784
643
222
888
771
767
541
544
466
49
521
698
994
20
420
625
241
902
781
699
502
214
952
964
566
621
789
399
430
125
232
148
280
987
648
624
828
74
983
919
576
579
363
139
168
2
98
911
527
48
174
477
643
962
436
736
172
567
67
152
907
304
911
664
604
538
847
137
828
344
645
808
347
797
677
207
566
802
312
3
317
968
952
42
858
75
726
579
905
115
570
422
903
952
358
125
690
74
474
297
449
827
924
990
147
373
4
715
724
321
364
116
730
984
669
110
336
12
393
651
70
323
355
48
983
580
51
320
233
819
370
454
387
596
616
903
102
307
365
914
12
33
763
763
160
189
116
88
78
823
785
902
475
192
947
200
768
216
431
870
564
931
76
917
747
710
314
716
408
771
17
150
211
728
435
457
44
534
85
202
396
572
469
75
888
633
199
549
298
67
983
121
664
151
417
796
140
115
308
848
69
766
735
836
259
86
890
862
577
280
529
978
708
20
362
272
382
281
960
53
938
980
242
852
163
763
935
808
535
636
441
948
572
723
653
698
77
565
200
841
224
528
303
733
363
180
982
855
276
700
911
543
825
219
395
435
423
993
418
880
699
685
103
942
659
776
513
671
924
318
540
852
762
631
556
87
658
883
407
920
360
696
588
996
383
473
949
804
643
992
365
990
678
872
53
503
238
315
49
45
722
957
753
307
590
110
804
921
865
477
615
745
41
548
928
232
457
371
540
615
511
584
564
801
584
255
717
333
700
166
61
298
561
836
539
206
937
352
14
827
874
828
845
185
323
536
154
316
732
908
469
488
353
938
127
250
598
387
108
981
973
347
580
892
263
103
199
625
441
125
175
478
367
546
621
790
6
737
842
983
156
273
923
343
785
410
275
415
741
993
315
678
402
358
714
900
828
996
768
724
793
900
795
271
627
768
645
356
852
54
310
282
478
246
116
48
96
136
879
824
33
497
767
914
420
843
609
577
149
880
822
666
234
652
706
940
332
397
94
499
230
878
58
222
163
993
552
135
752
506
454
94
960
523
943
190
778
881
653
167
713
258
632
194
284
966
571
833
277
175
5
900
416
291
59
183
150
74
346
287
197
719
262
327
280
713
720
895
459
895
987
580
164
703
165
249
406
248
437
524
876
311
440
918
771
943
196
25
965
485
44
670
194
765
928
470
1
203
507
82
822
650
732
354
720
826
461
279
293
100
494
497
926
27
561
101
32
698
730
644
685
935
414
658
227
816
22
359
578
280
712
216
245
792
410
650
349
425
465
290
169
138
761
270
409
913
790
803
873
447
601
546
343
363
867
931
124
66
285
884
949
173
487
50
226
768
789
858
777
860
327
977
822
161
522
263
466
848
610
611
970
32
790
382
215
234
908
322
63
241
811
573
999
605
723
559
560
398
497
780
316
345
111
873
739
275
868
280
127
930
591
400
613
773
538
150
274
64
741
816
599
441
600
437
329
262
326
772
144
244
373
315
627
290
30
128
397
805
715
512
626
31
816
10
91
581
19
474
962
390
180
300
329
247
87
829
286
955
500
345
622
914
876
245
476
48
503
218
464
14
944
245
789
620
898
98
982
795
355
758
473
288
787
282
695
689
263
462
1000
964
385
802
552
150
609
47
75
31
772
93
536
745
994
244
944
718
621
939
413
231
823
627
945
152
921
695
532
697
398
517
562
455
705
385
823
0
584
381
776
475
938
629
861
172
747
336
304
442
931
798
425
695
173
783
30
169
275
454
483
211
523
35
538
700
585
329
168
486
753
838
944
683
409
965
694
752
666
828
358
507
183
192
604
667
262
587
786
255
178
564
228
357
757
196
549
786
552
122
643
539
372
857
512
942
661
296
665
467
338
106
168
875
659
413
990
390
76
353
62
184
640
645
30
864
328
27
100
339
546
594
216
766
747
634
396
985
454
783
560
62
513
423
761
385
246
547
765
823
430
630
83
736
644
883
844
462
911
495
584
417
279
217
158
802
740
361
124
685
721
986
952
96
497
750
62
385
278
677
458
342
450
429
288
499
654
424
123
904
810
200
983
312
302
432
267
828
888
544
755
540
954
639
759
507
787
703
113
767
421
57
270
767
266
84
662
533
441
93
847
630
304
165
564
588
819
801
48
188
907
704
18
577
853
450
560
608
549
628
955
655
334
465
621
940
812
96
902
502
87
688
34
141
571
928
258
632
995
675
14
523
421
553
393
842
247
322
215
475
598
908
735
7
940
427
184
693
397
309
430
140
960
486
916
745
892
354
88
525
386
808
876
532
942
226
987
283
279
275
519
814
862
36
151
122
824
55
47
485
933
384
104
545
830
951
987
551
217
605
617
920
281
642
714
257
18
522
929
454
970
823
769
503
434
666
232
823
926
927
134
904
458
178
672
964
572
467
495
822
559
789
327
688
382
767
309
239
532
814
452
268
19
802
729
685
763
681
640
319
258
232
591
309
371
894
779
103
98
301
81
240
417
260
554
14
498
271
586
767
457
205
830
167
722
867
221
774
220
659
364
279
148
197
454
656
290
183
663
415
913
117
465
451
424
728
341
132
728
377
858
722
109
766
666
255
780
503
466
998
76
725
299
856
160
731
930
465
494
196
972
983
929
154
941
987
246
304
738
878
150
432
728
356
795
752
941
1
288
880
14
929
818
484
845
626
388
664
136
453
675
387
342
902
723
121
361
196
562
394
472
731
975
84
434
382
224
187
928
345
937
780
982
635
368
918
623
586
104
41
944
137
233
440
688
129
83
517
307
981
86
643
83
616
126
533
525
789
264
97
807
714
351
24
594
103
498
410
568
411
50
207
888
718
25
849
803
734
775
307
285
675
758
267
847
905
927
964
460
559
572
992
375
871
292
209
30
254
13
336
438
718
443
94
823
689
535
817
912
825
194
331
364
963
936
62
693
921
767
181
943
455
694
18
974
366
498
228
215
771
104
113
569
782
47
233
675
842
182
170
806
869
836
226
706
720
828
328
27
643
321
695
569
456
814
355
390
526
476
158
339
95
561
297
92
922
517
918
593
335
792
603
663
548
625
24
784
714
480
175
46
472
169
297
775
613
986
802
98
661
716
952
716
787
507
774
492
837
502
268
94
457
314
675
704
419
503
688
884
762
639
429
621
367
54
918
540
417
976
313
674
781
564
812
799
817
182
760
923
587
580
208
170
860
98
921
771
829
749
94
542
344
22
688
849
593
782
15
818
642
422
259
179
344
194
796
963
993
634
450
878
517
478
913
879
439
92
11
259
259
78
103
683
628
291
272
547
462
15
782
490
975
715
165
475
276
545
785
997
475
158
60
172
437
162
110
222
367
873
804
108
22
895
434
961
873
978
994
279
868
750
327
597
276
213
848
621
660
9
209
657
601
51
476
498
527
368
900
940
138
204
649
636
355
23
736
974
612
224
169
586
481
676
151
124
185
432
879
450
787
797
625
859
397
127
525
51
924
231
145
907
310
598
665
458
673
222
54
773
899
112
724
843
999
949
364
274
352
972
307
743
970
323
94
889
327
164
347
633
574
940
625
393
54
50
746
750
396
736
990
627
577
951
387
604
866
122
452
62
938
681
933
412
538
885
436
603
958
13
175
106
117
154
12
908
271
259
729
70
835
5
177
21
444
687
267
596
576
611
565
435
382
234
566
443
582
407
29
923
236
605
152
261
329
269
922
984
36
288
134
118
403
232
212
178
923
795
953
583
757
14
299
513
910
744
357
627
396
298
948
833
615
233
643
365
313
309
662
825
522
555
29
647
515
472
587
150
579
661
183
503
959
103
640
820
540
959
267
688
119
970
107
279
714
495
258
489
941
408
905
966
663
57
727
417
238
197
681
896
707
763
329
302
328
248
945
730
621
33
838
416
982
295
348
267
306
859
778
837
868
371
523
470
0
971
180
1000
80
854
130
515
526
977
665
680
198
380
40
173
89
865
948
631
206
283
714
378
1
976
419
644
239
432
809
995
552
803
673
286
977
681
3
612
915
707
232
274
441
990
521
754
643
114
244
810
817
528
829
167
896
101
232
16
492
615
545
329
829
60
95
707
803
698
339
279
622
523
167
440
250
586
125
161
179
117
813
554
306
151
500
366
882
970
109
609
224
401
714
559
183
969
152
470
159
274
842
573
131
647
259
961
183
667
16
478
665
202
291
261
900
864
923
161
320
340
165
898
821
478
29
135
653
443
353
637
914
67
665
326
95
33
252
212
895
145
386
146
916
435
207
612
236
134
902
239
190
939
230
168
502
72
579
399
588
920
505
351
175
954
349
622
481
316
327
903
467
270
447
482
79
810
443
157
476
979
344
372
827
89
802
162
928
744
167
495
941
123
992
519
877
948
794
703
593
913
363
36
9
157
249
658
580
351
455
757
332
653
666
172
226
783
312
67
420
858
877
951
118
192
261
962
584
373
440
127
846
899
490
334
630
29
169
10
417
967
27
702
523
679
794
283
478
983
822
333
683
279
625
630
817
749
326
917
345
118
762
145
721
572
513
503
304
951
796
934
808
882
351
143
986
992
530
471
657
667
817
191
324
204
742
272
790
438
212
549
302
294
520
389
981
408
396
854
634
522
43
575
147
522
838
970
820
52
259
745
923
650
877
404
625
176
867
363
778
343
559
888
620
804
599
224
181
26
265
683
495
366
403
54
301
67
88
488
165
237
848
431
440
273
213
170
490
184
621
59
654
821
855
746
905
726
464
835
340
204
996
701
676
429
422
386
661
815
915
119
918
764
374
827
352
488
997
401
98
259
676
615
985
109
594
844
70
216
627
17
692
838
286
384
103
639
478
845
40
100
480
971
922
877
788
979
611
817
585
353
236
384
885
807
151
392
570
399
33
548
930
895
996
376
226
611
455
659
967
263
964
28
426
948
50
518
679
793
577
726
947
607
110
134
449
742
1000
560
205
852
276
901
544
587
741
202
621
14
143
896
685
934
212
398
54
323
914
919
99
862
580
197
878
652
455
387
984
588
423
102
535
61
477
477
548
574
258
289
310
162
798
600
743
807
445
719
484
181
302
451
499
178
188
349
750
389
382
418
330
635
492
644
124
260
612
326
505
1000
91
755
4
899
605
185
263
591
69
944
94
512
980
854
308
877
404
246
537
48
356
306
776
914
344
979
837
339
383
579
501
879
541
551
889
173
822
640
299
529
784
783
290
755
224
828
679
744
513
371
408
858
911
554
576
124
880
712
190
396
558
242
438
510
455
916
935
143
960
616
51
192
402
945
567
622
962
155
106
44
794
295
636
336
444
211
138
471
971
630
562
436
275
731
861
900
82
254
125
819
231
339
836
717
364
499
262
961
689
0
162
878
942
653
965
234
46
609
728
269
168
674
551
655
744
609
226
632
384
755
808
295
124
972
876
642
921
891
344
691
260
702
785
544
628
484
509
743
16
135
139
528
379
293
883
317
432
927
673
727
748
826
185
22
289
575
620
131
150
21
48
781
740
284
897
811
915
843
88
345
891
73
105
184
671
606
359
256
607
644
466
87
736
539
457
684
342
243
507
493
529
922
608
561
75
288
249
959
970
769
242
688
975
202
880
967
185
350
692
28
680
820
257
981
360
877
298
98
134
408
140
657
522
82
394
22
81
965
872
197
453
923
561
235
331
953
609
860
590
692
632
100
369
344
535
846
613
276
972
444
787
222
239
422
586
443
259
586
851
497
250
607
880
280
212
223
522
211
506
980
298
939
995
882
543
397
659
920
890
401
998
464
270
633
780
301
547
476
721
0
336
481
384
728
130
302
589
370
517
288
650
473
470
626
466
737
684
86
539
87
579
526
285
985
230
275
835
808
619
587
6
680
641
113
437
209
479
283
568
70
321
324
741
588
593
159
642
582
889
201
918
964
927
616
213
765
177
161
789
795
116
17
71
99
234
243
404
699
656
407
499
473
575
208
11
829
907
806
603
317
410
920
907
536
137
197
384
803
809
431
357
663
431
297
454
227
868
851
907
619
749
110
995
519
121
227
297
171
272
20
389
617
912
517
8
330
97
503
145
307
993
882
80
337
855
839
340
223
780
729
496
891
374
782
286
888
885
277
311
284
42
139
558
558
383
994
598
752
228
680
130
802
711
796
298
287
56
180
424
868
215
602
893
885
215
765
18
296
206
740
177
725
286
622
7
651
125
638
465
625
476
281
730
19
78
983
999
827
554
923
366
13
344
843
956
905
52
331
959
578
413
138
380
348
927
224
601
767
511
417
774
330
313
332
879
860
276
762
852
590
617
388
213
247
274
58
620
518
492
887
6
209
959
727
325
106
770
778
980
221
948
758
696
456
61
196
540
211
159
947
160
792
485
67
611
887
309
316
140
947
432
322
754
39
805
876
560
847
149
976
956
291
596
31
463
928
451
201
473
661
658
325
189
697
303
717
690
144
941
839
267
894
484
51
456
692
433
780
400
84
596
421
394
870
834
805
656
100
264
273
566
837
30
270
297
178
185
59
711
167
344
626
648
414
886
17
299
605
380
102
393
360
821
213
386
347
104
681
960
519
866
998
141
231
460
489
739
485
342
125
927
626
423
508
531
357
535
758
610
241
194
194
386
101
531
899
664
432
516
390
904
205
751
157
56
528
36
483
436
35
410
331
823
499
630
888
462
272
486
552
577
421
817
922
79
903
998
452
823
242
537
916
451
121
372
419
777
391
968
41
571
932
497
943
557
380
105
463
902
446
200
791
635
945
26
628
210
520
505
214
373
673
698
966
446
473
153
344
502
257
287
734
659
991
476
560
35
531
905
1
215
364
342
889
713
997
619
877
756
785
880
806
321
95
689
610
48
872
931
150
538
508
268
167
58
227
975
591
284
743
887
378
437
763
280
250
826
81
65
44
944
436
560
435
125
627
800
277
590
359
729
787
553
775
198
823
289
26
252
56
944
335
745
180
876
24
172
486
996
68
533
927
19
218
256
326
94
676
697
846
707
276
779
754
552
923
299
163
771
705
265
616
243
783
683
999
665
300
964
710
390
806
413
766
668
614
918
820
210
789
552
221
359
195
664
712
754
428
48
825
123
971
428
874
726
959
749
32
168
735
346
711
110
245
823
86
112
549
263
51
407
661
814
426
367
513
342
432
166
739
12
336
523
632
134
67
855
410
366
111
156
118
898
413
816
563
544
924
154
636
854
630
43
260
144
895
683
992
523
885
895
44
491
576
237
353
531
403
588
631
790
863
788
796
61
995
958
870
891
568
534
487
770
913
443
807
939
871
927
113
162
527
602
420
192
374
437
417
303
826
753
491
661
786
834
34
641
368
768
977
374
508
579
986
588
52
110
254
812
590
267
945
700
291
498
424
737
438
605
686
710
891
978
548
863
146
373
386
976
805
94
368
271
753
28
135
953
961
658
96
405
748
767
112
149
756
921
231
870
859
303
365
581
662
469
456
423
923
388
40
601
163
826
962
565
178
636
445
306
783
464
962
653
401
486
620
850
441
448
720
385
196
682
973
408
235
192
177
34
56
311
535
727
435
247
336
731
142
880
395
961
895
889
917
710
789
194
889
989
456
638
559
148
716
385
910
116
545
575
442
779
788
41
52
474
832
490
476
459
670
280
444
299
593
573
656
776
249
97
409
264
917
810
719
334
439
300
445
418
737
978
476
15
519
31
308
229
909
775
81
167
462
135
971
709
183
342
504
582
412
232
171
61
760
802
856
726
733
980
133
440
805
215
334
670
2
708
829
37
743
884
766
913
25
72
816
693
394
40
374
595
184
633
149
210
856
649
155
47
275
396
938
49
846
38
89
123
40
578
983
393
291
18
76
68
385
853
102
532
536
154
290
679
325
197
879
115
592
392
534
923
447
502
506
809
643
259
361
372
955
936
227
554
883
496
284
712
31
916
182
777
981
950
190
413
69
715
670
588
981
777
831
230
471
184
918
591
33
482
661
76
722
449
718
485
173
531
79
835
809
153
94
743
957
718
19
37
747
142
470
252
699
816
533
830
967
895
705
21
666
55
465
232
94
866
192
239
430
866
287
444
732
570
158
808
83
526
412
458
208
460
556
644
818
577
715
895
165
702
745
151
921
943
107
103
68
993
806
976
974
909
275
938
827
196
362
9
85
158
426
223
165
136
105
764
493
349
59
801
28
637
738
357
38
320
333
347
714
742
615
499
576
397
452
946
931
627
299
355
336
669
632
651
405
278
97
765
898
843
990
620
489
686
15
65
195
501
824
9
937
22
280
67
500
425
83
575
731
603
63
848
936
984
963
850
844
275
198
573
968
110
642
677
623
690
581
755
696
605
59
309
659
902
773
177
135
257
818
574
288
562
650
660
476
819
764
598
522
205
869
572
960
479
181
502
599
369
414
887
259
121
566
830
998
841
893
455
513
446
95
657
314
547
1000
427
69
882
891
205
756
167
923
185
454
988
520
26
651
394
187
639
107
949
186
338
897
361
68
974
809
48
622
909
424
115
29
490
42
534
380
586
668
135
479
883
247
21
300
677
525
990
749
779
202
776
932
987
706
750
438
343
632
68
914
662
774
180
291
533
387
148
694
24
574
177
934
1
271
393
865
519
10
597
892
944
498
99
613
418
656
802
668
86
767
339
770
830
763
115
559
914
867
155
112
695
971
325
676
879
616
583
499
120
309
872
938
200
86
202
343
471
900
341
929
867
319
186
631
922
413
78
463
679
556
751
146
627
218
659
109
610
76
874
370
747
764
897
731
50
838
538
688
961
429
431
307
753
21
202
404
72
214
28
88
9
35
915
44
78
893
507
634
218
338
299
1
29
826
749
850
270
701
718
240
806
596
190
48
281
427
468
829
338
371
809
866
96
238
698
94
29
374
43
672
856
482
824
530
178
580
838
883
178
493
543
750
511
235
670
8
668
669
860
445
200
128
617
1
375
705
82
712
995
500
894
541
702
1
419
971
793
773
607
255
388
257
973
283
816
105
332
768
700
357
554
273
410
820
571
47
888
286
516
366
278
670
561
819
339
732
713
333
649
917
70
961
454
962
600
965
56
353
178
730
524
393
340
268
200
673
409
985
655
25
154
57
275
258
187
316
775
650
444
76
770
648
336
545
659
990
637
944
126
396
199
443
457
623
748
936
331
362
665
484
452
269
939
719
609
498
484
422
345
358
856
680
887
21
67
46
786
438
970
453
878
156
245
237
724
222
824
417
587
417
10
114
975
655
693
822
126
647
32
494
557
808
951
448
41
786
657
264
866
536
219
122
718
585
782
417
838
786
436
72
176
109
207
348
876
833
558
44
593
394
370
137
722
117
949
807
292
217
273
512
363
652
338
706
338
339
371
901
52
778
834
414
818
412
901
600
945
201
533
356
551
670
766
855
866
327
222
829
438
442
562
389
775
782
314
13
727
624
642
476
681
644
907
681
803
622
783
374
102
223
717
89
53
362
644
634
963
519
397
728
222
989
374
823
924
573
497
426
293
34
845
441
779
411
637
567
935
18
646
860
892
279
14
656
704
561
600
696
622
151
903
682
898
802
216
491
275
328
789
662
964
275
177
198
568
103
130
548
10
76
947
136
565
48
382
886
195
305
658
630
606
737
595
189
474
716
3
700
224
170
582
144
139
353
699
919
441
848
237
464
468
106
672
69
442
381
139
840
278
97
807
406
826
687
742
168
593
379
14
897
941
862
633
210
161
879
37
774
199
383
374
220
726
325
888
359
435
347
691
697
986
439
565
28
618
884
576
601
587
835
48
453
929
615
120
225
790
215
217
389
90
957
542
552
275
639
446
62
468
273
70
253
397
843
547
785
177
831
398
730
334
277
689
676
34
94
277
548
44
614
879
387
856
407
912
159
918
927
246
615
255
654
889
744
826
107
52
474
496
250
252
461
56
785
928
470
534
385
138
860
554
217
780
418
514
483
609
992
712
358
733
216
573
666
771
379
996
322
303
77
176
731
624
110
808
933
820
92
828
790
696
73
835
931
919
624
298
832
448
561
1
579
311
393
186
49
359
343
955
926
551
52
311
229
814
808
599
852
72
547
790
985
311
753
645
650
152
428
622
76
73
383
691
962
897
940
675
580
368
372
419
946
141
620
616
620
905
596
789
439
121
780
506
328
357
153
761
633
27
352
87
377
261
427
377
561
904
34
541
620
26
783
959
575
963
406
16
219
651
776
791
765
437
349
552
797
392
255
44
463
765
874
395
179
650
952
875
891
691
416
399
891
478
869
621
688
563
500
855
784
988
595
175
758
942
115
373
119
598
846
237
585
916
852
404
409
953
769
586
67
832
33
935
116
232
543
128
451
251
64
510
873
278
658
274
216
910
304
441
825
954
258
421
24
440
846
854
986
327
464
613
83
730
92
731
416
450
868
95
556
700
281
89
574
517
548
82
483
331
247
914
628
299
780
754
224
338
644
107
267
669
76
362
883
363
415
913
176
371
241
192
303
754
433
522
700
957
400
141
860
315
952
242
319
199
787
75
846
384
441
354
656
712
366
743
737
660
808
887
562
726
93
468
876
534
584
937
204
713
107
329
317
883
181
648
365
204
298
198
209
328
796
329
703
77
13
840
235
358
565
112
708
974
492
987
394
466
744
472
608
558
133
519
341
475
402
673
534
19
406
95
799
594
86
424
594
744
514
329
449
78
601
906
352
892
509
750
868
616
998
724
53
280
407
259
964
213
394
603
889
581
513
973
647
601
620
616
144
850
715
484
688
492
173
537
401
724
228
387
307
886
584
17
873
372
133
156
434
845
849
96
750
424
140
179
447
774
521
78
247
331
845
330
242
758
705
126
702
612
58
793
541
503
624
112
444
94
417
341
563
187
606
379
132
328
23
136
569
334
211
186
3
619
751
957
553
894
888
152
883
215
642
910
612
499
580
949
60
270
546
802
883
234
824
269
93
254
497
242
177
311
971
132
584
468
217
27
46
128
543
652
224
936
962
968
844
939
768
459
971
901
244
30
206
170
954
973
393
853
965
398
460
460
5
424
772
426
985
910
462
816
25
436
420
264
350
334
998
837
72
766
361
163
346
905
596
192
891
26
156
789
419
13
339
478
241
560
971
698
129
584
376
324
872
525
632
513
64
998
627
776
164
81
382
651
283
291
419
237
310
342
368
830
484
603
804
193
832
107
123
937
873
957
405
6
609
460
370
459
489
717
675
231
565
581
385
671
758
752
778
149
483
565
682
555
314
466
233
287
623
901
589
586
54
505
172
795
291
402
659
234
99
217
7
287
958
578
855
443
585
365
241
555
733
754
204
572
194
159
575
550
316
359
572
545
565
137
386
643
95
740
106
649
882
630
126
995
426
689
907
67
883
780
851
610
219
66
108
105
715
179
2
965
435
670
3
1000
852
114
226
486
113
352
761
11
412
67
971
423
565
189
5
198
369
496
900
901
412
368
954
147
408
613
449
714
422
190
30
406
80
631
627
239
661
459
435
174
787
859
946
377
37
663
693
476
586
536
287
873
67
762
319
900
496
602
899
913
634
957
985
972
913
269
432
308
516
763
710
614
411
269
492
369
701
31
239
856
218
503
202
334
51
770
650
172
852
114
500
593
242
128
257
412
897
134
106
819
886
286
648
346
411
37
794
601
726
214
799
922
847
578
120
10
925
9
26
99
290
655
712
634
388
902
183
821
267
571
830
353
381
824
899
329
516
897
677
942
332
567
603
89
349
498
629
99
960
296
211
651
473
383
785
410
537
36
752
131
183
381
708
361
748
556
653
383
228
314
724
431
34
32
770
620
674
811
516
428
603
795
155
633
721
976
382
665
221
566
406
869
591
197
773
426
823
392
769
733
963
633
142
515
629
799
100
79
931
754
288
246
962
172
810
340
809
714
354
972
768
249
365
381
462
211
465
1
283
628
653
653
807
193
914
313
383
715
7
885
78
100
127
871
395
477
434
394
288
28
25
119
147
497
297
485
686
924
80
328
702
810
552
258
406
494
605
361
65
395
618
483
318
410
422
961
282
571
326
998
703
924
744
431
132
577
726
123
74
385
542
595
283
796
53
527
273
726
861
658
708
995
664
569
344
670
931
378
799
319
36
743
812
435
881
117
961
291
915
416
846
214
160
781
993
68
477
241
273
186
748
630
660
132
385
595
395
130
971
834
420
51
397
118
542
364
168
595
738
738
807
669
66
548
558
172
965
850
628
301
428
854
630
583
445
947
342
1000
667
572
60
325
756
846
297
288
638
307
772
735
207
719
225
323
893
445
547
749
929
792
302
224
856
373
978
351
384
141
895
189
539
652
329
720
560
275
681
820
77
891
190
670
46
945
761
682
97
364
562
321
838
612
820
398
170
221
213
666
63
528
649
870
663
477
18
94
672
462
688
492
253
366
152
741
76
166
25
44
947
475
112
764
833
880
415
431
369
599
356
934
595
514
862
425
576
423
53
285
651
359
959
392
440
948
830
407
476
508
241
843
773
421
631
473
885
313
687
202
80
951
254
723
529
852
674
973
572
206
621
904
142
628
355
217
820
375
829
284
265
366
257
840
50
113
725
157
285
45
227
994
463
382
654
685
994
431
283
474
196
955
470
229
942
545
881
496
152
597
972
145
172
846
293
253
897
159
582
726
536
569
886
343
817
222
193
544
555
472
358
72
901
535
308
228
388
132
803
645
303
913
658
853
163
931
944
468
128
107
416
889
938
59
912
146
166
24
847
847
334
390
701
763
146
17
985
876
73
933
924
375
109
645
689
783
149
158
892
738
234
81
691
28
791
265
792
513
905
222
912
153
307
285
17
341
611
306
762
608
875
835
285
831
988
936
631
109
607
121
789
890
170
180
585
804
459
137
452
277
895
562
51
582
865
494
505
550
105
808
1000
897
977
702
421
732
202
627
39
889
565
433
402
101
978
696
209
727
835
316
97
539
935
364
766
259
393
229
424
546
462
421
814
850
297
274
558
899
892
142
779
975
335
443
471
582
67
299
204
785
510
36
708
445
401
641
283
945
898
423
134
276
706
166
318
612
392
310
795
235
695
348
449
962
55
534
888
16
594
956
296
797
977
805
575
840
189
312
185
85
224
189
401
855
562
579
757
883
643
365
370
468
976
500
788
634
210
94
965
93
238
296
656
862
108
899
977
530
851
454
488
926
976
498
123
297
354
929
568
349
403
973
293
73
728
627
332
828
72
333
619
326
175
785
446
131
547
861
883
955
99
462
596
12
452
652
704
561
205
345
244
541
543
178
497
694
103
26
632
215
946
935
652
449
857
148
708
882
370
946
28
81
190
550
978
653
310
361
157
44
555
970
89
797
786
664
732
262
991
322
776
564
107
405
582
396
928
756
406
588
75
824
878
244
729
123
458
251
261
902
869
25
548
231
956
637
846
689
630
777
14
998
744
939
956
442
798
894
251
819
303
959
168
334
787
665
761
642
900
886
67
483
687
55
287
856
180
305
222
73
119
163
222
773
319
519
20
344
105
517
514
81
702
865
952
698
839
179
181
641
731
986
14
30
766
818
670
70
18
618
550
470
942
660
995
790
949
282
669
418
366
396
482
306
102
164
633
564
923
64
283
352
865
768
841
938
178
369
151
490
223
247
711
800
41
388
143
60
199
625
885
34
768
663
97
371
878
44
452
499
571
262
291
541
89
272
195
558
698
176
724
729
995
967
815
253
868
675
249
213
508
535
44
613
906
620
465
55
53
311
315
38
985
999
2
3
649
236
535
354
984
921
220
720
152
764
136
943
759
976
870
600
10
231
711
710
854
669
950
847
135
564
346
511
61
13
805
165
767
915
838
419
247
644
805
345
461
365
252
836
684
789
246
748
791
27
320
972
854
928
5
468
387
862
87
788
105
903
960
227
95
92
497
709
861
613
274
943
628
82
204
178
129
137
880
772
280
454
176
179
603
549
109
868
391
115
721
559
42
6
10
294
515
521
949
280
577
767
680
599
400
322
480
989
256
338
680
214
535
129
72
245
667
316
392
674
332
765
821
8
292
997
217
835
198
590
856
900
352
621
712
841
555
251
446
310
693
674
679
540
666
266
584
677
555
312
753
952
387
74
309
662
807
553
527
554
891
279
166
906
281
919
434
753
529
46
23
840
542
606
787
989
181
493
547
765
305
435
300
527
300
285
750
775
667
298
383
375
261
831
35
522
37
953
765
236
150
677
19
430
708
343
961
947
715
249
836
34
823
731
574
617
564
681
627
491
791
932
11
860
707
45
534
198
391
590
630
371
277
300
949
26
405
807
779
872
693
606
894
976
11
158
917
739
32
426
839
230
503
19
548
157
706
141
478
181
534
781
52
307
905
872
117
146
163
605
840
485
844
268
694
532
252
405
730
260
991
609
26
416
877
30
486
492
933
912
649
348
718
545
193
165
898
128
88
565
672
733
533
534
687
621
324
887
80
871
509
696
23
357
759
597
153
37
389
416
201
243
271
203
166
283
11
362
755
743
529
798
586
528
601
721
143
616
212
739
827
635
601
160
410
194
836
617
590
164
429
130
54
445
508
186
825
138
448
726
773
770
896
138
528
203
587
253
165
172
161
159
437
194
29
67
650
837
155
535
417
914
987
464
419
654
362
80
191
448
296
762
944
831
536
775
116
878
611
379
481
452
986
302
588
170
291
198
661
190
34
471
828
162
553
836
372
529
853
765
450
568
656
685
780
985
578
327
266
861
496
173
975
974
474
190
61
273
110
934
288
221
343
863
608
803
866
379
2
293
885
190
584
948
434
368
321
738
306
540
978
390
356
959
257
823
780
847
614
815
211
891
928
469
180
651
169
975
6
95
610
674
89
837
641
772
353
141
536
454
128
902
57
749
294
640
442
372
801
645
920
905
357
293
835
253
834
734
15
821
463
534
129
405
979
275
509
478
279
905
987
171
382
343
917
672
340
699
942
133
206
392
529
446
255
677
288
643
397
598
347
497
890
452
158
835
2
9
892
169
268
353
24
438
60
882
702
342
248
25
542
396
604
558
656
139
70
703
246
209
411
684
726
660
430
57
966
138
969
415
794
171
169
468
550
574
746
210
702
37
754
196
977
376
796
886
49
752
846
45
28
284
474
387
639
901
694
482
341
349
16
19
121
327
712
837
759
273
816
60
634
240
85
750
940
430
364
298
101
667
745
462
488
447
539
568
61
805
425
322
255
526
143
889
855
857
960
627
841
4
374
703
541
267
415
450
832
949
655
926
880
260
562
426
570
469
651
162
527
427
947
633
110
640
951
966
426
914
531
561
503
6
472
109
428
618
701
486
706
428
67
350
27
226
488
510
944
433
532
6
592
813
225
443
38
617
171
129
329
828
460
964
760
210
102
93
643
155
834
486
283
416
298
1000
4
744
66
870
388
349
443
45
923
524
760
941
740
312
621
746
436
629
643
119
574
689
729
97
19
588
9
69
604
851
703
157
485
36
232
325
371
840
92
455
680
229
432
712
824
640
194
16
296
319
184
224
664
93
393
88
535
42
102
262
442
115
874
123
53
803
968
829
409
506
439
209
24
814
753
105
979
433
59
335
881
602
235
973
491
299
149
194
428
768
642
78
238
954
276
575
509
71
999
769
236
816
116
191
772
816
936
222
849
179
992
398
495
864
877
434
163
382
839
202
865
183
568
443
943
847
622
965
721
803
422
634
491
892
969
617
688
420
627
741
352
431
737
915
539
684
454
758
630
561
332
259
535
688
452
610
406
812
741
319
560
813
533
858
287
111
214
136
879
395
398
356
243
810
917
40
69
993
925
710
6
172
464
880
0
843
717
783
988
112
317
717
244
960
774
915
943
210
34
668
193
774
505
495
305
934
335
474
50
531
15
669
547
512
692
394
870
431
420
933
187
18
995
901
898
95
571
948
339
827
825
475
373
52
29
227
825
830
321
490
699
98
58
286
450
899
671
735
647
748
364
344
739
416
18
933
938
469
93
963
523
433
134
655
211
343
457
56
748
786
265
189
405
254
472
505
93
117
298
752
983
404
933
583
583
261
906
10
746
119
408
600
479
467
202
266
588
805
903
354
761
620
155
809
814
771
802
152
26
661
26
539
956
132
341
98
904
866
109
223
167
829
312
145
774
462
43
986
844
743
351
260
92
849
936
737
705
719
270
574
553
376
402
238
354
133
241
8
374
78
299
112
690
46
49
382
403
981
482
250
765
375
335
910
37
691
688
30
484
93
708
1000
383
645
329
169
749
470
465
12
466
936
805
387
33
732
302
983
199
503
16
944
762
126
154
216
501
522
395
229
109
350
717
79
539
782
186
351
572
161
385
746
229
484
732
423
573
414
342
737
208
270
49
204
813
432
443
515
608
72
334
884
750
373
746
428
277
214
365
757
827
846
287
525
479
38
910
375
950
314
179
525
374
40
327
421
591
359
230
79
412
247
991
328
549
454
590
529
192
938
364
0
83
169
740
687
203
176
527
581
808
301
342
350
319
625
665
93
767
709
384
714
302
178
707
888
803
413
968
441
129
45
805
698
785
109
30
363
723
463
186
531
941
954
415
148
835
174
376
234
962
292
811
924
278
460
34
978
579
808
764
809
450
688
910
37
214
408
266
842
106
845
341
727
493
237
679
572
327
66
632
679
182
829
613
945
311
826
927
414
330
466
352
908
991
728
850
9
618
70
650
932
11
555
833
323
882
405
553
342
183
534
743
639
264
889
98
87
422
144
341
778
983
858
526
535
576
439
440
634
961
195
767
276
976
584
904
951
118
115
957
650
661
897
45
873
739
703
612
733
308
220
634
262
195
217
342
609
791
31
66
423
912
204
104
564
118
49
21
58
706
259
254
231
628
753
997
481
331
813
37
265
887
132
967
597
60
469
176
354
529
611
75
439
101
246
482
997
657
433
723
868
387
797
484
774
686
314
291
65
781
638
746
223
403
53
717
489
672
939
678
424
688
207
501
533
822
802
543
546
620
997
493
86
42
654
805
753
303
871
462
850
640
925
741
602
25
521
955
569
673
777
50
359
426
806
45
303
814
602
135
806
445
253
465
993
198
274
336
930
816
294
66
597
243
96
5
305
327
775
182
536
601
898
995
728
721
142
738
72
316
658
673
332
485
512
600
330
411
997
904
140
739
940
476
501
299
372
783
655
768
252
24
129
427
428
478
929
396
556
762
953
264
350
537
341
626
238
890
92
463
967
783
387
603
769
714
906
16
69
44
404
580
418
882
18
45
567
268
756
819
1
276
203
639
661
395
980
962
782
744
659
589
971
781
107
578
315
759
119
198
48
116
386
764
218
103
176
665
868
821
901
885
742
749
248
353
804
355
615
711
846
675
299
827
538
331
982
473
900
106
607
840
479
945
312
244
760
260
155
74
948
434
146
617
606
449
450
699
718
832
181
141
249
910
517
950
168
268
539
481
325
380
201
49
951
465
558
852
302
395
835
577
531
279
248
564
99
517
100
949
205
481
182
354
140
918
74
591
321
133
869
696
957
497
938
237
490
890
894
426
299
433
768
919
116
757
824
96
585
307
288
750
94
270
285
452
696
533
306
235
353
943
998
303
514
639
87
828
579
492
150
360
268
679
478
771
639
898
117
380
171
993
996
99
6
962
360
126
228
508
198
741
622
914
184
150
789
923
856
270
651
161
320
832
95
829
754
666
378
179
770
655
200
795
339
821
714
364
517
606
458
482
976
362
945
259
170
941
582
238
790
139
897
974
340
766
375
729
910
784
329
99
673
23
63
230
629
155
996
898
142
133
549
512
513
697
517
100
46
783
818
686
740
621
824
100
111
432
871
674
696
371
543
279
766
13
933
553
97
20
246
446
296
997
6
704
987
378
59
670
800
986
849
593
322
867
903
929
57
891
484
237
91
584
817
387
358
347
837
248
740
694
636
206
982
212
409
365
723
725
811
590
411
226
605
427
485
486
244
188
436
308
462
55
779
166
922
344
722
949
51
484
42
113
610
160
512
30
686
323
566
891
331
946
919
875
316
680
853
966
443
646
389
244
548
365
568
474
67
424
971
915
588
375
868
219
887
697
823
187
789
413
491
340
489
716
804
189
413
916
99
97
22
484
847
564
359
641
144
539
557
199
391
131
519
138
382
110
581
689
539
656
342
817
899
674
548
654
781
330
739
458
230
732
450
237
732
671
933
891
391
597
189
995
395
568
75
155
1000
28
749
571
626
44
466
677
615
282
156
172
491
171
373
949
667
989
502
508
965
883
868
782
373
583
135
763
290
549
579
170
633
104
870
970
13
905
589
568
280
384
660
465
636
150
921
485
961
150
845
512
926
458
565
778
258
306
164
276
847
827
890
896
231
681
329
350
903
418
618
576
113
340
519
411
305
577
772
142
247
470
485
703
734
145
983
261
461
753
944
242
350
988
466
624
77
63
961
23
382
792
560
39
293
41
15
718
497
4
367
20
536
902
872
559
126
556
223
877
653
72
43
366
180
937
98
578
208
356
604
270
341
86
385
148
349
162
911
405
343
514
432
528
243
323
270
1
81
383
473
720
752
946
234
62
353
584
911
470
687
469
569
490
503
370
668
596
596
384
157
640
646
82
129
712
308
740
254
178
617
540
143
98
115
995
160
361
748
351
281
563
700
171
83
485
614
537
81
39
545
746
94
361
968
685
618
894
131
709
483
83
339
81
416
727
758
785
371
709
761
733
855
998
570
279
673
279
561
169
584
598
104
497
405
953
566
856
524
383
552
229
155
108
97
797
509
797
499
775
921
886
836
414
772
973
658
525
794
19
401
551
64
427
457
319
877
243
955
208
972
391
336
240
87
329
972
710
80
112
255
524
305
948
437
588
628
828
132
678
979
121
522
755
127
387
976
897
272
110
800
493
209
473
495
428
495
245
32
418
638
366
994
940
970
55
817
703
15
850
226
216
188
409
386
308
630
342
556
179
555
384
743
759
916
473
90
357
192
967
973
594
685
911
56
235
13
656
852
635
857
535
468
981
897
102
353
988
578
617
34
612
821
644
724
710
502
777
23
527
448
125
462
445
163
461
80
815
879
54
193
548
60
669
774
70
351
214
736
325
219
600
689
912
216
406
634
226
344
757
773
67
562
935
316
548
601
706
44
717
309
637
322
226
757
0
939
58
810
170
215
358
375
491
370
688
828
103
684
209
73
340
489
645
744
217
67
198
804
678
268
835
767
633
535
188
855
908
100
123
419
770
924
315
871
135
254
660
965
541
977
78
600
844
467
138
536
1000
176
65
387
130
104
803
715
861
328
878
157
180
301
503
576
236
899
883
449
967
796
756
653
942
78
43
434
458
688
209
188
74
298
342
780
286
748
544
656
440
54
332
935
700
605
586
594
303
456
618
48
171
981
382
959
119
591
881
503
17
536
995
548
666
662
111
704
861
961
277
155
283
835
511
246
453
236
556
416
101
618
977
51
355
501
340
131
725
405
161
862
336
573
510
561
488
260
595
406
285
881
153
546
38
375
165
54
305
673
15
826
951
330
798
280
159
20
54
890
493
383
318
257
917
98
396
462
682
818
112
902
972
356
105
411
486
362
980
613
739
652
4
303
137
627
61
938
430
914
905
586
995
508
475
314
166
205
718
614
846
536
812
223
378
24
848
263
558
576
695
567
495
861
741
930
759
24
686
248
178
463
154
6
290
972
184
15
100
467
229
78
856
827
285
33
104
308
908
728
952
180
704
169
941
459
32
588
11
191
925
946
96
258
787
428
862
247
50
23
981
113
577
260
586
130
300
671
556
776
721
902
794
765
762
421
420
496
775
901
646
726
670
886
548
906
155
726
829
908
589
86
694
570
321
11
421
164
154
7
72
755
3
92
824
532
649
508
141
170
556
640
693
516
444
527
208
455
382
310
665
896
303
855
790
364
971
683
969
719
31
218
416
97
55
586
386
331
364
854
850
182
654
798
882
699
398
5
723
903
832
623
478
795
248
743
10
413
524
232
29
145
899
812
603
872
796
994
984
499
163
127
629
348
829
279
913
884
303
607
478
988
527
446
308
658
221
310
476
335
847
686
97
513
248
186
265
26
701
121
483
817
17
665
477
442
480
289
689
378
398
160
593
950
749
263
685
81
34
471
371
851
690
525
829
504
331
311
875
941
292
175
548
806
908
712
244
23
467
551
960
118
759
218
167
155
282
678
56
366
711
173
600
196
209
387
174
68
476
646
765
783
590
470
2
772
252
848
694
348
942
599
395
78
128
231
839
100
523
154
664
785
36
492
147
637
660
317
790
322
423
514
839
916
273
53
184
154
104
279
483
407
905
665
416
266
417
829
189
921
752
789
254
738
911
853
435
387
700
353
291
241
73
906
611
653
990
657
923
959
651
507
858
337
622
968
64
33
847
98
735
326
605
225
701
586
83
591
250
548
405
1
374
2
473
807
298
874
839
127
802
984
864
454
753
383
497
205
344
587
14
141
852
907
504
556
59
650
709
107
451
900
815
142
26
888
837
554
33
802
279
216
856
375
851
95
959
592
981
691
16
841
641
812
315
541
669
815
983
270
214
339
569
11
752
187
49
581
89
723
897
771
267
885
453
158
134
130
302
872
966
345
810
445
756
281
255
98
797
548
803
622
920
922
825
973
374
167
696
571
9
188
732
486
819
41
237
375
101
780
206
548
406
623
47
492
374
919
304
714
264
400
541
708
625
879
982
345
952
843
446
795
152
877
508
725
632
1
49
395
751
479
633
237
15
202
381
504
628
529
124
982
286
672
554
866
104
997
332
385
82
419
156
859
279
494
353
477
82
783
319
521
656
432
491
531
182
147
101
329
101
615
522
911
497
179
884
837
512
186
90
373
271
17
270
186
56
729
280
680
985
46
958
410
276
250
911
381
218
436
115
610
81
943
317
719
899
920
115
154
222
823
223
354
44
299
303
262
185
119
57
46
638
785
291
289
566
628
503
271
555
153
926
816
544
584
33
81
951
442
301
190
326
463
621
316
104
728
598
844
941
214
212
733
334
734
788
575
315
124
443
389
931
497
265
661
545
4
250
251
816
92
867
620
212
229
200
767
479
517
503
640
308
556
186
139
470
605
351
965
457
681
625
874
860
324
120
70
596
718
375
681
958
370
431
358
210
188
483
815
439
238
809
834
949
154
204
178
800
649
808
60
766
949
899
441
91
192
324
88
664
694
353
947
965
585
931
666
619
209
442
374
906
505
288
160
542
176
223
48
306
948
995
358
594
993
335
269
386
58
248
126
385
865
191
302
86
219
276
300
707
363
168
19
317
950
12
647
547
143
989
871
375
318
502
17
454
197
11
510
439
768
823
557
691
59
340
60
951
186
725
449
470
740
837
613
371
912
111
740
407
615
994
611
692
906
801
563
385
274
788
669
565
126
70
228
875
144
982
999
694
938
499
585
576
342
244
713
397
489
17
934
727
352
405
142
735
667
7
214
832
826
833
629
230
807
153
674
920
226
130
754
416
313
420
296
710
57
419
381
661
698
235
69
886
500
751
789
156
115
657
651
900
420
76
446
162
151
769
541
791
557
389
571
454
570
667
658
913
239
825
189
464
909
978
528
430
445
597
905
205
806
121
132
657
118
270
175
535
788
373
494
859
946
553
343
810
807
198
37
52
876
194
884
970
827
476
625
744
984
58
233
64
601
543
182
231
751
464
116
609
622
44
199
266
539
814
703
912
951
473
637
472
706
214
842
60
89
282
553
908
438
598
288
424
537
283
623
671
766
556
332
995
156
526
268
117
374
839
157
326
384
85
483
233
645
719
588
724
773
672
413
569
723
91
611
199
647
899
682
714
444
799
297
921
578
821
232
266
42
681
541
52
807
502
503
835
965
729
151
680
400
188
816
407
652
639
41
864
455
735
95
902
756
357
311
407
657
920
273
550
317
116
739
423
214
83
121
62
535
988
635
526
861
344
167
858
847
528
487
470
925
691
816
574
354
36
792
73
359
118
396
670
833
918
334
794
677
530
795
855
364
39
19
101
231
367
37
447
851
372
389
954
619
665
38
138
60
680
610
629
395
212
678
94
303
845
347
145
341
806
269
683
420
395
70
888
828
620
646
554
302
591
826
195
61
338
183
557
420
211
469
531
120
199
732
23
643
596
514
436
567
424
382
667
798
312
956
586
638
143
566
935
224
824
303
830
750
192
63
588
105
450
143
948
452
301
323
95
84
281
926
16
795
629
407
63
932
258
412
378
381
717
176
563
33
259
211
574
584
142
287
953
208
497
177
581
37
962
645
352
51
536
912
640
223
489
266
716
975
725
170
596
475
835
329
828
846
351
595
747
12
62
928
207
53
257
210
944
110
319
771
786
478
989
75
745
86
839
298
426
435
963
824
129
988
878
299
26
187
841
403
735
847
734
819
795
671
589
393
922
995
344
429
441
301
266
956
961
922
677
718
831
536
421
235
197
775
583
322
79
905
387
757
546
980
369
845
500
844
400
581
297
871
98
379
354
260
937
478
870
812
317
748
729
340
548
673
880
396
478
247
30
366
447
295
888
228
764
204
897
267
549
903
940
868
431
674
852
149
651
603
531
735
188
305
635
887
319
707
91
253
674
797
309
617
972
745
108
946
292
731
177
154
594
1000
841
679
59
18
627
662
584
265
881
311
387
693
751
70
734
214
124
600
593
70
513
951
748
866
9
504
610
611
505
560
497
194
780
31
123
908
236
789
637
227
159
108
243
491
41
14
13
373
898
944
843
489
661
938
334
649
896
801
969
901
632
345
521
855
471
262
920
248
798
671
872
780
709
965
759
804
867
333
176
11
878
292
189
258
115
99
975
417
436
278
548
114
425
331
369
530
792
547
603
28
291
155
31
26
655
581
461
216
295
137
669
443
999
804
213
428
404
476
963
187
433
979
853
141
543
677
48
576
110
819
304
927
646
202
103
694
230
846
350
977
923
459
602
88
600
231
278
435
218
90
989
686
830
757
412
608
348
936
794
557
644
93
716
568
884
762
507
84
140
160
588
215
688
864
275
520
274
173
7
811
414
953
362
206
127
949
742
902
71
552
951
864
610
586
727
691
268
101
996
104
214
64
61
537
853
675
252
790
799
586
371
193
337
40
149
242
745
967
310
780
753
17
235
528
932
236
711
462
895
984
60
755
842
898
246
749
595
131
259
100
394
300
165
149
311
63
121
693
531
424
240
422
632
632
893
505
356
5
733
792
470
496
536
376
435
810
426
432
1000
626
497
238
318
291
406
764
191
484
957
751
630
982
448
819
839
786
648
269
61
572
966
444
29
990
796
391
180
195
247
700
181
250
457
733
650
911
57
725
412
465
722
89
140
831
588
426
895
306
226
250
288
227
540
298
305
102
118
968
434
735
678
557
366
709
406
110
17
20
739
241
990
440
372
914
931
400
840
102
2
574
46
13
583
410
430
957
636
33
574
153
55
787
426
207
564
637
394
987
727
269
814
916
353
444
440
437
334
903
198
785
925
806
983
679
978
739
45
200
716
31
810
340
576
80
84
953
769
795
407
157
413
360
118
582
177
701
477
418
641
758
671
348
739
401
180
899
761
109
475
747
203
373
476
283
79
263
406
592
539
912
204
397
888
566
838
20
56
968
305
991
84
926
715
661
819
682
495
732
921
341
287
941
997
460
795
719
106
319
361
4
283
761
561
440
705
889
325
34
711
749
478
733
732
575
375
277
489
970
86
636
431
484
616
446
647
241
348
446
910
122
505
813
403
897
488
642
138
6
645
369
422
718
384
178
212
754
521
971
764
382
500
962
786
939
499
436
532
254
422
732
542
739
604
827
879
652
13
786
803
697
367
828
737
973
373
809
574
671
321
87
7
650
44
863
89
0
990
143
3
137
753
676
523
170
271
728
852
889
148
470
292
269
739
924
313
773
322
101
949
26
789
385
671
535
918
802
380
724
633
986
162
742
810
913
532
499
936
958
9
856
650
84
109
66
438
335
895
869
87
377
928
789
641
42
69
886
728
158
482
56
892
931
586
212
99
397
104
747
958
194
772
898
845
902
913
309
63
930
482
246
986
921
919
631
552
988
254
153
68
81
923
768
979
517
928
78
379
372
987
630
354
225
277
892
741
540
427
766
785
959
272
462
518
19
827
290
181
212
111
341
51
783
51
943
198
652
894
917
916
358
738
556
356
358
112
538
385
198
231
945
615
164
510
162
407
543
256
740
758
394
37
331
762
31
538
62
796
691
571
553
700
701
600
549
311
745
558
720
447
770
88
397
69
898
414
919
845
279
296
532
750
691
579
169
449
0
599
648
154
39
174
480
534
781
11
934
470
474
333
267
66
775
836
407
467
554
167
598
166
613
586
241
173
618
364
522
906
186
124
775
611
288
640
71
908
864
580
174
286
435
943
479
791
579
798
739
36
141
753
571
424
551
533
518
397
881
320
176
911
294
173
287
763
742
685
20
348
859
812
952
695
465
167
715
597
722
233
983
649
633
190
321
327
853
260
107
842
125
1000
546
567
383
888
52
130
176
277
279
528
173
957
687
847
18
681
712
342
879
224
966
419
845
827
883
213
180
395
934
276
590
285
788
336
765
338
38
948
624
45
593
960
30
380
548
312
421
867
75
974
736
802
922
589
625
196
703
931
60
408
698
37
259
19
431
938
822
579
570
730
711
222
198
806
28
362
355
186
7
750
41
437
221
54
851
82
123
914
846
893
466
83
921
697
635
814
300
957
597
448
870
621
243
29
242
807
650
750
557
60
380
245
161
749
172
467
9
455
707
734
221
133
890
962
535
68
637
213
837
650
610
793
344
647
621
645
406
386
724
446
626
997
517
704
465
480
900
426
259
419
954
958
693
979
78
379
389
38
871
633
988
397
935
23
422
932
21
852
766
702
186
530
637
988
473
975
557
282
20
558
641
277
870
416
177
774
288
886
552
55
575
186
119
252
705
540
931
825
634
124
92
130
763
305
893
963
187
991
220
698
173
567
842
248
997
705
540
42
800
129
851
526
656
165
125
47
507
807
929
376
45
206
827
985
702
386
762
869
180
619
513
631
569
374
58
182
750
472
649
764
705
718
880
925
537
638
613
879
855
698
451
827
25
543
814
536
404
533
4
151
84
193
934
266
818
725
952
252
90
854
810
488
593
485
781
283
873
745
323
645
578
499
852
790
111
434
446
191
592
702
338
479
51
423
485
468
726
781
895
157
616
63
320
553
169
848
709
431
209
539
757
329
676
944
47
242
186
796
894
716
887
762
569
586
210
103
780
836
204
209
943
431
97
642
619
318
593
369
239
214
616
470
385
339
440
467
475
10
961
339
867
380
906
821
643
766
426
226
597
62
524
641
771
7
217
66
401
990
836
530
377
535
550
952
658
926
675
153
236
873
235
352
981
207
663
903
183
849
428
901
3
23
75
530
4
931
35
222
606
490
211
830
240
298
737
45
254
896
941
116
757
751
488
598
197
891
654
80
858
290
968
389
459
985
455
3
736
989
796
87
961
653
988
998
669
62
726
597
385
890
658
681
115
259
122
775
651
521
970
200
16
513
787
734
74
227
531
363
670
589
329
314
951
130
618
279
364
501
97
178
873
215
418
103
448
197
233
340
333
875
724
321
62
840
486
85
212
683
555
61
966
617
260
7
453
38
563
147
714
107
883
723
96
609
558
626
100
991
119
2
578
436
754
691
224
923
473
394
55
777
305
23
836
892
326
960
359
643
276
745
249
485
135
762
720
660
172
213
1000
572
968
382
574
780
741
263
996
874
709
766
993
0
404
834
630
596
13
295
622
214
758
502
466
553
958
574
541
121
6
112
243
600
999
785
189
165
257
326
970
99
172
233
346
521
858
50
77
868
404
422
697
91
733
639
434
941
247
745
175
302
209
938
284
43
478
121
448
346
549
255
44
67
869
272
908
91
261
174
969
615
650
573
784
30
331
605
555
956
90
593
634
807
858
421
531
85
825
560
499
935
122
285
572
473
3
758
973
916
239
578
499
47
502
320
175
70
904
228
853
58
895
51
336
857
208
848
612
130
977
639
869
457
317
511
242
787
153
330
338
328
247
402
649
370
890
555
785
915
738
524
761
454
208
850
267
58
423
598
531
219
791
489
33
19
49
424
101
872
288
32
505
766
889
76
173
860
804
958
627
457
44
377
7
251
28
631
105
211
513
401
185
601
600
313
206
344
443
489
809
492
623
905
259
538
141
928
878
148
725
418
682
699
355
668
798
774
958
523
665
11
328
211
692
269
386
843
789
245
809
697
360
576
786
118
344
399
119
895
889
414
18
841
387
728
578
200
677
666
393
763
138
174
103
428
906
895
595
396
681
605
257
147
272
986
876
787
300
114
587
522
17
808
949
15
42
881
991
683
372
776
443
839
644
505
313
569
822
565
498
534
331
643
792
386
214
373
155
506
879
757
754
459
181
780
735
163
729
189
289
962
821
879
921
454
771
937
326
848
452
255
204
902
518
376
793
845
284
431
544
169
366
591
724
782
399
316
175
669
412
775
548
191
523
865
556
468
844
133
669
60
762
7
466
582
758
647
721
503
369
729
98
419
121
490
407
786
52
859
622
860
750
216
155
153
431
286
835
474
737
23
147
41
790
239
106
517
426
12
477
790
74
33
494
420
677
465
583
561
567
614
231
74
388
473
553
765
23
795
1
920
372
874
125
535
586
633
335
384
838
247
528
638
198
617
359
13
371
545
436
192
108
60
351
621
397
982
714
192
694
673
460
18
410
419
32
840
529
504
731
280
454
17
274
505
555
16
672
574
70
645
267
631
212
739
407
888
8
47
775
101
617
550
536
159
217
425
119
852
667
679
80
411
10
891
373
185
828
88
875
943
122
439
522
951
897
278
586
635
570
889
558
773
893
7
303
872
850
166
101
63
682
434
337
9
31
93
102
590
843
49
342
280
597
585
971
949
