100000
639
927
536
528
891
82
108
782
551
41
495
807
163
337
596
932
904
968
467
885
694
47
398
665
599
139
467
374
511
400
906
328
149
155
138
602
358
644
723
113
699
150
946
773
690
459
206
407
874
821
846
25
224
77
168
930
211
976
134
602
842
438
931
920
786
153
306
193
104
980
58
725
676
440
527
246
209
91
866
299
427
270
747
300
10
73
369
415
261
973
600
102
716
505
455
170
478
141
685
270
767
514
817
188
756
828
868
865
554
570
423
511
648
597
681
264
514
942
944
220
971
334
898
435
41
983
880
307
817
271
641
40
608
470
737
35
913
864
594
204
235
16
918
285
403
263
626
378
931
422
424
25
476
716
251
450
536
151
771
831
603
410
908
753
60
569
54
44
824
313
297
784
51
186
241
319
573
430
73
232
932
153
877
712
264
734
419
807
153
131
192
456
335
792
87
40
508
68
807
678
355
619
801
667
578
920
867
399
45
209
653
212
786
538
973
248
424
177
253
893
713
690
845
908
839
278
267
487
164
388
79
904
14
698
147
646
78
224
925
245
788
372
918
187
644
531
737
802
701
981
619
559
636
554
551
77
908
829
464
167
163
325
846
866
523
916
782
188
666
799
37
98
130
808
141
219
923
28
853
910
682
813
423
15
387
760
481
135
80
181
338
929
143
182
213
581
431
563
761
322
915
413
148
987
836
217
640
652
671
566
498
178
257
543
990
675
62
803
653
366
194
56
621
591
465
964
214
464
191
222
105
289
504
876
764
840
867
584
210
117
587
992
944
866
545
289
94
992
304
622
906
734
679
614
253
271
621
660
599
710
492
127
205
888
976
813
888
400
271
216
414
200
73
54
419
935
394
594
642
366
464
79
488
730
535
263
388
759
433
273
929
428
803
99
897
351
614
805
467
310
1000
570
60
805
229
365
296
879
553
542
892
453
669
398
597
826
526
588
779
961
696
255
636
797
158
181
383
210
384
778
949
494
150
234
657
660
555
300
614
984
109
882
728
820
72
455
672
938
557
708
896
658
467
934
264
768
336
853
600
106
694
477
420
232
655
929
203
80
76
145
531
550
942
347
969
500
878
195
529
795
71
109
707
731
836
160
442
286
806
426
724
475
938
877
602
625
836
626
561
473
373
943
718
116
590
516
21
615
658
771
855
910
383
256
178
982
202
276
298
271
986
462
340
291
124
795
976
493
233
407
216
607
173
630
440
856
149
492
850
382
995
760
67
975
827
598
528
723
437
632
42
939
369
778
667
69
574
530
515
146
748
183
484
904
978
201
307
134
517
226
136
318
690
162
573
741
273
243
691
186
470
266
101
683
649
503
35
139
62
476
256
826
700
240
446
224
579
24
127
534
798
921
736
813
412
732
790
494
383
307
590
607
485
214
720
698
340
814
508
305
207
205
796
385
739
928
248
847
377
374
375
46
488
742
320
344
485
772
341
191
370
524
239
57
789
160
986
317
977
113
153
906
169
635
736
138
856
358
245
201
89
655
43
753
409
227
615
118
184
248
123
973
458
560
485
624
39
234
28
650
467
709
802
996
836
721
488
28
691
115
802
470
205
489
662
779
637
511
120
992
197
499
961
840
219
96
203
571
34
586
681
95
975
603
363
381
469
928
857
770
611
546
731
582
583
303
683
21
582
846
152
704
489
140
668
880
102
367
97
956
674
445
291
182
654
6
20
419
197
289
882
886
298
792
671
685
207
415
457
110
896
435
284
419
322
810
780
658
930
216
69
962
844
276
547
713
534
249
850
106
116
983
60
573
480
302
456
616
356
660
757
838
742
968
491
92
514
229
665
440
933
631
545
675
240
222
587
596
589
381
438
421
282
908
444
653
44
390
553
526
988
260
283
788
405
131
21
289
789
460
148
957
380
381
382
84
864
508
209
483
216
54
19
394
308
736
986
306
685
717
191
330
549
728
176
735
432
453
327
995
492
854
901
576
436
239
39
791
506
269
119
990
384
206
799
443
690
199
28
962
12
359
51
680
604
253
871
172
172
200
207
961
710
259
29
241
519
98
919
594
747
925
687
663
464
972
590
162
71
131
342
65
944
771
799
647
360
828
958
44
167
313
327
307
736
699
446
926
923
465
328
971
631
909
848
3
424
362
442
521
36
807
573
471
699
240
432
769
775
298
564
569
177
361
670
961
869
383
868
649
85
321
915
507
561
723
463
736
224
542
13
670
785
157
694
313
153
664
614
966
73
957
544
716
942
607
936
46
452
236
807
136
798
667
507
803
848
605
123
772
178
356
678
105
702
857
835
8
678
279
985
431
747
32
461
812
616
707
938
100
21
303
997
935
897
976
482
310
452
399
836
365
814
384
713
541
609
540
480
904
972
774
719
108
662
937
643
172
721
599
751
716
324
755
17
870
791
178
57
213
476
684
904
20
796
353
281
959
280
494
676
16
328
991
670
553
474
732
63
503
840
145
386
939
587
467
742
668
527
732
162
636
941
94
998
889
122
353
627
418
427
387
442
752
874
822
872
159
445
647
8
879
184
705
767
59
641
46
100
321
62
716
599
448
726
418
152
780
456
292
113
290
649
699
993
213
630
104
676
156
53
904
295
460
368
227
829
897
466
702
946
604
115
797
207
25
668
780
620
506
162
519
380
214
367
941
7
529
204
844
594
612
802
923
272
719
83
500
890
683
557
854
563
148
852
171
256
919
564
758
57
558
601
3
243
661
38
13
656
492
2
111
826
310
676
732
259
903
44
345
753
769
168
258
239
795
408
511
709
195
803
7
346
358
735
840
589
158
656
504
138
730
579
853
845
510
72
519
44
218
65
718
452
789
44
746
42
353
370
554
238
626
609
924
195
379
441
362
560
81
85
493
103
974
305
277
895
291
16
430
677
707
234
289
808
102
444
510
996
79
946
489
603
513
964
706
27
749
429
790
34
453
134
742
221
992
521
542
991
306
479
886
229
106
837
590
83
829
208
628
911
964
486
483
441
353
911
529
646
810
659
438
265
795
955
887
519
647
782
934
336
426
460
258
541
214
78
52
740
305
956
155
436
776
567
280
579
422
7
588
380
939
697
478
327
304
305
509
733
304
692
171
66
446
693
160
922
167
289
959
670
241
823
459
836
167
301
40
315
606
24
926
835
304
835
578
709
114
979
230
463
726
172
692
877
313
254
188
4
326
28
231
231
859
450
483
502
173
396
643
256
913
332
780
990
235
558
931
70
998
425
524
211
899
995
230
908
54
934
897
850
263
758
948
962
399
100
524
272
865
488
461
148
598
482
647
800
942
359
967
590
154
168
907
358
957
346
416
84
659
229
238
738
747
45
305
311
326
948
520
34
938
764
814
327
606
440
509
276
549
101
72
947
246
372
795
752
835
546
686
146
523
384
345
841
815
706
966
718
289
238
321
812
495
840
213
298
745
852
950
428
826
789
460
628
536
470
200
660
235
778
117
839
30
959
495
497
722
929
365
399
588
975
922
714
191
270
216
16
950
51
47
350
132
817
4
175
743
485
803
69
396
401
633
499
616
107
835
125
864
24
468
114
94
292
296
690
387
806
160
893
146
531
214
323
994
987
792
482
844
468
717
332
497
190
803
72
817
33
191
797
811
470
513
877
442
194
65
21
911
526
29
325
893
557
929
906
740
554
348
969
865
788
928
637
591
290
777
257
504
765
557
650
272
104
786
466
671
299
294
235
516
5
102
633
357
431
673
105
778
46
951
369
304
794
117
426
505
851
919
611
740
919
564
320
685
690
588
567
143
282
197
211
690
812
918
672
423
987
451
597
60
595
945
810
699
772
848
667
22
454
601
854
85
935
367
485
597
262
650
24
375
350
388
208
428
117
920
19
360
40
365
476
493
840
443
10
454
498
681
63
485
107
121
64
166
992
99
904
443
362
580
672
760
624
179
580
989
732
542
70
466
393
163
824
438
614
292
343
36
750
454
597
624
410
918
153
21
730
633
186
676
559
593
956
231
591
497
229
217
650
193
969
707
972
334
219
137
804
53
901
932
302
415
906
620
726
582
380
90
749
679
846
885
802
500
733
926
279
981
378
514
693
485
587
431
530
351
314
990
307
250
550
813
31
946
566
913
764
572
930
55
523
824
63
410
933
220
336
867
67
722
762
401
328
917
988
574
716
500
599
623
563
797
459
897
332
40
181
650
134
197
734
448
19
790
363
287
655
16
878
448
50
262
508
144
853
455
955
739
436
809
2
600
496
252
863
251
34
837
401
238
152
971
290
300
64
593
658
75
48
779
864
596
873
654
92
617
355
256
721
55
760
489
221
702
15
601
556
356
941
749
938
40
819
220
217
163
266
795
622
60
706
307
11
961
301
152
694
166
105
256
128
545
242
648
627
325
626
923
698
666
729
924
844
554
73
792
217
463
744
96
886
30
807
697
869
875
151
622
7
112
671
60
859
361
78
835
104
561
369
93
480
499
380
804
930
632
980
152
827
531
158
841
484
874
733
695
758
575
836
244
161
377
144
584
314
319
688
968
542
892
202
79
172
788
421
130
40
295
669
432
379
877
264
896
55
728
226
279
108
286
836
278
227
111
594
80
318
318
312
301
102
479
984
810
513
927
417
107
402
385
138
947
890
461
856
464
662
581
851
357
838
367
278
717
939
150
898
906
849
643
979
439
954
879
79
523
798
29
63
187
299
951
763
743
274
326
10
514
766
307
583
304
635
232
535
821
918
305
119
407
292
67
243
470
872
530
627
83
364
42
721
6
924
632
933
968
157
279
290
33
563
153
421
972
427
205
980
923
166
572
883
823
973
285
76
288
565
111
527
847
483
874
788
72
998
362
68
143
266
515
837
732
10
692
425
835
968
369
805
714
678
675
134
891
322
236
1000
333
522
287
16
336
925
635
113
489
774
29
302
481
386
605
555
183
110
799
865
949
13
577
551
585
986
566
671
835
258
664
474
705
768
957
861
747
57
552
161
62
435
101
21
830
274
360
766
324
434
614
934
750
597
498
87
95
824
364
537
249
187
57
948
172
568
744
139
198
625
887
789
514
995
213
115
624
200
655
193
274
724
141
320
274
831
342
666
391
936
89
459
340
34
60
459
881
710
790
377
141
283
495
209
695
208
944
930
910
654
877
988
669
137
606
327
355
178
191
172
612
817
496
152
71
495
692
79
467
51
995
463
570
228
771
929
839
925
352
702
960
764
106
231
169
302
211
635
373
697
897
517
239
337
859
468
343
632
315
228
462
60
186
386
333
119
7
311
357
10
461
750
728
29
940
867
137
717
543
558
199
397
573
236
722
403
399
935
367
722
268
292
399
3
149
466
928
475
333
379
71
336
877
167
305
812
709
656
442
489
270
846
203
341
144
128
475
510
997
223
651
26
519
949
665
746
531
656
232
759
138
709
48
435
333
475
851
396
337
780
129
857
853
754
172
421
299
617
827
59
121
888
922
576
187
590
781
832
243
215
972
451
235
354
803
620
645
799
648
414
219
359
555
345
402
529
357
709
195
757
468
573
100
663
587
530
395
618
889
259
130
542
675
613
205
218
884
344
839
365
293
646
843
504
671
852
606
763
471
411
854
598
202
410
175
425
350
446
798
24
243
7
866
963
411
932
285
342
296
123
632
172
440
9
926
422
520
465
478
176
985
121
417
666
889
328
128
957
946
951
343
340
924
700
650
532
832
169
174
151
544
155
906
850
965
745
895
827
882
246
82
315
20
756
516
272
397
180
376
206
368
940
685
326
147
333
28
195
472
511
296
773
630
700
960
532
967
551
962
773
350
791
106
819
842
764
300
746
394
505
737
742
206
388
909
741
830
276
122
925
132
368
590
226
227
278
313
871
526
344
303
820
345
228
33
143
591
952
702
396
369
242
139
886
301
99
460
199
748
863
218
359
582
486
154
797
922
189
814
736
938
627
622
360
216
693
549
283
838
516
636
560
457
687
951
630
234
269
986
986
521
253
59
947
539
778
918
93
116
754
737
997
862
55
300
141
85
55
869
853
567
926
648
207
883
927
970
92
194
627
31
402
652
489
103
501
322
494
144
206
702
547
51
886
711
264
460
720
814
305
715
54
796
793
803
7
104
863
450
242
160
105
643
509
207
560
976
892
177
490
515
470
53
738
821
842
599
445
892
153
758
53
412
612
147
362
529
191
334
213
877
160
168
757
421
359
483
900
153
339
265
736
18
415
674
710
264
954
905
607
186
24
136
845
899
160
955
927
288
30
126
213
978
191
209
317
580
453
962
424
958
743
710
367
625
809
168
701
584
157
961
49
676
923
452
432
72
393
68
564
301
798
265
664
601
408
672
831
6
20
246
845
869
150
787
678
116
190
52
141
579
33
707
516
985
290
501
359
437
946
933
403
995
37
219
103
882
767
847
81
563
358
356
39
294
396
978
587
283
31
528
693
167
170
328
941
104
278
41
859
342
36
477
413
794
711
657
264
818
531
676
144
515
610
182
913
452
683
381
922
602
749
416
365
580
795
850
874
479
642
812
765
622
822
820
294
361
673
343
622
301
311
909
971
566
574
371
631
569
797
753
862
932
668
570
147
937
730
691
656
854
675
742
450
800
23
792
931
673
123
396
749
134
124
622
221
705
415
360
614
195
132
644
868
664
536
73
453
906
359
268
172
111
498
372
924
736
887
776
441
844
736
956
21
247
148
111
729
311
212
761
670
60
49
693
430
504
431
741
955
944
9
459
536
454
499
116
112
456
406
111
192
711
396
528
676
458
397
914
435
88
313
481
31
135
807
691
652
636
689
987
451
180
680
244
721
511
355
988
150
461
8
740
297
262
680
641
62
773
33
935
474
140
406
612
634
343
331
373
779
793
15
94
285
446
209
592
108
630
714
305
70
370
576
334
71
947
51
748
234
989
96
253
881
175
906
901
864
234
130
348
427
875
278
693
40
741
129
709
267
334
240
237
753
70
681
190
761
224
636
830
835
638
737
862
802
320
603
793
411
375
519
80
989
482
834
224
667
416
303
622
554
541
655
189
161
912
197
166
501
955
485
948
911
958
224
169
860
447
105
452
596
378
753
299
525
769
579
496
906
521
957
112
321
624
910
214
937
539
369
985
726
695
434
297
526
824
547
949
896
74
649
121
532
93
992
513
37
413
935
572
110
606
954
454
602
185
568
601
498
316
85
610
688
636
56
40
625
752
109
50
862
232
839
328
949
353
929
262
956
995
85
397
414
39
692
926
326
354
465
608
496
823
99
548
828
202
583
976
848
733
971
304
123
640
385
388
693
802
197
478
254
675
115
122
267
576
207
336
858
883
576
773
811
962
574
832
868
712
984
668
688
542
733
16
146
682
729
260
809
147
551
969
19
816
544
528
627
46
671
746
885
470
678
289
29
407
504
481
845
386
571
135
239
389
316
676
953
757
807
506
656
990
4
657
704
168
545
882
349
938
37
345
914
208
824
610
193
647
996
681
911
624
81
457
145
198
16
703
794
557
847
302
864
386
52
228
586
866
892
658
581
566
430
248
153
443
23
720
95
24
990
504
848
12
636
730
696
801
50
181
835
12
976
726
454
175
161
52
301
849
654
938
731
758
67
818
50
413
836
837
164
306
791
584
298
988
227
281
859
116
717
855
478
539
66
928
859
518
712
54
750
323
536
224
216
620
598
733
18
395
68
410
238
259
601
972
618
193
161
151
722
448
848
240
424
389
287
918
908
651
681
280
410
704
107
922
525
803
541
873
184
701
657
463
70
895
794
156
607
55
937
260
825
865
974
225
491
651
881
972
355
31
572
998
785
511
831
236
382
655
137
470
997
784
886
211
242
150
743
771
310
220
138
274
946
103
846
826
314
840
510
985
646
468
377
396
664
452
288
979
4
965
545
317
416
575
643
100
627
10
305
631
791
447
615
691
308
269
730
819
812
254
526
357
760
829
801
142
216
743
670
263
886
621
261
2
48
688
931
162
860
243
520
865
142
211
559
760
861
878
969
902
632
843
682
368
423
440
816
629
314
712
776
854
478
2
297
774
927
84
307
419
768
63
736
44
323
615
89
230
277
674
167
478
795
664
812
543
369
927
257
365
197
191
888
25
215
797
176
366
690
32
404
291
592
428
8
923
810
481
292
355
647
282
496
414
999
80
652
331
285
929
937
478
427
299
260
773
611
804
630
383
858
64
777
212
727
666
85
933
402
597
249
142
606
529
477
8
955
787
82
391
875
17
506
362
138
298
468
527
331
420
991
19
765
468
912
175
443
43
480
149
347
679
751
515
615
662
452
764
464
953
588
856
508
947
566
718
811
663
213
265
501
785
244
38
50
671
128
66
694
684
285
180
124
57
928
869
700
226
163
855
177
632
727
810
80
797
172
167
536
608
34
345
630
299
636
364
340
800
997
966
361
643
276
673
953
654
616
46
549
492
807
456
430
632
895
575
704
357
789
506
79
285
54
556
889
722
881
468
764
495
378
874
778
390
323
833
256
838
730
674
516
244
163
517
827
915
247
140
838
332
125
805
941
773
72
374
325
92
565
501
408
435
155
356
205
698
644
497
399
91
483
95
994
711
121
534
987
832
227
658
668
500
750
643
398
909
48
814
10
580
35
444
72
855
785
339
916
573
95
136
82
439
691
849
163
212
300
197
582
918
510
328
903
353
254
299
216
331
165
462
973
983
555
201
654
928
413
950
707
37
909
81
812
461
47
76
321
542
674
14
162
904
797
768
500
100
929
982
668
366
544
754
553
16
407
141
601
237
511
955
511
37
435
912
145
610
89
235
673
534
689
248
108
441
562
702
403
522
136
540
212
212
443
465
841
512
792
584
689
133
372
678
571
859
216
824
416
444
723
205
504
82
986
570
931
220
310
213
807
521
548
369
365
163
382
846
407
6
342
586
270
335
475
651
909
404
241
88
44
811
862
305
326
693
649
886
634
265
544
826
778
773
211
148
376
872
90
396
197
654
46
442
598
227
636
239
606
875
589
701
692
158
843
932
81
186
721
29
215
653
697
694
360
377
462
381
787
561
874
78
864
134
267
771
479
942
743
511
331
285
413
903
954
423
279
867
246
644
254
122
61
486
699
812
305
65
959
747
980
20
451
568
998
966
743
594
145
627
828
273
314
904
552
313
234
46
573
410
153
753
835
104
258
458
64
524
774
983
541
491
488
319
242
44
959
56
289
941
532
212
452
267
185
915
37
375
788
783
327
950
170
137
6
557
523
178
533
60
67
934
446
136
572
870
552
101
796
372
404
558
715
13
128
100
538
131
595
162
681
520
379
273
184
299
764
203
461
261
581
57
298
742
299
876
227
702
65
923
352
738
987
728
298
402
214
636
504
398
749
440
538
386
224
89
662
566
788
157
531
810
523
40
913
349
137
674
732
693
942
290
85
789
798
384
820
327
509
258
570
883
232
455
357
79
778
483
989
86
725
582
569
608
278
504
667
536
401
559
607
146
46
17
349
768
5
189
62
214
927
711
459
970
37
861
744
29
213
543
684
666
425
861
363
700
39
269
60
792
654
173
259
283
419
516
473
838
720
985
179
577
859
869
100
922
618
815
237
823
603
793
444
997
871
516
730
900
254
395
539
628
410
27
96
419
553
322
906
370
626
686
76
358
601
13
988
836
334
421
634
240
638
776
798
860
280
14
183
635
116
163
276
335
608
560
132
424
337
31
817
185
396
111
116
429
580
217
807
77
656
244
975
487
663
579
140
39
100
98
553
446
754
773
606
28
340
595
672
317
968
352
698
780
742
922
44
92
406
560
621
226
102
198
575
434
338
432
862
366
444
602
900
945
722
984
870
804
726
844
777
946
471
491
656
347
685
119
81
410
70
831
406
418
146
259
390
738
205
45
846
796
104
267
188
41
455
247
487
737
64
310
888
855
550
229
866
571
251
588
522
84
387
453
743
760
185
339
190
810
353
279
732
140
41
180
111
235
845
491
210
340
672
938
453
994
339
729
986
660
756
795
943
752
197
963
989
882
634
261
368
748
397
501
707
950
312
677
562
369
962
233
50
550
258
780
138
926
982
123
64
108
665
587
253
393
653
263
176
193
765
131
156
9
450
773
193
336
661
657
673
801
946
851
361
216
780
431
697
836
918
792
174
670
813
775
538
504
666
571
218
302
943
432
420
709
640
942
423
919
353
124
908
656
575
609
351
239
57
655
364
870
856
305
630
749
8
847
217
134
615
193
743
950
304
512
148
782
760
371
118
678
149
628
161
637
275
599
554
983
729
266
406
24
947
804
629
610
233
484
699
364
893
934
820
135
401
996
136
490
886
204
982
16
400
197
194
913
708
735
100
864
240
249
600
616
58
741
671
221
858
525
420
808
120
162
490
365
612
855
677
856
887
746
994
414
991
172
129
596
650
633
407
734
182
842
75
293
22
344
863
11
685
401
250
784
484
520
596
68
481
320
652
339
369
473
572
377
244
990
270
45
526
720
289
422
551
590
757
823
85
85
440
297
16
509
241
39
385
459
374
27
339
836
754
878
321
933
306
658
690
112
989
406
391
223
608
227
733
893
790
747
54
632
411
823
965
806
329
909
621
159
80
305
837
310
495
995
900
101
522
353
694
826
166
902
788
942
126
207
902
42
491
446
691
693
345
855
118
298
936
530
232
136
619
359
428
963
680
632
80
961
321
601
676
761
745
605
702
221
162
518
434
978
846
5
135
222
831
580
839
618
877
267
637
595
961
273
662
725
436
179
30
994
726
892
206
241
290
662
245
537
495
283
334
985
747
340
446
742
375
309
201
970
692
857
34
419
579
651
161
636
93
953
312
777
646
107
564
464
315
319
954
853
599
577
976
478
299
127
433
500
812
552
179
280
454
367
731
502
570
298
242
521
98
844
241
199
765
151
998
87
920
64
415
492
33
871
766
624
120
633
980
6
473
899
135
11
70
512
900
911
634
975
152
761
28
605
43
946
297
149
73
426
558
853
543
972
522
812
800
64
594
734
24
35
520
12
373
430
942
632
526
818
431
617
913
400
60
607
244
643
580
166
529
648
859
542
928
129
634
578
568
530
405
850
843
382
902
635
104
203
389
804
586
564
545
855
266
589
164
763
246
499
243
640
187
339
233
923
188
382
396
96
370
462
616
454
275
831
357
762
47
807
361
821
490
827
93
995
458
150
121
175
504
36
629
6
552
71
555
100
98
473
102
454
147
854
8
307
845
762
158
504
110
189
571
138
688
260
365
339
625
220
421
236
357
936
794
930
997
791
580
734
333
934
715
640
425
411
172
635
861
15
160
948
601
313
205
376
124
478
953
893
621
32
540
680
49
167
694
579
445
424
373
839
145
421
8
225
571
791
524
429
989
301
630
566
117
463
822
878
489
694
185
641
565
610
813
330
350
675
976
593
98
559
140
872
941
56
775
846
639
922
736
864
592
824
147
625
920
813
441
799
184
14
695
786
322
131
352
988
291
216
936
349
883
5
189
979
830
205
457
583
777
503
515
942
631
872
351
136
202
45
489
859
33
315
852
549
802
778
475
475
314
20
971
803
191
258
457
384
831
997
934
990
303
611
533
928
591
355
329
878
304
678
230
581
716
172
816
252
241
503
291
154
270
577
627
647
977
20
275
519
97
517
649
856
318
141
385
635
620
952
187
529
381
548
731
442
165
324
295
693
764
66
473
134
296
899
788
136
792
503
82
175
339
560
727
355
774
508
750
699
306
908
416
164
735
558
580
554
348
778
315
720
938
56
892
682
112
422
418
858
614
56
36
104
569
203
747
915
238
81
625
975
512
644
794
986
995
608
855
740
745
551
664
548
874
941
348
235
710
932
196
961
804
194
426
770
899
105
504
215
45
51
755
854
81
592
49
463
745
939
911
883
747
794
865
89
874
653
489
588
95
853
189
270
877
850
665
989
243
327
309
769
909
220
428
231
384
311
611
532
55
727
232
168
672
455
943
278
734
26
581
511
177
437
899
867
506
220
935
618
960
48
138
213
597
329
968
974
902
942
923
625
477
597
643
611
846
135
701
27
511
93
240
337
290
10
974
399
339
571
70
228
983
807
617
568
842
17
535
478
155
493
409
976
750
584
975
502
24
932
158
115
99
981
370
114
551
799
845
644
813
819
911
297
639
37
80
471
651
188
222
755
375
882
465
70
778
137
516
79
744
816
897
909
464
702
756
744
729
152
403
362
867
830
215
926
397
994
706
445
661
729
251
407
452
390
85
93
632
475
641
134
333
595
666
277
231
937
839
286
576
543
843
853
174
907
489
309
335
901
309
139
415
188
83
578
411
944
517
657
450
795
761
511
664
109
307
68
693
366
685
612
260
287
511
116
600
18
319
353
554
445
397
449
34
125
584
132
935
987
727
772
110
342
831
393
475
783
494
677
628
673
549
612
347
16
968
160
885
827
866
563
727
56
809
366
828
826
246
874
978
999
936
415
440
732
417
813
464
991
879
721
339
700
67
542
981
355
801
298
779
22
42
388
554
206
360
341
478
280
701
59
877
146
294
795
421
348
848
675
562
432
849
168
814
408
540
206
607
298
532
433
209
381
488
85
117
388
813
272
429
772
393
754
234
798
817
509
174
213
12
16
222
86
96
180
554
948
782
853
700
528
842
993
344
205
927
199
335
945
983
323
936
4
186
688
414
410
587
464
692
85
757
797
240
371
338
648
413
640
425
258
754
727
29
803
888
169
382
908
539
236
508
443
934
970
249
359
172
140
775
786
300
539
206
498
275
25
854
377
846
121
781
92
719
7
975
6
598
355
899
429
584
753
614
852
677
90
760
928
519
924
333
191
55
576
947
433
343
116
204
750
649
590
62
523
876
257
54
466
219
359
539
464
410
29
733
228
713
794
299
328
417
991
165
420
717
522
897
699
376
310
996
344
17
52
591
851
498
862
135
268
914
769
818
444
859
286
36
141
374
281
978
326
445
174
440
276
374
782
59
229
601
506
292
224
637
402
37
267
254
493
486
442
265
831
871
742
940
108
850
613
328
175
245
777
594
943
248
210
583
232
889
929
739
122
922
39
544
818
75
216
160
575
182
594
607
349
977
25
612
156
918
845
995
291
246
868
656
451
824
315
356
835
374
739
659
716
410
829
970
15
798
592
969
934
241
577
812
302
440
153
143
315
119
168
342
682
247
526
667
410
787
784
737
270
404
303
256
769
258
225
229
77
788
99
215
529
295
600
982
744
506
125
108
420
492
276
529
892
944
310
659
748
16
216
967
725
208
87
257
772
693
612
676
725
95
706
473
144
20
7
433
401
116
302
278
990
288
62
443
557
603
644
315
297
646
123
807
355
755
490
8
43
325
901
586
886
352
547
674
488
800
351
242
911
198
566
396
341
486
43
897
605
133
227
69
765
924
385
471
52
234
700
727
14
664
925
319
758
329
279
332
326
308
394
84
466
917
656
883
148
367
446
686
75
944
837
759
537
457
341
43
514
44
911
992
903
905
918
583
653
303
19
853
918
917
361
536
598
369
346
619
920
455
667
784
269
768
817
565
313
172
9
811
545
785
645
93
658
861
776
411
632
886
189
553
702
454
78
909
780
485
633
63
322
246
72
183
641
639
56
552
143
372
928
288
745
750
71
202
12
277
697
338
310
562
789
910
993
587
540
784
916
484
515
875
451
664
678
22
956
459
679
267
344
570
865
238
176
193
795
625
783
44
912
307
928
481
626
972
455
69
767
982
691
19
675
778
751
755
555
929
573
174
670
124
617
91
130
172
362
206
930
984
405
643
513
385
548
310
844
352
587
951
694
886
665
76
459
892
338
868
747
841
28
209
360
284
864
801
523
624
861
43
668
280
699
383
216
743
800
16
420
586
231
739
455
324
242
511
398
791
656
386
811
453
813
969
868
181
675
875
206
159
821
90
920
297
379
145
483
264
495
622
813
277
237
821
560
824
216
812
494
936
597
82
431
394
89
177
291
688
860
662
429
602
289
197
679
38
206
958
220
283
565
926
393
766
45
794
634
104
100
343
611
777
84
7
166
677
411
91
950
88
203
562
420
664
504
592
539
995
577
11
13
444
13
510
389
86
624
314
509
466
956
138
951
755
997
81
246
570
636
881
248
541
267
81
702
340
919
735
234
839
556
390
515
257
86
205
271
937
822
29
959
153
891
469
223
927
989
399
176
964
336
762
70
957
824
163
449
241
637
427
675
884
389
834
463
696
276
758
800
822
898
495
611
506
738
780
532
226
785
449
284
881
22
584
164
539
68
450
731
691
4
793
787
886
528
46
944
838
275
935
183
422
249
672
716
243
334
688
558
323
831
348
635
993
349
492
96
356
993
37
517
124
34
765
637
924
621
942
633
702
854
503
769
153
848
395
606
643
946
301
345
237
836
60
449
229
792
601
4
317
355
531
838
19
932
408
455
78
550
11
274
218
754
136
671
981
290
129
109
507
85
815
925
604
376
176
169
183
542
644
896
176
874
936
232
875
260
32
375
807
865
839
58
833
827
593
788
94
606
150
459
597
201
555
515
714
403
723
110
728
613
739
592
764
477
96
529
175
125
288
619
966
346
102
874
263
204
390
62
585
171
745
752
725
866
654
858
886
879
163
396
930
597
708
461
196
311
44
707
452
736
46
222
210
424
353
142
175
217
91
399
968
135
981
551
904
85
935
387
341
423
915
723
516
811
820
41
220
452
123
118
145
994
675
667
751
734
828
234
255
679
972
608
930
754
777
840
13
428
465
98
985
788
462
21
47
587
435
530
754
348
476
993
77
117
609
304
158
493
792
641
573
416
663
805
440
90
708
814
53
418
156
604
777
517
825
747
746
307
190
512
782
662
648
385
517
466
105
509
542
232
902
397
968
640
717
233
805
503
791
970
82
417
378
295
417
715
425
932
432
42
817
499
866
506
466
917
878
549
887
845
962
940
565
148
12
488
546
696
550
398
916
967
565
274
343
594
156
42
251
468
246
200
819
720
890
771
615
466
130
884
597
41
384
21
469
413
490
38
475
484
994
514
438
760
141
911
730
315
214
121
356
454
559
682
936
349
858
663
699
985
667
760
969
466
971
541
266
630
974
202
851
727
522
254
168
941
43
441
345
197
595
882
565
501
541
571
714
23
64
565
223
607
536
329
877
745
926
452
195
924
876
724
137
562
189
49
113
522
443
150
653
619
585
461
966
184
137
49
472
142
730
49
24
129
601
103
171
238
614
244
744
846
611
389
676
591
287
209
349
839
651
645
844
517
306
807
99
389
493
135
971
821
33
483
572
857
292
796
225
270
749
905
467
205
50
965
209
834
485
965
242
777
324
306
952
805
28
887
758
807
762
841
588
481
779
378
806
395
521
696
989
973
749
606
259
52
817
322
744
266
294
730
719
850
291
497
972
623
652
133
372
164
869
466
150
605
510
889
590
695
617
116
149
239
247
957
537
814
771
706
444
206
755
961
921
642
386
748
532
491
218
890
69
979
850
133
414
515
356
673
661
448
493
776
101
264
171
338
368
992
773
937
720
146
46
476
96
689
895
629
869
508
702
941
865
503
62
77
808
803
471
253
474
756
313
956
191
564
577
545
869
5
267
550
689
961
541
650
249
761
731
929
72
181
254
948
12
957
863
964
505
131
247
14
854
329
746
376
4
257
205
846
439
819
287
693
530
649
855
998
624
731
983
889
721
110
196
863
81
229
952
794
297
715
963
684
645
871
642
801
377
164
793
672
599
50
396
818
124
997
522
282
420
435
571
85
371
885
202
301
848
410
244
848
119
194
296
490
648
718
718
271
630
389
269
10
432
610
165
289
73
297
931
285
51
49
982
62
39
357
290
162
665
424
975
240
111
143
825
353
995
153
11
734
74
404
17
486
605
227
194
501
53
809
963
20
120
523
733
309
500
896
752
778
198
835
892
756
326
798
486
21
58
648
155
125
650
784
734
257
518
21
231
930
965
534
359
815
64
740
568
913
349
466
513
513
756
644
797
1000
139
446
111
826
528
265
668
441
575
773
810
760
610
938
997
171
953
822
470
984
723
251
910
572
351
534
537
174
794
136
575
333
367
586
957
295
786
73
419
406
898
473
412
939
798
981
799
21
991
538
521
588
34
908
5
535
124
603
891
505
397
715
737
816
717
129
28
4
233
943
967
110
956
721
801
83
887
161
620
905
769
801
523
733
976
307
671
571
331
518
10
69
556
554
264
382
607
771
568
504
671
914
836
145
698
530
310
462
957
854
352
50
886
839
995
592
949
112
62
882
544
797
619
329
48
482
576
998
477
768
87
110
385
888
941
998
965
962
747
259
999
284
490
40
664
705
495
48
580
7
356
136
60
950
178
105
984
88
644
285
997
428
8
313
605
631
859
68
990
32
523
88
945
566
653
540
827
130
56
270
365
694
976
7
965
209
946
981
208
477
434
886
514
691
592
69
174
65
418
391
676
597
354
888
230
13
349
841
201
365
46
693
872
955
566
578
640
825
170
845
318
690
283
969
307
820
97
999
609
345
88
546
508
99
456
146
987
458
534
438
171
703
188
47
664
397
425
7
845
157
736
842
117
484
593
725
270
596
66
198
540
403
512
78
915
91
997
193
604
707
590
699
766
332
653
596
225
217
208
382
697
919
353
208
748
881
546
69
392
971
643
382
529
751
697
75
777
459
76
921
121
573
255
315
134
557
402
473
282
796
154
474
128
980
879
238
923
352
307
875
604
961
608
808
508
222
574
114
233
745
11
347
592
536
565
634
75
568
836
240
877
341
320
947
741
399
680
243
714
587
914
409
923
359
812
714
56
160
224
908
243
542
227
88
7
410
866
28
571
225
638
40
415
60
945
865
426
87
447
168
534
101
294
748
692
24
701
187
918
127
613
253
593
206
385
171
32
287
51
15
261
366
407
890
110
75
684
26
535
454
850
799
608
583
240
926
417
855
483
630
789
986
21
570
96
177
5
691
421
424
581
223
694
263
472
440
527
492
734
436
654
910
238
631
767
770
58
891
87
499
906
110
688
135
403
851
198
544
483
105
928
137
636
657
113
513
548
305
671
146
91
685
957
579
979
497
28
526
339
643
736
832
654
546
424
539
861
409
96
180
865
187
701
274
477
685
249
742
892
964
233
734
668
508
866
518
357
79
333
840
489
476
231
102
908
790
628
560
364
421
972
308
272
113
685
722
265
256
318
352
317
662
121
87
913
981
621
885
967
384
161
172
389
301
7
335
912
982
475
53
638
807
388
385
487
119
903
811
402
272
460
239
366
958
140
13
21
850
511
363
625
988
788
201
696
595
72
959
430
654
830
211
612
735
365
612
31
336
720
503
664
96
505
468
439
208
238
623
676
748
889
935
378
726
511
429
954
314
23
499
543
470
414
563
317
186
515
744
477
450
496
650
474
971
324
751
498
938
994
627
559
574
476
778
969
182
64
333
395
612
705
989
835
791
756
428
957
108
273
543
762
141
98
921
391
789
971
916
135
19
899
120
515
680
657
464
917
48
515
594
622
412
740
921
143
931
816
603
253
960
811
285
315
266
606
771
89
711
37
955
343
266
424
41
995
131
990
868
660
855
123
636
945
175
686
135
233
645
356
463
960
855
756
822
814
677
329
151
114
547
146
119
747
263
703
184
679
111
299
508
318
686
740
827
468
620
905
447
317
198
402
815
325
760
580
891
85
755
791
788
732
895
818
246
499
684
969
600
384
465
90
463
364
810
299
433
271
973
511
289
669
779
740
547
93
534
81
299
889
332
168
221
100
47
491
55
142
489
359
703
893
197
74
368
471
833
598
558
40
451
644
131
876
844
902
228
526
951
492
953
137
213
813
159
428
880
846
715
298
394
618
159
362
677
44
150
86
963
165
850
987
141
298
169
744
336
188
526
8
775
554
344
219
136
518
16
423
451
733
333
15
900
342
334
581
893
969
515
832
312
193
345
68
326
143
431
271
467
292
285
588
827
757
388
387
299
382
422
125
746
855
652
278
94
657
888
185
972
860
967
63
628
589
241
954
375
977
501
847
115
396
245
403
485
878
748
115
877
935
827
991
770
924
33
417
880
122
457
58
714
398
471
586
232
923
75
955
527
876
936
871
536
551
171
629
120
513
731
699
138
547
346
414
208
556
136
419
549
750
805
596
488
174
101
243
381
197
640
303
210
584
853
764
178
701
419
115
369
463
203
687
928
472
445
719
979
956
218
658
999
680
483
904
590
855
871
113
735
140
419
404
11
650
242
69
190
209
746
272
126
12
287
869
864
82
740
861
788
511
171
261
279
148
771
257
870
252
521
590
121
916
196
918
996
600
705
161
632
257
665
198
901
622
561
325
1000
323
45
908
933
640
422
834
429
220
236
94
878
654
968
670
15
779
225
790
237
779
412
761
680
836
429
458
223
709
22
375
862
468
872
464
186
94
638
456
81
799
598
437
38
809
88
166
684
759
46
412
622
798
397
750
901
904
148
2
617
384
299
103
999
710
121
17
838
385
546
63
796
182
280
11
806
285
923
124
49
843
231
860
584
114
994
644
606
455
694
182
610
214
637
985
384
199
308
209
218
331
666
400
658
193
875
963
149
195
811
626
724
687
767
569
305
120
254
399
851
865
306
147
104
617
85
790
514
444
423
454
945
292
28
155
575
192
788
936
522
922
754
506
219
843
667
423
314
304
768
876
491
609
594
861
724
819
836
338
496
407
174
458
101
198
550
389
76
63
366
59
231
785
307
29
485
312
934
854
645
271
412
746
386
972
544
293
432
512
298
92
907
826
451
719
355
743
793
299
960
838
13
119
273
747
447
730
450
734
37
679
759
379
600
303
792
523
238
871
977
154
870
133
717
375
341
4
492
850
658
123
538
171
110
647
126
373
487
441
169
343
343
546
123
507
587
543
508
312
641
376
813
734
693
680
217
632
959
572
834
26
17
484
131
262
384
162
106
35
535
522
21
842
766
197
376
362
84
222
171
507
966
470
618
116
978
136
538
512
187
506
4
782
496
605
105
196
936
40
583
232
509
909
774
501
390
193
122
94
175
199
300
246
917
898
352
55
99
811
432
594
574
763
538
517
238
155
729
524
644
34
188
686
289
199
120
456
170
378
212
151
506
360
753
11
48
933
363
715
295
293
792
759
807
512
907
49
507
114
43
11
146
599
596
512
77
941
932
902
651
987
418
979
802
413
13
107
585
577
595
11
715
995
797
9
75
686
467
453
933
271
936
495
407
336
619
923
126
275
709
897
580
937
927
781
551
570
136
642
932
842
726
245
727
261
732
36
10
233
679
113
543
676
736
496
538
808
665
810
364
233
844
719
73
727
71
569
373
405
188
635
837
181
58
327
269
812
956
9
476
646
887
670
229
550
29
339
767
48
844
667
160
974
39
959
647
205
281
217
703
62
307
526
236
475
448
76
925
873
996
503
834
70
810
7
729
730
402
108
239
683
810
835
637
679
464
58
949
55
887
140
652
995
275
379
730
646
822
94
114
166
243
384
703
950
301
621
170
179
930
762
207
410
587
610
427
261
612
888
333
571
853
406
720
777
467
27
460
335
552
984
315
203
523
938
533
854
137
869
80
46
957
73
96
89
228
479
787
71
930
324
914
633
636
586
946
627
586
461
809
229
509
380
209
939
482
549
682
202
643
525
898
255
332
339
453
676
207
162
321
134
690
609
540
39
624
231
879
287
724
659
546
557
173
117
943
122
375
326
450
821
127
332
770
845
33
374
268
679
437
991
879
124
808
661
703
812
960
438
891
710
20
405
938
73
627
713
998
6
343
48
64
935
546
124
539
484
741
653
686
164
435
664
76
391
657
567
563
26
794
355
739
7
540
780
939
75
821
239
411
479
95
892
493
340
955
394
277
946
943
54
132
665
717
323
858
991
208
695
769
623
813
510
828
690
600
84
916
248
52
457
631
210
436
143
365
979
187
213
701
355
563
696
692
710
378
436
474
87
949
122
797
462
761
559
264
630
87
534
421
270
8
45
558
698
80
360
331
946
927
227
468
79
133
711
356
621
217
659
360
554
489
778
892
883
662
871
16
166
367
818
863
567
738
3
121
436
33
479
683
235
734
25
711
283
243
444
15
651
363
386
496
160
570
172
114
630
135
38
73
73
102
370
189
759
658
728
265
53
695
139
856
639
987
126
852
349
332
334
117
414
464
418
11
828
681
800
239
581
186
218
415
450
268
150
186
961
134
929
517
917
341
603
730
186
223
121
571
173
439
111
591
567
354
805
447
654
92
558
562
497
692
436
899
53
849
1000
866
529
835
796
204
311
271
181
543
968
660
358
814
282
365
616
423
446
933
671
435
82
767
828
993
692
496
765
236
735
980
239
462
139
148
9
615
999
529
418
557
846
991
82
485
647
696
144
110
863
769
845
413
834
933
976
151
865
805
11
612
314
292
12
843
523
70
243
73
361
632
235
473
361
757
741
946
298
271
543
467
727
801
715
685
113
650
664
269
492
109
463
321
471
211
192
693
599
453
839
967
838
936
825
831
74
449
74
120
907
511
653
404
589
502
834
831
443
49
930
586
684
423
285
644
57
343
518
372
691
905
190
275
95
374
259
738
154
477
671
773
275
353
603
545
177
812
135
894
226
201
977
670
104
892
47
489
881
346
760
11
784
604
417
83
408
227
887
47
950
832
736
727
29
339
835
329
153
943
497
792
165
333
852
192
415
530
744
663
220
331
738
441
188
996
646
812
319
779
312
590
182
73
367
119
762
352
504
98
127
760
150
448
845
729
486
593
70
597
240
94
614
789
295
700
282
855
854
334
86
597
762
722
384
366
901
925
23
605
330
74
272
302
789
846
801
949
857
696
60
683
450
817
121
434
758
607
218
935
59
498
801
969
619
328
348
505
242
320
629
314
339
982
549
114
833
465
624
865
474
9
946
876
136
401
681
815
433
215
362
652
556
882
406
842
933
925
85
120
592
747
569
883
330
891
406
956
769
836
104
955
727
990
157
729
555
132
240
884
842
733
852
271
88
836
936
164
234
39
998
795
940
182
140
424
28
822
389
921
831
321
802
83
473
848
768
43
522
983
758
177
564
915
193
539
607
264
154
952
190
991
874
577
802
533
371
183
246
736
47
103
913
251
315
470
668
127
976
788
88
457
52
849
681
257
757
373
87
114
640
353
633
271
872
270
105
134
932
700
386
81
904
120
217
357
579
124
342
717
954
762
150
856
387
807
295
867
830
920
374
965
537
592
562
605
891
584
295
777
281
899
868
276
685
465
610
713
482
712
116
446
490
120
316
955
615
632
965
926
429
406
518
553
534
26
481
356
166
978
568
138
834
822
268
308
237
285
106
794
858
310
8
149
481
148
56
70
493
877
946
307
566
544
193
87
484
882
457
552
50
528
293
450
623
170
441
364
771
648
763
941
985
724
799
268
469
366
510
38
765
441
614
383
386
365
251
993
697
913
166
612
652
832
190
128
71
358
404
890
13
573
454
777
714
286
662
874
745
965
86
496
375
213
301
445
650
872
896
591
536
993
127
171
414
484
434
794
403
791
704
921
667
439
377
804
502
605
350
569
384
250
729
462
844
557
347
211
56
70
338
915
207
86
571
258
702
895
949
169
602
687
864
324
171
335
789
892
241
102
856
380
43
971
646
465
904
419
403
692
120
335
445
228
938
466
804
892
60
136
803
245
470
249
233
651
292
389
463
762
46
44
875
700
154
754
963
436
167
817
294
186
837
292
242
698
665
761
833
387
859
411
950
58
902
969
845
715
990
749
372
405
483
706
202
413
494
587
487
235
6
89
300
415
508
889
966
767
848
957
191
387
708
865
626
12
536
412
720
82
371
693
161
795
787
376
512
288
26
125
993
73
260
772
271
394
884
666
776
779
364
35
591
580
539
951
974
642
225
98
921
615
566
540
758
340
318
568
444
922
490
376
530
956
829
752
846
456
46
79
811
530
974
449
779
351
392
502
322
464
750
730
536
537
388
724
204
401
715
983
586
698
979
166
258
440
716
609
517
94
523
65
924
144
209
67
237
830
695
355
774
783
508
184
423
822
776
675
378
958
520
171
127
930
708
241
11
801
557
415
148
938
550
491
384
959
926
213
599
303
856
441
534
216
591
499
630
666
374
136
92
525
672
304
984
421
864
759
150
183
735
761
979
80
947
449
597
701
944
593
398
385
90
555
255
160
89
997
220
600
846
264
670
893
834
116
961
244
17
458
987
216
546
406
257
704
763
610
902
914
754
733
302
809
937
67
181
931
880
581
972
908
681
583
647
172
501
720
968
609
963
494
296
907
327
28
264
290
418
962
509
30
504
170
681
773
661
31
380
325
299
126
974
819
564
62
42
212
875
187
662
284
346
243
187
112
43
18
624
676
188
611
76
916
979
226
339
878
716
83
141
252
320
626
808
133
139
12
723
915
223
114
833
483
529
79
420
360
358
901
414
532
96
835
979
447
746
65
556
873
28
483
696
2
574
572
526
801
995
998
62
628
103
648
393
180
133
535
977
634
46
218
950
757
903
373
303
944
946
815
696
507
730
577
39
862
81
24
473
844
415
749
944
584
260
455
512
559
693
935
450
963
426
814
198
516
625
832
147
919
328
103
367
108
807
620
724
705
18
792
420
766
725
61
378
205
184
623
670
676
787
607
540
225
918
953
600
29
578
846
260
401
999
700
879
748
551
946
197
757
441
993
402
252
440
141
445
501
130
300
126
985
841
818
416
427
375
409
724
476
377
714
604
467
525
943
916
675
935
204
561
362
114
958
56
526
335
115
376
469
590
867
963
195
40
982
591
585
47
869
475
297
26
661
323
227
191
795
167
493
592
466
273
449
591
792
25
471
779
834
421
924
982
939
622
474
489
68
476
23
989
621
110
411
291
936
186
740
671
947
614
593
924
689
995
329
656
242
417
834
345
513
147
778
45
727
76
277
423
377
577
662
913
724
510
402
808
568
305
841
20
659
347
959
507
872
508
126
877
439
470
321
963
901
192
280
771
515
165
927
16
25
702
31
190
256
404
811
975
330
381
469
18
56
769
856
208
187
883
219
574
601
984
202
489
558
619
687
664
163
554
600
193
132
687
883
279
647
119
254
670
952
470
842
761
845
66
447
695
945
884
709
322
814
998
865
833
619
409
916
614
521
686
118
527
873
242
123
106
117
72
741
891
902
215
2
231
47
466
246
68
759
968
736
605
565
833
931
190
130
492
269
383
278
148
639
817
313
82
874
964
278
210
454
178
265
426
220
850
70
211
540
719
998
83
176
40
671
917
286
730
993
286
844
646
770
150
528
564
310
512
795
358
845
166
216
926
373
637
223
706
893
507
955
283
229
908
634
479
245
263
430
687
939
376
253
54
513
364
258
312
322
377
784
807
381
531
395
735
988
896
76
704
708
167
532
24
356
297
24
408
981
268
222
639
220
23
195
64
932
565
232
871
639
915
327
847
912
873
515
331
420
988
708
347
911
707
862
817
422
272
692
778
494
676
310
367
492
542
508
880
349
78
813
330
944
146
467
553
77
527
724
259
306
183
388
182
868
99
555
449
745
265
598
373
435
396
628
685
360
429
290
290
691
864
432
961
640
966
358
528
384
298
541
572
393
244
607
879
965
892
179
197
375
656
234
550
361
592
787
676
619
718
753
802
705
924
822
665
478
255
174
297
60
397
119
677
894
984
535
565
644
620
843
812
476
437
137
91
844
821
317
919
539
717
701
627
107
85
942
692
587
941
327
330
447
45
791
161
230
199
313
514
582
695
484
394
968
221
763
785
396
6
903
994
154
714
36
248
948
467
954
627
235
687
7
797
828
969
9
55
524
838
89
160
421
755
30
736
729
514
549
286
762
198
499
281
733
11
643
931
220
980
366
230
332
949
56
261
981
879
172
188
281
788
541
743
749
48
663
82
471
148
350
762
923
516
982
376
273
670
584
364
170
652
41
825
476
345
353
437
811
92
215
954
239
431
827
228
769
499
625
386
727
933
315
567
381
442
463
934
139
861
181
883
23
389
605
722
250
702
544
610
787
820
918
194
624
899
430
964
720
808
308
779
872
853
636
696
526
410
228
83
673
879
277
695
694
559
224
999
71
925
55
815
763
265
817
867
515
653
838
102
152
567
709
717
981
390
359
5
428
848
803
270
272
94
465
721
814
621
276
605
157
887
386
414
943
19
559
245
223
325
427
109
615
439
369
716
811
48
975
908
928
932
865
835
528
85
213
1000
508
471
889
584
520
506
696
739
433
176
579
282
949
784
336
799
675
934
172
771
261
529
678
335
118
825
786
426
65
9
217
37
113
680
105
492
553
283
117
610
998
332
376
201
839
422
545
414
48
406
503
423
791
68
105
946
331
258
438
701
481
455
975
538
729
1000
152
397
639
952
225
975
781
568
554
126
440
568
57
451
66
53
694
447
485
89
863
698
124
453
906
106
186
200
680
581
786
836
527
187
485
336
381
376
620
191
479
463
343
911
713
167
305
962
886
903
176
994
806
693
737
58
758
160
774
519
738
635
799
104
763
447
776
427
12
991
82
622
612
558
662
868
241
407
71
116
457
500
677
412
369
756
219
889
890
527
641
623
912
56
521
958
789
339
294
745
716
564
158
211
739
987
36
676
454
264
694
500
798
128
850
296
589
669
321
292
334
265
476
175
298
155
484
282
526
202
728
500
248
706
521
137
60
169
390
108
475
785
565
242
821
240
176
828
714
783
309
915
574
787
351
603
807
419
498
303
590
579
156
804
460
68
910
151
886
938
608
196
208
453
166
574
197
292
306
609
310
980
988
446
216
402
722
726
555
956
403
382
462
658
805
123
694
481
195
505
430
531
296
81
777
678
566
364
808
506
350
212
191
402
877
483
65
725
303
80
894
267
515
536
210
84
404
63
721
281
260
942
552
264
175
480
420
749
754
493
599
534
582
151
25
972
549
908
745
417
342
573
922
956
609
769
922
328
166
705
586
993
488
846
227
381
469
479
78
696
888
632
889
801
912
420
130
727
3
82
609
634
648
206
939
983
381
651
358
504
389
857
868
11
252
287
869
406
942
991
198
391
133
414
268
383
445
529
615
572
833
433
977
539
245
145
810
137
758
879
694
125
505
315
174
671
645
724
346
202
960
862
303
220
224
944
644
896
331
202
317
549
787
283
910
883
721
254
487
658
604
865
889
951
544
195
50
612
527
122
895
48
811
319
689
825
772
406
740
677
272
23
228
864
257
754
785
222
93
417
28
120
22
420
330
405
734
68
837
606
324
219
535
658
489
62
593
755
115
285
958
666
803
300
290
850
906
682
662
428
870
217
823
401
838
392
951
892
656
413
638
99
538
495
526
22
804
695
711
659
716
927
261
408
258
208
498
256
423
946
924
645
159
932
237
347
94
196
22
942
486
99
754
206
295
281
210
572
798
597
254
236
324
234
468
759
222
873
14
624
646
219
872
544
293
405
741
918
224
461
712
459
125
99
155
963
537
451
134
388
983
319
94
727
336
733
479
793
995
439
186
540
943
409
439
860
65
469
159
590
803
563
901
281
133
744
15
845
194
245
363
760
764
479
422
697
35
299
13
312
291
672
265
59
31
792
375
537
392
732
320
194
943
45
59
875
314
884
96
104
770
827
645
153
974
568
681
550
16
27
270
324
475
542
208
988
48
772
228
362
610
102
820
385
698
960
24
366
198
591
442
402
479
96
369
467
9
370
311
589
183
48
320
784
311
420
10
821
830
988
784
902
108
800
293
127
807
690
452
778
729
89
100
729
537
226
476
15
743
677
951
222
90
303
311
532
579
716
111
622
603
73
181
645
868
192
117
939
517
582
427
157
120
957
642
643
476
126
969
611
499
370
566
432
659
557
862
882
658
136
936
706
17
248
399
999
436
37
208
315
105
993
544
394
173
291
158
201
960
584
423
195
371
82
361
980
89
722
807
227
342
400
199
430
430
396
451
986
916
596
746
709
887
14
448
468
85
498
296
951
670
317
557
729
339
371
751
52
901
522
24
254
197
682
516
502
811
747
979
76
160
327
840
574
406
641
405
38
547
487
629
184
454
275
925
292
756
138
34
267
734
574
760
643
85
785
918
9
447
832
948
168
375
498
160
214
282
322
57
269
936
201
389
632
904
470
383
997
113
964
274
91
615
154
199
662
395
995
165
934
182
163
913
855
126
27
458
763
921
631
226
364
968
860
396
939
276
3
707
92
640
120
901
198
911
612
179
988
373
636
345
600
515
421
654
497
356
558
490
143
337
760
392
555
826
40
349
240
317
598
844
298
401
990
34
520
202
444
136
153
970
103
467
214
78
534
423
454
325
706
805
868
888
522
805
191
696
203
432
977
939
642
750
327
32
296
890
526
215
994
853
923
490
170
861
323
409
475
983
591
629
739
819
853
451
188
843
664
420
931
633
578
856
597
313
402
492
125
401
66
392
280
263
264
595
144
378
84
951
592
317
687
561
971
631
61
509
425
125
933
798
284
142
649
937
316
451
107
941
262
898
547
828
907
70
455
977
948
522
810
98
573
658
167
738
128
487
875
669
437
86
999
987
842
479
592
248
97
390
533
414
769
161
3
611
3
290
86
574
106
577
747
341
216
316
798
860
643
460
882
934
795
775
732
540
942
721
233
678
687
542
430
170
270
519
767
531
363
649
202
834
238
841
596
482
278
365
325
125
121
537
123
128
658
771
443
343
218
155
4
897
974
235
487
28
91
60
822
68
692
563
793
494
7
923
299
634
391
351
591
739
917
641
887
182
892
965
798
537
129
409
179
334
84
734
122
501
383
929
882
886
760
861
136
201
637
876
814
849
559
493
67
304
205
737
441
85
452
613
48
545
650
619
89
157
840
37
287
282
928
878
23
719
99
268
794
116
332
163
128
208
96
837
225
850
651
400
820
309
459
837
436
153
813
982
162
773
14
988
257
694
523
436
126
223
668
717
671
55
775
168
146
246
950
329
877
76
720
585
84
882
13
31
343
632
785
432
313
324
219
523
114
599
886
152
342
719
529
677
640
515
435
961
736
777
796
681
560
72
273
916
228
518
264
979
691
104
79
869
978
265
353
861
535
654
549
466
110
109
901
71
943
280
717
490
932
743
836
190
897
425
482
532
572
220
574
433
716
281
255
603
759
420
383
349
912
339
806
297
906
736
169
344
483
69
800
90
632
320
378
359
568
912
261
677
588
252
714
214
297
860
468
115
163
314
125
807
826
449
558
711
216
381
346
927
669
633
353
824
804
662
841
848
37
480
730
975
613
912
916
516
386
631
14
829
514
386
449
605
834
422
572
605
62
35
141
826
152
556
263
445
139
814
270
846
490
340
457
878
734
242
995
247
320
41
560
150
748
964
985
876
89
566
376
554
590
639
765
343
743
211
372
900
477
678
875
118
556
855
760
697
70
586
946
753
392
603
422
701
11
86
937
745
247
720
672
443
68
636
285
416
445
53
57
824
157
634
102
778
169
520
170
988
176
281
947
728
600
634
833
72
657
54
11
829
897
670
572
503
202
946
588
272
217
424
223
506
176
527
170
224
213
309
851
969
407
46
566
329
39
818
144
596
176
414
356
815
319
761
49
175
510
653
565
799
828
596
578
694
895
224
851
247
845
355
610
42
762
809
919
15
936
567
473
892
640
454
284
604
17
679
406
316
435
5
913
881
136
816
548
420
398
797
5
812
221
117
348
499
152
795
912
771
916
507
624
796
433
275
920
525
867
497
948
964
799
749
844
768
698
173
636
130
425
127
792
355
358
245
934
942
955
266
422
136
710
218
756
375
949
691
20
971
590
50
872
35
314
484
149
951
369
133
115
875
347
622
886
144
687
940
566
569
950
543
254
923
556
295
184
601
8
896
295
864
493
450
210
966
852
309
269
161
539
961
178
863
476
507
641
105
485
847
238
862
13
620
189
171
906
165
268
900
342
550
980
249
98
799
427
223
10
396
786
230
289
31
123
353
239
696
202
630
517
649
437
739
114
72
557
480
455
10
403
51
74
507
196
131
592
666
470
834
386
812
609
816
794
491
587
32
507
736
795
354
355
66
849
502
926
870
782
102
299
837
35
66
142
444
455
503
54
688
580
91
203
147
707
352
347
936
799
159
302
869
737
86
576
860
955
686
128
33
361
62
860
582
394
265
43
891
633
339
506
736
959
972
604
61
441
937
480
819
627
144
138
606
485
974
886
215
541
882
592
175
183
466
184
890
228
544
283
374
191
419
598
7
192
544
518
613
469
42
301
672
77
935
508
776
779
75
669
121
472
338
400
144
530
606
800
868
251
775
980
434
650
963
789
310
798
263
488
370
36
640
461
990
121
344
35
985
339
567
802
278
518
511
709
796
91
31
839
438
282
650
906
763
232
298
83
261
576
650
205
661
765
585
176
472
528
962
213
673
511
589
419
816
678
767
792
760
232
681
245
220
674
181
32
29
521
885
716
245
272
595
504
540
304
496
888
829
453
980
911
81
215
186
98
601
484
345
179
214
141
638
113
222
328
749
396
716
846
500
786
154
650
433
447
417
635
783
379
653
296
247
37
338
468
130
903
184
542
483
550
477
217
957
230
963
711
313
707
621
165
931
111
129
806
230
191
403
127
842
57
592
20
27
828
25
337
955
417
252
288
700
130
384
882
878
698
68
512
944
197
834
989
890
285
55
670
975
992
495
783
190
813
613
71
892
890
835
124
330
731
552
729
917
757
298
325
721
566
795
189
991
991
379
173
138
728
694
964
121
159
452
481
104
472
770
724
903
961
58
239
211
100
403
767
889
345
392
786
895
22
63
575
613
534
26
638
490
190
56
751
703
755
297
532
938
175
171
848
423
646
660
233
792
255
194
309
520
588
512
88
610
990
631
35
718
470
995
416
447
470
611
640
240
246
948
869
880
886
93
741
699
811
858
510
302
730
850
793
973
220
784
377
26
571
785
177
904
76
433
386
933
599
401
446
71
522
665
243
344
982
284
112
914
955
546
809
448
42
134
432
668
104
858
714
394
685
71
332
305
744
673
540
352
299
930
617
695
887
143
614
396
956
795
923
708
848
69
869
922
306
333
398
260
230
56
814
820
883
337
101
479
766
600
263
114
3
955
539
233
341
210
89
858
905
845
681
34
683
405
204
550
266
324
122
11
925
451
737
577
585
164
609
208
794
500
324
151
772
941
34
468
215
872
600
924
317
861
968
113
598
314
497
487
529
769
554
996
911
297
541
576
262
980
441
255
249
919
549
459
294
65
849
864
770
390
28
686
89
436
156
240
120
173
560
174
132
332
633
636
161
295
546
331
46
958
265
780
788
707
822
401
83
463
486
506
998
775
859
595
952
308
59
756
661
401
579
221
701
684
254
796
188
121
779
479
73
285
687
325
717
992
929
195
446
946
995
121
324
930
390
818
279
787
821
970
546
666
112
417
947
459
911
391
92
540
984
464
151
334
470
921
158
661
653
658
972
643
25
453
185
882
757
304
703
783
515
200
141
983
314
770
775
367
432
431
329
33
355
788
959
903
139
819
859
786
100
894
176
821
725
430
285
201
670
194
908
808
854
833
144
928
719
906
231
436
220
933
647
630
147
499
800
568
882
994
366
860
452
47
577
235
243
243
269
786
837
660
647
446
5
730
2
718
442
602
675
150
702
234
307
899
431
505
100
990
190
145
380
916
602
627
414
151
56
764
373
35
296
217
790
70
475
505
928
610
970
936
344
918
966
477
168
478
482
533
593
655
482
43
608
607
664
485
224
42
15
439
749
809
896
93
451
727
874
261
219
155
313
344
537
709
646
569
890
90
763
770
607
883
116
115
948
754
767
343
639
11
990
920
116
276
395
578
274
855
966
960
13
9
6
464
250
75
410
757
50
609
450
700
396
342
442
592
983
151
742
273
655
72
522
737
168
190
293
352
145
588
617
126
149
381
182
253
944
59
484
826
10
28
461
123
721
850
297
169
255
434
542
103
39
138
685
911
540
167
792
98
175
435
953
86
261
720
411
246
173
308
198
727
350
306
907
2
761
433
205
59
958
535
992
671
18
948
509
75
671
687
867
180
371
780
709
591
454
778
356
18
941
395
856
534
357
857
724
556
503
991
228
317
921
962
911
749
898
526
503
137
831
840
733
528
367
273
504
542
981
247
476
831
924
735
95
653
455
349
589
264
384
796
563
951
220
81
57
470
971
532
17
325
579
128
359
513
806
394
367
56
442
375
152
811
671
912
784
940
749
901
492
268
314
4
870
729
134
782
181
610
853
280
961
421
253
103
739
985
360
511
188
607
432
35
437
899
143
166
471
154
604
951
546
765
939
615
781
995
136
907
509
309
861
378
954
974
382
973
227
102
498
146
32
691
882
225
226
43
164
645
360
182
538
935
567
947
664
227
934
396
73
909
690
210
30
956
312
527
466
512
466
882
623
487
780
295
612
716
769
602
45
968
687
608
969
734
591
510
160
128
253
516
3
713
640
478
387
763
937
255
302
459
621
804
629
987
863
280
639
811
76
289
539
925
720
698
260
808
370
318
181
21
969
22
231
797
359
974
424
62
147
570
76
709
973
80
972
647
567
811
157
759
46
418
212
775
537
919
817
509
829
441
549
435
621
80
652
188
429
471
942
641
423
619
46
888
52
599
251
322
937
597
72
794
162
894
27
67
636
170
600
383
260
63
605
861
950
127
806
399
810
935
395
610
876
825
927
447
780
297
523
295
557
87
494
277
631
961
563
871
655
865
97
968
713
946
723
662
682
599
803
430
434
820
458
442
229
232
772
240
766
159
161
379
384
49
972
333
160
160
569
766
704
128
625
346
296
120
524
28
757
986
390
363
853
994
728
198
137
140
203
765
10
537
708
160
250
206
670
989
634
348
296
318
230
722
706
504
657
312
952
960
884
601
560
284
41
554
584
106
464
279
648
235
135
916
662
429
773
180
325
385
140
387
694
848
910
544
871
223
158
639
118
159
740
607
696
16
621
846
8
837
858
94
520
990
350
823
255
751
256
381
275
10
7
550
109
787
140
901
924
193
231
224
811
811
223
172
949
56
897
58
562
292
526
324
807
898
237
379
956
453
254
791
376
562
689
555
740
678
65
179
784
319
143
513
729
86
253
754
733
143
677
61
627
47
957
794
873
503
738
787
17
384
115
640
118
882
283
69
410
814
607
195
993
298
921
530
641
120
384
222
317
609
336
931
316
379
967
583
502
694
261
770
274
859
459
367
226
841
710
447
963
148
500
207
250
24
948
618
915
252
54
949
443
736
36
935
673
688
545
59
891
93
891
888
800
645
778
5
900
467
957
245
440
985
639
861
670
317
216
605
915
896
998
273
482
481
149
415
197
940
97
73
397
600
662
682
129
35
727
806
280
554
394
48
617
25
697
662
196
347
813
342
508
70
128
131
568
416
892
597
475
454
802
849
140
763
175
773
988
372
842
426
711
638
456
745
588
216
485
910
257
670
646
783
658
747
498
50
643
285
206
585
383
386
622
457
449
906
429
801
717
688
409
735
371
190
470
706
259
178
910
894
892
332
963
131
837
216
977
817
778
267
114
716
226
362
62
951
85
125
241
855
478
719
836
435
117
471
272
233
351
141
961
624
781
420
340
601
650
219
463
931
957
236
593
939
38
185
917
429
600
289
942
876
521
146
775
187
157
921
674
548
794
196
414
639
854
681
33
837
448
803
67
133
858
285
744
704
961
157
30
775
513
521
8
88
164
163
737
887
811
420
108
615
564
559
63
844
640
95
467
442
938
521
65
330
387
404
203
918
486
917
34
997
461
102
661
767
875
279
238
173
593
244
493
268
792
867
46
317
375
31
333
24
427
619
593
851
348
822
295
756
227
35
485
437
363
460
796
23
634
595
808
144
962
884
778
303
398
482
843
302
509
989
283
770
220
139
994
230
682
680
239
79
871
70
653
136
262
700
451
457
110
334
228
295
818
150
530
15
262
699
125
729
864
204
213
432
991
39
332
812
541
407
632
544
472
370
385
544
406
92
85
583
400
587
235
689
360
647
219
591
898
634
208
777
581
65
33
204
239
407
13
451
944
171
390
426
293
425
942
470
688
141
247
387
649
639
588
399
907
284
847
964
476
152
643
463
493
509
589
761
939
214
941
760
7
860
219
922
898
211
86
955
452
902
346
262
970
595
400
912
901
309
258
220
958
120
480
565
354
256
425
270
416
604
981
885
249
319
814
318
277
891
900
922
783
922
32
139
505
524
833
667
789
41
474
885
17
493
139
715
969
336
387
615
2
866
832
616
529
171
670
311
877
888
2
827
378
336
147
620
771
841
347
619
310
130
924
9
968
600
454
736
133
567
109
9
849
386
606
803
95
298
370
971
701
756
537
63
273
216
660
817
47
202
747
931
709
855
837
148
675
901
708
277
863
168
161
399
840
599
853
477
130
93
589
27
39
277
4
108
308
260
290
856
212
199
14
37
523
715
294
771
924
402
268
522
26
862
860
280
987
307
670
721
839
953
918
885
667
816
324
863
361
427
43
377
416
798
854
223
391
425
592
828
701
120
604
342
935
961
630
730
944
766
141
928
613
595
306
460
557
831
945
671
592
776
481
870
49
674
154
28
506
806
472
732
852
512
192
72
443
130
827
413
860
632
309
627
25
559
538
962
332
121
943
740
78
776
808
858
136
512
571
793
491
792
593
676
432
372
334
362
690
435
663
489
341
607
76
435
402
703
132
91
474
747
654
265
775
839
790
637
781
423
714
268
48
726
499
567
883
970
527
214
31
853
824
806
537
33
617
109
583
986
13
578
728
186
825
570
935
898
11
18
948
520
141
768
246
986
940
837
326
14
655
764
679
918
183
316
130
14
252
905
575
861
344
214
131
830
935
367
244
957
790
647
326
713
446
960
801
455
310
867
200
705
138
45
756
56
240
697
431
261
925
977
396
68
256
583
850
45
135
621
354
491
947
765
416
713
514
767
225
791
278
983
941
612
884
611
303
564
915
526
169
267
653
536
199
517
1000
168
302
751
517
769
837
672
134
995
664
568
619
935
342
531
931
299
849
339
206
949
554
780
395
979
357
225
539
912
46
236
399
467
445
837
89
878
498
641
468
378
51
56
385
777
313
52
67
301
902
426
387
205
815
764
131
986
636
727
516
476
166
638
103
34
219
531
258
957
704
45
744
206
587
786
464
406
891
857
279
447
268
2
444
166
883
416
81
501
748
24
645
202
315
141
367
586
323
684
727
641
662
660
900
83
906
301
176
815
12
29
104
577
712
246
183
154
135
695
818
541
318
596
796
883
380
601
376
554
770
580
944
849
130
498
209
416
417
778
646
375
425
311
688
5
802
131
112
418
893
902
805
774
934
10
143
75
777
347
673
246
648
247
515
575
629
793
836
82
786
774
477
968
16
362
166
759
245
476
230
890
300
740
598
661
801
537
303
286
190
467
741
24
756
282
583
160
265
566
935
965
214
52
148
883
383
850
450
48
149
937
488
837
265
603
977
623
735
890
658
808
420
622
597
636
204
995
361
711
24
124
477
439
397
945
25
52
477
160
319
20
493
122
166
317
757
645
204
596
766
185
692
672
641
767
649
184
90
93
930
314
90
177
821
72
366
600
343
466
317
348
876
602
253
174
415
217
380
362
730
7
55
918
914
403
235
940
564
806
848
299
477
654
31
840
236
548
962
436
880
157
855
718
911
817
861
964
211
102
725
387
407
131
360
531
119
497
589
195
4
604
413
152
591
954
848
394
143
737
107
322
934
318
514
211
690
843
280
250
971
493
633
752
338
207
787
346
700
450
68
869
748
591
565
609
490
145
433
752
468
365
947
513
947
417
738
838
573
627
805
22
866
965
586
392
212
898
456
919
968
409
949
23
840
339
704
444
593
819
841
537
802
100
928
400
118
621
757
727
495
352
363
900
570
98
887
637
912
591
567
519
155
259
377
242
169
313
472
578
412
79
679
877
501
670
509
211
397
408
468
601
152
787
247
277
849
78
347
952
129
304
894
179
567
13
198
713
637
683
209
610
184
111
599
552
634
336
820
438
642
512
704
244
184
131
616
357
813
737
576
734
58
448
707
274
140
857
64
565
554
996
921
163
58
820
284
757
239
903
476
827
659
860
451
398
957
616
886
999
178
202
925
487
447
412
285
59
151
841
222
960
440
613
61
731
971
181
393
994
728
605
301
366
123
621
644
182
8
928
74
152
471
680
32
150
827
255
158
437
547
447
394
719
335
958
691
768
934
966
398
683
323
949
45
620
414
675
739
919
785
174
983
792
418
119
811
445
434
835
114
715
89
465
158
43
455
433
663
358
517
153
916
593
706
832
536
984
897
209
454
309
110
713
727
105
713
387
216
643
888
55
145
494
74
30
862
859
290
909
844
75
697
360
234
6
312
319
766
266
560
423
968
648
281
829
995
28
109
578
699
464
636
382
990
71
13
649
532
87
328
124
12
465
875
582
94
556
465
364
450
638
113
803
854
718
804
308
88
711
352
322
822
6
663
885
442
570
97
843
306
717
520
96
18
649
313
722
997
855
222
337
473
304
113
179
22
380
752
590
342
315
137
530
38
116
791
575
135
33
997
923
594
755
685
44
67
796
682
936
452
90
575
496
680
437
848
975
137
384
697
464
211
757
54
515
842
4
564
895
149
536
825
737
889
170
216
903
109
78
666
622
415
782
20
93
810
188
82
100
405
465
662
926
385
708
795
111
432
482
662
526
935
491
298
389
535
207
854
410
303
391
995
948
65
121
984
635
692
429
292
221
793
706
838
329
115
338
966
90
691
649
587
763
782
716
375
502
116
974
291
653
294
339
252
456
12
62
909
430
111
853
600
998
154
198
84
926
156
725
149
588
715
609
816
986
116
134
321
794
518
40
337
347
810
793
5
695
160
706
803
794
381
240
89
557
455
299
463
208
116
846
128
187
111
79
104
935
629
264
714
686
840
387
772
784
853
324
129
748
894
794
131
656
791
335
20
934
723
711
946
242
159
324
413
262
724
997
239
873
708
904
437
329
513
586
839
124
320
806
544
619
50
407
543
903
649
322
259
819
79
24
862
746
104
170
580
52
548
702
444
162
184
8
520
907
890
26
261
669
277
493
704
60
145
322
794
729
15
847
232
35
307
636
848
729
617
344
899
33
113
269
228
387
440
567
164
702
594
273
251
396
779
151
283
832
843
904
750
313
110
642
844
181
593
123
946
34
393
247
684
104
34
275
601
972
577
330
415
660
184
781
395
55
499
884
70
489
635
544
898
631
866
62
564
607
412
63
305
749
391
95
591
107
628
646
743
272
790
528
422
401
149
396
77
391
995
762
120
72
304
621
443
742
648
883
456
144
258
400
298
202
206
724
138
695
198
447
631
885
428
746
449
158
360
309
77
415
930
985
36
455
414
811
469
467
528
911
12
538
936
840
344
944
632
411
542
468
829
226
106
225
697
935
775
184
963
19
14
67
940
456
465
923
585
146
883
701
264
923
823
376
630
840
665
90
566
333
657
558
467
281
318
501
605
386
560
918
658
788
855
216
851
435
972
915
394
713
336
839
286
126
522
559
61
836
690
51
591
100
31
217
857
386
810
569
409
730
887
232
813
638
958
920
881
57
605
72
427
979
941
963
142
203
249
600
927
758
974
91
557
236
780
829
451
388
328
304
511
158
363
829
181
350
367
708
224
934
859
138
692
515
472
732
831
781
619
695
808
341
658
849
70
370
70
707
96
591
99
810
636
863
750
94
852
707
55
247
474
590
315
922
818
176
923
375
127
261
301
614
959
183
447
885
242
661
872
864
348
386
866
34
992
91
880
767
677
459
974
148
497
316
423
880
914
880
369
103
227
970
154
499
858
514
909
209
835
641
775
3
860
457
819
486
38
738
202
841
909
436
160
905
912
818
121
127
599
242
275
570
515
822
613
753
778
531
318
220
14
338
359
53
801
977
541
218
404
173
558
218
531
211
93
235
440
831
706
948
603
539
2
203
468
39
610
230
14
428
670
875
110
270
406
153
451
126
573
557
605
629
236
643
614
286
793
309
905
885
283
631
203
954
33
600
200
981
111
921
940
110
550
312
306
938
776
671
540
737
591
50
27
639
115
159
849
814
197
693
148
412
521
969
382
907
986
611
567
322
940
371
613
716
115
205
355
656
835
869
615
996
414
323
9
565
369
924
927
50
951
993
541
544
141
169
851
210
492
115
934
359
605
262
994
297
41
846
364
348
900
974
828
343
499
969
816
418
588
793
976
518
75
892
898
886
605
971
718
839
486
443
411
944
361
711
979
74
793
88
817
826
578
645
961
312
871
979
802
372
218
338
605
546
34
260
598
500
396
404
734
618
324
721
347
727
557
47
202
169
950
779
466
846
702
440
404
346
777
764
584
675
135
319
70
547
972
970
344
653
212
116
893
754
536
595
499
655
181
591
884
42
319
688
713
659
218
140
189
744
456
709
740
528
90
428
790
72
903
460
793
168
818
535
443
840
332
211
809
467
645
632
624
101
377
842
760
168
771
358
403
755
212
545
821
606
73
846
169
984
241
580
818
122
925
545
612
187
887
930
357
556
988
923
313
944
854
945
498
974
161
328
246
13
690
190
124
630
737
674
546
283
395
814
284
895
886
867
763
853
879
700
115
6
604
636
633
376
458
520
351
598
884
60
321
238
684
357
596
289
881
462
973
580
551
537
437
910
16
922
134
201
943
809
314
435
652
648
839
500
560
802
677
973
581
961
205
784
31
727
223
965
316
71
732
981
5
891
766
917
775
643
670
251
742
128
146
187
220
507
378
487
164
159
840
106
716
703
547
77
907
839
192
192
76
401
549
794
583
564
247
57
590
694
590
810
135
207
645
919
583
663
104
409
490
447
85
917
273
291
662
107
300
47
125
106
429
217
179
955
372
734
264
503
243
547
423
67
400
342
593
758
533
285
390
368
524
669
751
432
865
818
660
450
303
440
722
538
46
162
178
845
516
158
761
246
175
872
22
202
503
657
55
483
677
785
542
49
269
640
375
278
676
174
232
275
302
517
648
313
217
917
549
67
417
606
376
581
47
634
79
899
844
949
815
207
488
275
288
939
193
545
740
827
902
787
269
550
42
751
830
130
837
611
991
631
298
544
942
845
177
164
957
680
40
264
694
348
422
876
698
225
259
926
925
352
873
115
902
344
520
956
587
99
29
274
958
603
251
862
567
936
326
653
195
123
983
639
791
365
338
739
213
627
936
199
922
122
401
95
661
804
14
43
330
81
520
982
344
853
726
336
581
942
584
100
308
759
697
468
170
697
150
242
205
443
795
320
137
333
116
499
547
273
536
130
751
429
117
638
617
492
9
593
70
826
691
221
61
233
497
424
468
922
432
312
633
609
355
845
511
165
17
598
300
8
780
125
945
902
87
540
227
563
95
813
277
688
443
926
505
535
13
347
662
123
464
6
40
430
794
462
20
204
240
876
109
305
946
60
546
724
86
722
468
308
299
296
358
313
967
316
782
168
351
584
220
737
308
902
535
303
615
100
428
491
782
794
490
935
46
516
587
93
323
677
461
81
797
226
722
26
48
324
920
229
906
239
699
809
661
768
798
760
15
429
370
79
607
361
98
129
573
496
993
701
359
379
479
231
167
235
31
89
102
874
338
714
920
391
777
714
917
202
862
375
99
272
123
38
36
25
853
41
484
106
18
15
752
464
503
30
159
327
863
972
362
293
179
953
899
524
140
844
879
643
35
36
767
742
871
472
743
692
481
380
75
875
148
699
82
212
51
903
196
950
852
252
98
823
370
403
761
938
919
19
119
941
993
264
653
413
214
937
633
52
921
952
667
915
700
287
43
805
66
973
963
582
518
252
203
590
400
152
126
84
49
20
990
418
652
260
941
129
95
578
492
991
690
946
12
970
986
651
815
999
12
253
400
884
566
346
61
383
900
632
307
988
667
432
428
272
813
313
458
339
833
936
768
463
190
319
85
283
870
232
927
507
842
653
665
706
603
549
900
304
890
75
573
577
445
43
37
932
334
55
70
450
123
332
175
165
552
662
999
828
485
654
701
587
804
110
309
77
858
995
990
380
406
323
543
727
76
712
974
563
702
874
192
11
980
961
226
885
343
540
30
407
480
907
604
615
276
864
796
387
431
656
249
419
13
712
741
610
949
739
998
550
219
972
15
665
466
756
786
892
463
353
161
250
651
122
66
258
513
830
838
167
272
820
586
267
91
742
490
681
104
452
684
598
762
228
646
689
67
541
944
693
739
942
433
192
930
102
617
735
572
182
320
776
713
183
91
890
686
992
148
760
186
130
613
114
380
20
734
631
350
217
38
793
193
33
629
697
722
439
756
306
538
355
831
256
317
338
97
452
452
168
782
363
534
392
746
819
174
967
476
290
923
812
423
805
36
365
132
404
110
153
536
378
633
13
451
717
42
189
59
214
909
118
232
617
774
480
642
989
664
736
94
808
400
491
372
291
514
562
823
701
322
659
789
931
591
838
358
269
193
307
871
135
210
865
620
216
740
659
184
852
242
320
603
641
147
101
207
149
862
449
762
17
736
632
985
74
250
115
899
161
248
402
517
785
297
988
893
445
993
903
568
21
377
865
952
158
167
501
830
108
975
289
255
107
425
130
264
880
87
631
746
988
415
444
40
880
379
451
208
789
792
363
29
752
230
586
462
764
22
16
662
37
348
1000
590
213
824
166
527
158
277
675
874
675
86
851
255
908
677
429
393
285
57
752
725
327
508
600
579
965
335
176
672
479
877
497
433
54
449
615
940
469
820
299
228
48
6
24
861
877
371
529
19
434
401
2
103
890
985
926
298
605
119
965
104
159
830
10
133
424
536
424
307
265
101
986
882
811
334
410
127
977
865
567
479
325
472
577
917
460
132
637
116
438
815
498
846
482
967
568
253
675
858
617
298
428
688
618
757
716
735
158
689
851
169
661
170
362
834
357
814
801
275
148
734
990
120
115
315
986
101
806
888
268
446
782
681
713
182
91
295
698
274
501
189
939
849
849
532
967
629
121
575
317
294
192
251
143
792
415
498
700
835
386
759
550
81
630
418
355
24
806
931
445
753
152
986
901
406
552
895
377
41
282
658
643
620
321
632
816
534
39
687
174
303
775
541
353
381
756
526
347
210
929
802
413
499
117
678
292
87
665
237
140
98
898
11
243
289
61
109
823
780
117
866
840
76
700
103
569
613
438
757
295
877
990
141
463
974
590
204
113
318
272
655
149
746
380
625
290
779
802
211
718
686
237
903
90
562
992
324
67
980
42
872
441
504
388
469
751
203
793
50
461
183
519
426
295
424
881
290
721
428
626
239
238
275
503
409
157
578
871
765
338
254
688
162
256
998
627
400
404
433
656
158
426
853
243
316
543
911
383
672
230
221
873
359
656
292
504
580
721
666
993
547
257
108
834
243
90
577
392
89
159
941
445
607
370
309
165
731
765
619
783
744
173
615
624
487
201
353
281
766
150
139
462
176
864
710
668
689
550
578
159
598
9
397
769
792
95
143
35
881
947
243
163
683
373
919
476
410
125
296
17
649
184
826
80
71
892
680
421
770
201
630
995
427
454
694
99
294
697
178
217
850
108
935
992
947
518
556
746
100
137
337
544
178
724
54
696
623
474
76
865
741
512
977
100
881
434
877
934
3
694
31
143
507
998
522
922
550
191
728
602
827
77
24
503
913
882
454
163
999
409
608
795
509
519
892
532
330
132
561
966
788
394
527
489
825
781
968
118
74
148
705
739
755
358
276
822
889
101
178
939
697
47
378
556
455
778
63
296
968
4
593
825
529
189
605
860
847
554
865
55
147
70
797
808
802
664
873
580
836
193
536
733
626
912
60
916
808
964
639
961
409
208
687
331
584
845
519
984
616
454
264
736
874
800
524
788
590
914
218
74
791
329
505
933
242
154
293
268
237
424
705
239
932
400
440
775
781
984
319
18
789
627
335
616
868
168
868
181
224
648
348
292
137
413
438
964
998
462
206
509
47
234
209
3
493
631
152
515
424
494
301
814
36
924
411
923
743
498
476
469
654
855
755
778
91
533
394
654
495
894
281
75
620
253
198
410
806
10
908
948
800
243
172
209
521
988
397
678
73
516
905
424
404
661
788
929
217
370
912
671
297
448
791
482
871
260
915
535
301
830
727
338
393
183
75
903
615
513
100
565
476
887
827
970
827
199
432
54
665
861
829
74
311
124
251
605
571
674
409
875
353
80
888
815
743
768
409
864
764
745
317
515
354
588
65
274
77
645
701
595
581
742
59
332
180
761
876
553
658
470
801
150
188
656
889
710
911
617
589
815
767
72
718
915
644
379
274
458
240
832
300
213
798
554
696
932
964
163
567
11
997
114
240
966
672
75
542
876
695
730
483
174
682
719
425
636
853
580
356
257
528
703
471
856
607
186
751
42
826
160
329
472
624
24
318
141
39
384
124
989
31
274
949
191
231
766
47
298
314
830
466
354
274
66
513
734
670
702
536
193
636
340
955
555
727
294
319
979
181
476
697
939
351
347
655
325
471
715
129
539
287
437
400
851
683
195
666
488
714
972
688
297
929
618
62
129
121
851
220
506
99
237
12
945
89
603
492
682
256
658
745
948
194
242
659
775
684
232
677
102
391
474
600
431
471
315
850
793
235
577
625
334
663
309
905
92
193
881
108
589
49
889
546
35
921
426
426
46
207
737
84
692
510
707
307
865
92
672
120
175
43
96
95
885
684
480
822
575
920
641
770
847
474
118
432
566
873
822
389
996
411
556
201
201
672
839
447
565
811
985
644
35
532
273
697
788
111
360
381
938
402
727
99
698
357
128
548
439
340
135
984
234
598
652
728
250
961
592
525
530
534
575
675
170
553
261
841
211
641
179
881
815
877
545
229
327
100
285
863
448
964
133
827
294
540
191
437
84
360
314
783
493
732
678
283
240
700
493
720
99
183
474
615
891
925
706
600
785
431
328
915
711
478
14
493
912
242
105
981
608
115
300
832
131
148
410
785
689
392
712
437
229
615
924
656
241
939
338
604
499
460
823
466
352
810
552
176
923
37
189
609
788
189
362
48
118
323
905
753
249
554
439
240
687
754
116
987
817
298
282
485
253
482
241
602
543
806
155
585
545
458
192
487
968
787
508
243
801
157
184
607
887
559
845
144
533
621
994
797
352
522
388
706
228
952
165
308
353
729
736
98
711
518
354
146
239
753
121
278
18
118
163
769
493
818
743
82
563
799
534
305
766
468
99
809
294
836
683
902
883
871
292
246
745
142
468
367
181
26
450
603
111
46
267
112
712
798
377
805
1000
794
124
206
613
17
310
652
514
97
274
301
520
983
788
455
710
935
128
863
157
728
347
891
226
864
900
458
315
192
40
682
140
635
616
601
18
878
388
530
28
731
737
15
791
693
931
519
416
547
614
224
872
997
411
70
907
181
628
62
455
752
30
457
139
888
609
187
112
12
714
147
159
799
30
275
60
768
792
325
278
50
542
714
957
620
982
178
754
432
99
921
776
821
659
682
217
450
68
900
142
302
808
293
945
394
366
69
186
32
876
798
639
659
4
257
386
3
926
557
264
161
803
116
165
467
352
399
237
718
758
961
728
5
155
833
897
817
667
279
931
963
120
199
176
980
633
889
14
948
695
85
229
866
123
522
528
497
147
808
535
633
241
622
701
499
435
883
293
936
948
529
706
68
532
614
195
744
444
638
485
129
201
712
435
532
257
513
735
71
730
902
324
976
394
628
232
596
864
211
68
675
933
931
855
495
938
399
492
537
747
507
610
968
856
673
610
57
166
866
253
680
424
214
645
63
768
304
736
322
557
241
530
275
376
218
860
401
345
749
748
866
781
407
318
339
882
246
649
668
594
177
800
766
290
441
497
46
432
326
913
627
588
718
210
633
798
446
251
886
202
326
716
263
540
258
263
14
952
65
97
846
569
254
817
134
102
956
200
135
142
714
199
340
145
238
835
120
976
237
694
284
937
271
610
165
515
69
195
374
854
566
240
64
505
666
978
916
303
674
886
496
671
686
723
495
106
592
853
818
632
506
241
255
964
681
644
359
360
950
317
434
345
306
271
637
659
708
951
632
771
437
595
595
651
136
109
7
475
240
128
956
60
815
417
630
573
400
408
235
132
482
382
489
676
480
993
846
310
891
24
709
767
855
468
504
806
435
61
827
792
988
316
494
965
949
58
870
125
886
6
284
954
524
215
857
791
385
502
714
178
217
453
984
451
497
265
412
156
8
959
74
280
620
68
8
774
342
726
825
209
917
12
664
786
169
802
715
178
251
646
26
968
859
254
360
222
759
823
32
819
415
716
82
543
871
235
285
133
925
721
690
124
863
94
256
41
441
469
19
328
268
737
705
688
67
527
661
201
959
729
430
721
851
68
870
782
302
120
226
741
26
798
548
163
708
306
994
801
880
145
540
279
206
1000
851
317
369
139
652
434
79
284
984
469
426
526
72
502
309
955
168
229
753
36
450
64
841
15
387
280
584
550
10
688
610
781
518
877
564
92
966
496
451
242
240
360
518
512
750
47
528
106
68
173
915
888
170
562
441
665
566
665
881
812
677
816
955
441
568
825
428
564
87
602
440
470
678
394
22
718
323
500
527
919
457
593
778
544
57
678
966
254
960
991
884
143
445
204
495
577
473
52
215
612
5
94
414
176
723
494
19
751
182
49
361
882
532
286
309
597
480
389
462
689
935
603
380
236
758
14
970
40
197
221
530
335
990
880
884
957
699
472
210
807
761
468
661
710
432
101
473
105
778
957
275
397
664
653
635
338
142
230
567
76
38
353
584
517
882
108
359
839
186
846
42
65
268
233
609
605
842
723
567
775
132
749
259
817
106
275
408
563
935
747
655
629
938
583
874
510
351
724
942
757
103
511
250
453
802
648
176
796
82
676
236
116
120
160
956
87
91
59
190
748
930
115
629
294
860
875
534
796
372
486
673
315
31
916
885
100
35
547
834
432
286
590
608
178
468
999
475
156
695
460
514
790
543
641
636
263
496
667
154
534
84
650
642
854
295
711
592
141
325
505
693
687
725
375
966
552
409
565
535
247
748
118
893
239
10
516
871
479
483
78
35
174
213
268
659
267
607
237
861
352
925
639
448
776
28
489
622
98
524
313
929
183
834
340
644
268
742
179
936
102
753
122
58
312
735
921
940
939
495
363
132
147
879
833
86
887
153
206
106
376
858
745
501
654
101
87
272
867
134
774
508
43
882
30
551
614
778
213
495
88
704
591
269
971
30
393
993
302
689
632
681
50
359
633
145
191
452
252
857
643
379
689
64
412
709
745
466
663
42
422
342
968
200
853
653
641
252
909
498
94
100
602
169
876
359
616
440
761
476
114
663
127
559
81
132
625
811
863
610
839
244
920
34
143
549
199
899
274
772
785
191
990
347
242
970
770
956
504
560
974
5
720
896
192
915
112
920
36
265
811
124
913
551
820
59
86
213
716
942
772
888
531
513
426
930
43
774
236
362
664
957
506
551
251
435
906
230
593
111
682
664
630
696
841
278
171
84
402
812
277
801
349
731
177
337
147
966
872
436
613
119
702
944
90
934
866
616
424
780
614
573
491
677
776
492
676
574
559
612
72
568
954
471
406
557
797
95
587
570
601
666
210
357
392
754
779
97
707
773
433
577
124
88
530
655
52
594
618
201
379
219
485
923
882
681
649
118
189
821
840
609
869
983
132
554
696
861
571
479
210
467
768
871
993
797
539
217
504
962
11
860
669
160
694
540
141
822
200
940
196
136
161
194
115
270
511
161
80
959
352
977
646
928
747
735
508
350
770
72
785
385
340
201
969
300
487
827
581
827
486
382
790
77
698
262
779
145
589
757
223
273
121
275
22
983
652
104
762
32
130
627
985
387
383
415
48
505
16
21
932
568
540
834
70
946
202
659
938
536
677
738
329
701
13
290
733
442
71
343
744
165
84
564
490
62
288
30
32
31
339
32
194
484
779
536
235
159
638
500
5
365
370
287
910
948
297
53
38
484
310
889
542
288
658
855
143
217
954
713
742
849
40
803
169
205
987
966
258
20
729
961
581
744
737
525
557
135
415
713
664
285
71
357
634
984
977
365
715
156
803
542
359
913
421
747
959
903
685
369
292
190
139
209
782
581
124
555
540
26
140
578
305
647
184
691
674
645
767
951
597
511
670
924
595
155
343
653
578
810
501
179
173
711
381
371
671
28
423
937
929
835
109
117
450
836
57
307
717
97
149
488
991
459
514
147
62
856
148
450
954
582
640
139
577
277
688
536
550
703
932
665
317
1000
597
138
627
577
791
379
467
732
461
222
733
710
30
283
625
692
934
642
370
314
958
381
560
884
238
437
980
212
528
502
984
366
280
273
910
679
359
833
380
197
86
424
174
427
25
471
73
739
215
290
364
114
923
314
93
255
51
869
4
614
714
175
630
943
257
188
616
549
243
18
495
858
361
296
213
386
121
532
474
277
223
892
672
112
185
233
905
215
826
40
775
559
967
154
512
458
330
115
562
235
272
624
818
501
320
320
959
389
14
523
891
36
233
837
303
341
820
142
759
906
542
153
286
429
410
457
35
986
497
979
253
735
679
623
775
514
240
651
848
196
50
244
624
865
837
7
996
816
157
908
936
260
838
7
639
321
603
594
874
117
571
508
181
700
150
534
171
312
229
786
266
687
826
156
762
945
840
414
754
963
340
512
120
659
336
564
35
284
34
467
869
586
177
106
952
616
138
759
732
284
48
321
27
874
274
136
578
349
683
981
313
353
922
653
590
156
202
640
958
505
653
357
533
781
529
176
689
596
578
58
445
127
119
277
700
346
256
37
491
311
569
984
769
401
753
911
906
215
200
73
805
407
227
339
791
622
767
425
226
432
26
846
220
27
716
412
207
833
46
638
68
844
984
797
65
513
642
880
67
34
901
640
33
188
379
287
400
967
463
19
986
6
789
669
607
334
379
199
603
233
510
943
393
32
809
492
212
957
387
754
162
204
441
17
258
378
934
154
569
209
663
619
276
973
54
87
576
940
341
53
742
414
405
771
658
339
872
997
898
186
226
597
633
344
493
26
290
675
258
393
471
588
864
368
67
770
79
652
640
531
951
561
409
820
89
85
128
84
874
997
209
142
889
518
329
972
181
909
926
869
606
130
551
229
878
662
65
733
336
321
243
292
2
451
432
942
385
911
529
434
103
439
906
415
3
186
101
374
115
800
485
359
160
870
93
659
894
928
313
32
197
302
158
383
544
264
372
213
891
910
335
685
534
995
836
949
909
531
30
53
711
248
135
905
595
912
287
501
358
145
758
129
341
563
3
340
55
987
159
354
507
675
621
542
63
843
250
517
281
445
82
334
545
381
945
378
532
731
793
606
125
917
493
51
637
372
780
648
361
804
805
117
825
149
973
880
405
971
475
86
223
521
835
941
331
352
48
759
725
187
627
619
729
414
443
359
869
718
463
988
227
302
120
433
301
772
956
998
135
389
85
380
82
635
37
838
619
55
816
305
612
28
394
764
843
461
645
864
459
896
869
57
114
912
239
339
166
535
643
41
67
790
291
194
641
59
130
131
435
107
74
58
906
254
117
457
706
961
683
987
78
515
870
937
597
844
530
233
754
298
45
383
185
759
223
477
539
33
802
761
472
222
813
764
590
372
236
598
100
733
392
480
914
485
540
296
343
703
853
985
158
831
86
604
249
285
545
12
100
410
481
169
31
63
869
450
184
603
578
134
738
931
295
786
214
750
120
434
872
65
642
615
772
304
72
696
485
211
180
420
860
168
912
128
224
776
662
8
202
108
895
91
488
353
496
386
790
885
172
863
572
568
202
145
982
986
208
267
774
725
586
786
774
826
627
646
794
854
140
32
200
711
713
479
219
705
292
707
700
46
940
684
904
923
261
165
743
802
60
893
764
83
193
683
33
747
927
268
984
392
211
810
806
914
509
876
731
154
610
648
256
177
668
15
772
35
930
137
974
180
998
541
439
402
925
748
453
452
308
873
654
287
883
279
378
476
810
403
638
544
958
950
738
832
277
276
288
69
644
489
568
851
355
922
514
281
157
575
212
719
266
972
56
803
789
35
452
173
985
613
730
826
985
366
788
166
693
22
198
826
92
487
801
196
667
356
712
417
203
671
662
968
17
315
958
882
330
927
888
627
468
196
821
727
148
57
63
568
697
64
487
197
79
512
446
434
453
652
69
386
243
267
662
321
780
753
537
604
845
373
61
506
782
836
720
838
796
743
317
682
592
401
176
598
616
222
677
623
668
877
211
55
721
27
706
371
841
639
860
573
397
212
848
437
667
180
996
160
747
590
85
252
428
45
18
958
814
648
97
386
884
138
988
468
959
106
910
651
920
484
683
78
905
438
909
560
103
509
350
950
562
987
191
95
568
848
138
833
665
965
686
526
806
224
244
848
690
834
236
49
432
244
19
927
571
897
649
229
91
810
858
41
293
860
971
415
413
600
415
528
50
22
246
593
655
891
102
608
341
51
511
43
325
700
556
947
399
18
140
976
660
230
754
729
329
10
867
975
277
441
758
214
555
231
404
561
862
17
972
17
825
490
592
541
608
534
427
872
324
787
199
701
282
783
894
18
38
594
313
801
804
174
545
249
730
418
161
428
915
463
204
14
468
315
880
865
46
94
103
536
833
557
899
606
281
654
447
558
709
259
141
454
764
56
440
599
793
278
900
270
560
946
229
292
22
611
461
64
98
805
525
330
493
917
665
164
872
74
417
283
979
512
736
576
442
835
688
349
416
369
532
887
630
994
47
354
725
491
68
845
470
158
655
315
228
975
42
183
170
862
443
627
931
12
858
339
896
913
106
929
966
633
801
22
2
791
517
810
156
790
160
679
717
355
911
946
631
425
374
483
14
612
40
905
788
212
287
819
301
368
432
648
874
897
429
156
212
937
821
827
416
615
883
977
204
869
939
165
297
202
216
454
779
543
892
140
583
475
748
737
895
321
2
844
270
352
19
490
38
369
275
856
490
502
294
176
189
548
903
29
952
523
889
8
968
972
913
392
2
837
28
383
119
732
110
372
384
745
502
504
497
592
760
284
125
416
264
967
86
866
691
539
629
564
910
479
611
242
4
407
58
524
783
601
870
812
153
9
792
739
362
188
853
518
452
692
745
329
650
254
72
595
36
972
684
276
750
787
475
113
221
160
545
564
377
522
419
573
8
426
822
412
148
845
303
918
894
149
33
118
222
475
471
239
782
588
26
338
615
405
231
667
533
916
857
970
232
559
268
189
159
789
317
842
61
572
457
658
797
380
390
560
824
277
204
152
755
283
364
42
533
122
193
38
617
307
197
62
669
40
646
778
978
615
176
927
819
456
100
708
765
782
87
398
195
656
210
261
879
901
504
886
972
914
392
393
186
670
583
916
323
897
86
887
827
84
1000
80
47
249
820
615
432
547
448
266
490
283
127
670
336
541
636
127
277
325
145
730
452
717
581
336
848
921
854
441
884
373
843
176
121
717
836
389
724
134
137
576
491
693
982
913
141
283
399
505
627
249
425
636
106
588
256
817
380
986
485
543
284
739
850
559
298
597
96
926
157
790
951
713
408
87
28
171
760
326
276
365
951
383
837
577
320
460
194
989
897
492
418
143
234
963
968
361
450
38
875
627
848
539
328
347
190
849
237
40
251
712
121
437
711
209
423
575
207
546
831
265
289
183
845
463
372
867
579
859
423
271
37
506
318
351
451
76
776
879
257
748
32
185
26
189
146
753
285
421
40
409
1000
135
798
151
831
169
104
46
383
397
164
159
938
511
136
89
288
450
236
46
345
447
403
65
31
142
334
119
227
718
288
497
924
861
664
255
457
920
715
137
322
227
296
592
431
705
362
664
182
288
146
395
715
642
910
343
990
905
397
967
505
22
909
225
678
535
501
834
721
925
822
158
775
428
847
903
963
622
531
883
720
374
459
307
227
532
327
457
169
578
110
125
871
458
531
396
578
520
633
110
578
546
165
954
282
333
240
156
554
82
947
195
760
371
38
740
732
210
281
636
138
578
236
835
558
764
772
310
306
935
910
999
931
632
706
297
302
818
650
480
364
235
850
600
372
10
166
325
363
517
290
326
486
241
627
469
491
514
990
614
56
284
318
507
941
751
402
268
994
140
225
643
366
282
942
231
950
736
982
345
731
930
153
138
920
654
367
703
11
890
757
423
779
905
181
830
978
160
923
947
593
739
762
786
903
68
867
523
425
878
514
688
839
649
634
542
887
911
834
90
891
774
816
906
676
214
959
586
631
422
367
5
160
527
152
674
964
962
360
871
703
112
54
399
115
861
504
280
231
694
733
623
975
409
717
372
24
491
539
828
670
993
762
423
492
823
283
242
699
317
388
166
483
126
378
652
187
56
868
885
656
38
983
944
178
187
330
792
877
983
712
639
252
876
934
249
891
307
179
290
828
741
766
88
189
678
385
123
224
350
730
870
362
183
264
718
253
860
114
262
788
97
743
368
386
756
307
863
949
498
825
424
963
253
776
327
565
1000
421
159
284
186
109
943
868
437
62
227
829
898
490
880
701
711
923
749
770
746
19
943
513
413
61
429
243
59
876
754
124
396
205
320
332
159
752
251
932
654
976
85
683
847
31
866
487
591
93
372
60
575
966
234
642
196
759
363
75
36
944
580
341
204
975
624
198
133
385
44
493
51
724
366
542
198
109
49
130
877
5
669
300
575
313
492
812
345
512
663
48
707
849
207
930
579
434
989
15
265
487
889
346
173
520
751
657
795
999
736
521
17
318
167
124
324
994
74
494
307
987
398
319
605
237
363
472
232
606
846
590
206
141
121
256
386
218
725
753
694
37
97
707
409
552
492
473
280
811
502
998
591
370
321
49
344
514
96
232
298
370
517
495
829
112
467
230
17
107
332
950
741
768
14
478
800
320
727
97
220
590
79
123
382
583
796
201
418
723
427
566
431
470
181
356
803
931
937
745
948
890
91
3
248
918
302
234
185
109
189
177
194
226
406
704
138
825
517
519
552
390
261
519
469
298
414
895
518
691
562
277
736
125
52
70
368
468
534
519
90
577
556
295
639
731
625
497
334
492
931
396
700
749
951
882
878
972
445
934
773
640
840
595
706
668
878
704
877
950
49
365
236
333
115
210
280
153
46
460
284
836
446
300
39
653
304
104
552
49
777
241
582
50
440
146
288
42
662
54
605
245
989
231
55
301
639
233
171
590
532
503
94
317
926
248
312
593
612
59
826
106
27
110
311
794
650
547
916
32
269
263
408
47
267
678
715
864
4
567
571
298
835
205
570
770
589
221
493
972
317
21
830
235
501
596
852
220
632
738
726
819
193
237
82
357
188
646
380
280
929
971
262
213
183
125
815
653
322
581
574
63
821
811
242
911
796
887
767
789
74
903
668
972
270
484
765
346
268
409
754
613
489
858
148
193
136
187
953
492
476
722
371
411
317
997
32
528
30
322
430
2
260
57
285
800
234
154
235
869
228
695
749
195
330
562
313
910
417
726
283
842
228
271
469
106
476
291
845
609
939
758
512
909
530
634
344
864
486
835
431
662
899
94
490
600
881
903
592
615
226
209
253
734
256
646
149
328
604
619
405
847
964
260
379
406
196
26
21
829
744
228
537
505
557
188
130
302
806
353
722
38
584
991
734
242
222
777
980
502
805
526
183
616
972
182
637
237
501
707
202
636
343
209
294
448
492
90
580
829
51
981
608
664
564
667
308
495
431
859
807
624
825
503
766
116
784
420
567
546
543
474
276
461
500
489
370
457
93
39
609
406
833
918
23
803
327
176
333
864
224
472
858
201
149
139
58
937
82
824
577
42
374
781
223
162
725
379
409
638
751
198
860
793
391
784
599
948
41
968
345
361
785
911
906
564
170
875
716
721
93
90
76
977
784
829
230
329
152
67
281
185
281
107
401
629
681
723
970
172
623
202
998
53
879
315
58
818
948
533
808
845
549
637
28
871
890
435
856
229
675
960
47
236
291
970
483
400
57
356
120
316
627
174
251
61
234
924
502
597
424
866
29
910
13
439
947
637
634
654
436
624
136
491
657
418
630
872
944
271
538
291
698
285
724
632
532
877
119
405
177
106
320
704
384
752
540
676
484
673
550
424
141
441
347
126
16
720
459
245
312
396
105
590
744
739
352
796
684
129
95
422
535
823
582
102
706
392
606
982
13
64
935
90
118
220
257
891
733
97
842
939
85
614
795
117
912
305
435
787
687
663
829
540
95
698
134
559
681
939
243
698
301
428
247
773
4
131
860
867
721
141
683
647
953
33
860
23
449
975
435
4
29
697
822
426
895
986
875
272
597
893
676
831
291
353
444
4
785
418
716
262
417
789
960
216
441
217
912
620
698
391
999
52
691
704
510
909
16
873
628
122
621
896
996
420
352
892
834
116
720
462
659
110
99
971
287
362
578
44
350
990
349
222
251
822
288
95
869
775
503
126
719
284
803
102
679
601
655
287
749
341
342
334
606
709
425
969
564
275
613
776
292
196
960
722
387
736
910
856
93
485
784
938
67
272
503
348
284
182
956
899
510
189
603
411
672
76
189
570
959
905
8
235
309
929
444
597
862
154
13
915
468
731
916
484
851
718
996
851
866
807
543
882
951
967
484
848
850
433
50
100
743
239
777
86
253
624
910
919
664
475
817
163
364
440
737
529
877
79
607
324
88
475
459
709
867
49
95
880
967
219
83
496
573
358
836
984
290
27
934
537
492
714
49
599
563
644
950
617
734
915
702
978
683
286
133
291
676
144
383
833
746
972
524
467
735
453
899
28
49
903
22
279
684
61
204
987
528
287
864
586
77
880
229
894
792
435
905
322
737
666
786
725
138
828
919
413
740
629
530
55
46
612
298
287
219
366
563
310
627
403
112
510
484
690
402
347
730
423
956
969
93
25
602
396
911
695
452
22
580
364
467
730
613
14
7
891
198
641
641
593
404
281
906
916
845
203
868
61
285
738
27
478
571
415
364
180
21
54
279
479
555
302
806
667
745
186
488
951
251
530
966
718
165
731
964
620
810
722
684
176
239
158
383
446
975
427
746
911
820
975
123
167
939
108
944
748
708
700
287
537
917
110
242
822
899
390
409
445
245
768
935
794
900
159
943
482
449
715
575
45
708
619
177
929
722
128
747
222
896
983
454
120
585
829
837
553
611
90
179
181
559
661
838
313
121
926
917
386
909
766
925
618
573
419
974
332
731
754
724
997
493
532
254
660
919
887
98
562
264
460
650
932
52
415
497
765
245
313
910
678
150
971
598
419
485
537
858
221
225
849
252
910
899
173
719
154
871
980
600
922
923
816
977
845
623
780
352
687
605
761
952
589
862
200
641
416
437
725
350
828
381
385
292
800
486
241
514
197
375
897
359
87
860
733
899
540
641
779
133
557
991
812
664
428
342
15
95
146
462
728
819
265
152
23
30
98
548
220
766
535
149
530
436
933
322
985
628
714
409
556
111
858
569
17
259
262
269
30
163
507
890
910
611
508
216
964
646
567
358
375
605
215
431
329
626
600
29
824
401
998
488
5
653
308
423
309
480
234
73
569
143
284
842
387
487
753
918
647
110
499
891
612
516
773
624
814
981
32
633
987
710
13
225
310
10
264
367
587
298
600
793
941
895
121
731
148
132
136
444
445
635
914
470
167
547
669
215
981
410
193
670
415
728
572
692
795
399
430
82
936
829
660
810
397
262
430
664
287
744
242
281
927
734
210
589
399
347
185
336
656
878
932
414
239
333
46
513
241
960
931
605
804
647
122
400
814
943
461
926
851
112
48
324
102
239
748
811
365
191
217
395
379
113
588
658
943
995
399
319
928
351
509
337
412
57
129
395
567
437
529
891
504
397
191
782
594
754
342
513
559
846
280
391
408
772
792
193
796
782
881
843
181
921
880
92
798
625
541
550
955
587
532
294
261
201
659
634
762
61
820
35
951
143
659
626
167
549
881
485
363
284
148
597
281
291
988
110
386
117
496
902
684
498
418
474
272
962
582
540
81
117
418
73
613
838
671
227
959
342
654
817
589
533
456
186
60
761
639
304
782
319
496
888
715
153
804
458
61
290
334
163
980
389
550
25
532
353
155
210
211
243
760
989
882
974
244
168
158
248
756
631
199
798
740
995
958
138
42
935
406
934
823
55
171
403
998
82
166
125
452
736
127
329
716
590
723
765
419
178
748
953
619
995
775
588
621
665
626
805
246
737
22
86
87
432
882
845
5
215
652
969
331
746
480
181
879
207
832
28
664
296
72
540
644
926
159
790
260
647
353
278
910
74
921
977
55
69
659
81
826
112
189
59
457
808
164
553
994
891
831
285
223
609
353
336
647
342
398
630
875
157
410
11
417
311
704
234
110
247
741
865
442
352
334
801
927
922
563
284
708
560
979
819
95
324
620
897
210
390
251
458
543
538
177
844
575
85
44
957
255
422
118
495
215
957
54
380
779
254
18
480
832
949
631
504
626
564
85
49
596
267
543
768
956
994
378
909
834
552
610
762
429
164
43
985
261
555
293
577
26
457
910
199
138
110
474
44
304
81
161
563
325
183
805
106
121
610
14
221
335
318
434
825
549
356
966
756
77
610
975
697
947
61
275
659
894
821
717
785
580
429
23
275
166
957
993
810
146
986
630
167
950
387
724
580
989
763
498
257
652
623
276
69
656
834
507
489
998
24
298
914
822
805
660
504
360
782
94
189
702
618
904
848
134
362
947
305
20
806
932
52
473
755
839
767
803
763
520
449
916
834
911
91
510
686
814
969
231
878
421
392
974
948
60
25
83
274
983
769
549
902
340
629
620
445
140
350
719
647
127
972
532
952
180
44
501
99
263
416
220
860
636
765
898
502
930
820
460
37
439
272
214
65
935
748
305
712
872
749
790
966
793
726
368
192
857
295
998
99
117
613
884
220
309
555
703
953
576
335
987
924
634
191
991
529
150
677
39
956
558
822
944
138
713
153
98
340
148
218
929
394
741
432
315
855
997
30
377
940
126
874
422
467
30
804
288
2
483
796
442
518
118
952
302
79
357
649
144
731
6
414
915
804
501
163
268
8
554
159
767
37
913
720
341
135
163
628
554
871
6
89
329
230
676
792
319
645
991
83
611
814
11
883
899
678
294
78
33
732
245
520
605
349
709
872
794
660
961
972
337
631
180
146
829
803
185
760
969
385
217
886
333
55
528
103
959
463
994
37
662
29
200
489
865
458
653
383
980
946
388
113
239
836
931
728
936
10
345
534
368
703
737
981
446
870
366
268
767
45
140
461
649
176
446
74
336
745
444
774
408
336
67
335
115
929
610
573
834
502
902
588
641
115
393
737
571
524
522
881
220
10
369
964
135
977
881
415
975
856
284
203
794
300
266
215
498
888
974
929
116
935
44
498
233
967
122
821
913
656
646
325
309
853
385
20
26
746
430
64
976
863
279
339
359
943
897
449
526
964
558
249
280
418
293
354
252
336
536
87
995
179
953
569
121
903
683
173
694
348
835
62
855
952
923
915
900
468
373
472
647
621
905
927
717
350
583
432
781
113
52
819
451
149
717
63
906
85
167
726
577
314
217
904
119
150
186
715
397
545
886
795
754
91
621
381
409
955
292
35
441
994
456
545
577
110
464
787
454
128
31
928
850
219
106
950
11
444
248
613
268
724
685
713
594
466
480
868
586
282
121
74
7
68
657
793
448
808
647
404
877
116
242
186
691
687
122
860
183
625
776
977
591
243
284
304
781
569
850
188
780
222
624
589
408
731
652
609
551
126
560
321
932
981
626
731
262
148
908
729
502
831
490
580
711
152
301
934
749
62
517
322
931
116
740
740
532
235
932
914
305
543
589
789
324
733
229
854
898
597
562
584
853
797
663
395
570
677
14
980
922
36
615
518
623
27
639
413
711
356
415
365
54
587
322
528
421
936
927
2
796
458
535
550
626
410
890
677
445
495
916
260
122
390
705
111
114
632
851
305
264
526
963
79
28
770
744
344
453
5
826
361
614
573
143
717
722
120
624
566
225
430
90
25
792
688
123
385
702
414
476
539
684
862
616
680
440
539
496
538
547
131
126
778
569
397
509
429
131
477
560
348
105
293
991
381
652
961
952
969
447
55
391
680
214
338
672
565
984
419
535
460
612
114
274
230
693
454
621
551
895
833
549
966
324
470
715
411
44
253
23
339
151
684
350
466
540
283
878
90
601
698
431
732
325
764
242
678
907
667
958
340
316
298
285
646
595
336
50
342
869
726
849
829
604
150
164
71
650
466
535
956
162
333
581
214
32
238
663
526
755
879
441
723
103
32
319
558
851
682
812
172
582
135
55
329
313
319
818
796
903
607
709
106
258
415
85
196
279
646
739
844
969
9
959
902
813
325
764
275
33
565
40
843
964
364
805
276
404
187
43
655
536
814
347
58
781
572
452
485
254
73
700
137
428
516
329
31
395
755
865
817
854
367
575
19
55
73
61
520
312
72
751
464
379
348
309
179
235
790
339
703
539
221
703
476
62
539
290
997
914
522
878
855
523
945
725
56
270
536
361
168
304
4
632
444
389
64
971
742
993
382
374
847
289
250
398
327
157
123
508
841
466
775
878
116
461
497
264
99
794
398
705
818
784
12
27
543
112
658
66
45
654
393
723
359
513
130
938
921
140
57
571
344
200
716
361
220
315
971
49
326
359
533
114
805
959
754
984
633
490
249
521
298
245
157
424
629
650
910
102
365
675
332
462
244
990
785
53
784
588
930
870
783
182
942
657
912
462
270
542
8
553
381
781
935
551
367
437
557
159
182
594
289
392
62
220
797
886
958
860
989
65
312
201
638
267
936
295
734
156
935
722
208
543
703
859
185
637
385
625
24
701
176
64
25
59
955
60
407
473
311
17
161
417
939
857
732
205
456
85
977
468
585
944
868
295
390
991
626
371
573
123
522
878
812
777
517
345
454
874
415
618
372
571
57
533
106
551
188
57
887
494
994
580
793
678
919
791
173
517
556
258
167
42
491
831
799
778
421
173
744
864
729
764
289
612
140
989
633
636
150
29
154
585
90
101
56
356
298
219
30
837
4
245
162
809
644
109
185
747
811
35
750
244
683
933
933
782
423
900
779
954
880
285
146
639
238
964
375
788
303
627
692
789
720
232
689
470
552
749
585
204
259
964
196
279
922
968
422
998
924
12
96
352
80
838
722
98
840
72
27
112
27
918
886
68
456
566
419
551
30
502
423
880
310
170
469
615
891
871
544
990
681
844
194
999
147
662
642
633
599
169
149
708
555
477
387
513
814
414
592
252
638
927
374
980
194
375
81
71
60
183
233
775
945
477
673
68
167
841
794
307
893
411
351
162
264
804
469
604
395
561
498
498
199
660
267
595
920
65
437
85
696
45
3
70
313
348
794
16
879
927
982
977
277
981
890
303
981
840
31
547
165
83
411
188
37
97
813
366
985
253
328
879
484
986
511
24
494
970
605
808
69
348
217
678
873
255
880
99
738
745
18
686
918
856
348
362
299
626
807
304
262
839
680
181
896
956
796
27
334
757
175
168
197
354
834
467
856
339
325
669
869
774
85
746
154
771
82
378
193
704
91
884
210
790
760
466
586
123
659
570
874
875
656
815
552
626
982
833
794
621
606
390
288
894
261
725
397
247
241
33
212
694
592
998
374
442
349
236
878
572
736
655
637
607
167
537
682
802
604
636
424
766
325
165
392
677
973
78
292
958
546
100
45
714
961
301
425
907
80
353
154
250
611
883
182
107
24
63
615
401
445
79
255
211
370
809
536
510
864
783
910
605
842
588
379
411
757
203
898
885
110
404
69
84
610
106
144
544
95
852
549
686
425
987
455
988
873
780
995
67
531
98
672
48
213
587
556
672
932
455
335
983
918
734
697
196
959
123
753
169
555
598
759
439
273
159
353
757
510
580
233
280
928
560
109
722
60
644
766
316
211
847
646
527
818
210
588
292
587
856
717
875
215
376
601
443
738
375
70
443
570
629
430
492
122
29
220
678
433
369
294
407
449
429
898
244
426
366
322
638
207
28
989
780
209
99
460
306
49
507
820
574
796
542
113
465
114
508
343
534
187
753
167
878
987
203
491
238
344
887
428
677
872
850
484
86
6
420
723
138
90
826
742
180
102
165
911
852
951
696
879
868
5
205
561
269
23
18
206
956
192
200
928
136
827
223
810
922
170
425
784
745
992
95
66
913
729
870
681
42
805
479
349
790
539
642
279
151
523
602
991
611
543
26
486
687
630
523
983
131
135
661
545
254
402
36
788
924
721
741
401
819
537
276
132
655
556
605
117
148
293
766
216
960
54
426
365
596
325
912
774
27
518
493
700
936
630
170
122
270
727
433
127
445
274
571
745
480
539
779
619
687
81
303
456
380
563
501
394
842
155
498
380
572
321
874
442
369
389
542
937
273
132
606
473
901
395
347
168
292
362
529
544
269
635
708
718
504
234
498
669
249
225
904
283
380
980
257
222
976
23
553
51
339
733
475
972
879
666
670
245
123
483
231
885
136
114
982
237
332
508
764
813
880
632
923
693
633
793
430
222
401
767
462
282
519
869
109
225
105
808
401
58
633
767
361
709
518
177
356
921
935
689
203
586
898
119
817
690
486
722
158
626
937
569
976
927
639
98
275
569
238
767
5
922
816
847
637
456
91
276
186
600
766
405
470
754
637
443
797
24
332
125
254
227
905
279
554
568
789
893
969
191
654
436
434
77
843
515
146
76
352
49
352
748
222
159
102
118
648
847
754
165
810
502
362
504
966
382
744
757
193
629
97
14
881
943
841
867
128
228
304
644
834
37
972
736
667
733
214
120
798
558
30
929
22
876
710
356
400
179
545
819
148
948
21
676
437
629
382
907
891
374
430
82
612
381
564
463
901
724
858
232
424
401
838
484
605
655
52
261
486
7
140
220
861
570
38
495
779
302
344
332
20
109
404
67
10
373
646
281
210
890
183
750
209
360
191
827
630
570
124
507
364
168
652
916
868
840
57
107
799
707
981
26
931
606
965
782
44
19
960
282
231
499
668
305
116
214
788
327
882
106
390
819
346
435
131
835
356
605
77
402
225
956
305
796
309
198
190
528
42
633
461
188
726
352
851
208
508
141
487
447
844
962
945
927
827
66
26
941
586
310
487
688
540
348
653
168
598
872
603
153
383
929
832
339
26
714
400
567
403
871
563
438
23
618
501
621
693
24
369
529
299
357
873
162
323
645
593
397
345
21
632
778
595
802
73
565
755
586
837
843
94
353
423
246
733
538
849
835
476
846
119
887
301
13
968
864
840
153
201
989
525
712
680
119
67
20
62
231
959
76
7
773
269
502
379
166
8
878
615
455
349
777
80
386
344
367
190
40
154
404
801
47
13
930
979
982
875
502
566
19
947
867
495
971
531
245
746
699
865
609
687
846
828
505
588
746
210
646
853
751
321
718
220
741
462
293
448
454
578
501
907
69
367
848
239
193
151
275
271
843
858
640
830
983
57
746
151
813
217
614
784
808
155
475
98
955
988
29
606
533
89
542
510
36
600
521
874
513
215
53
601
536
711
942
272
31
794
114
201
745
700
565
557
694
430
392
290
941
446
701
537
2
817
852
948
411
93
885
120
624
652
467
486
611
14
654
614
771
434
187
608
862
73
533
630
976
567
167
826
953
738
270
509
378
636
897
43
206
229
85
113
620
287
829
128
218
992
43
909
459
668
399
925
193
546
441
405
591
848
138
192
440
494
49
154
741
19
413
904
738
239
946
849
638
41
639
58
637
907
734
263
508
90
448
614
870
300
154
252
610
967
427
246
741
388
278
964
476
615
210
915
914
330
456
486
694
362
442
118
594
127
423
458
77
705
405
391
908
965
631
148
64
312
64
673
418
761
672
827
961
256
204
890
234
920
903
472
296
870
36
599
389
156
599
257
681
58
799
400
443
653
427
149
538
518
540
649
185
684
817
444
660
936
98
228
135
479
375
37
263
162
825
807
786
50
75
493
55
545
408
293
992
34
231
946
261
671
39
287
149
571
88
812
926
591
287
150
308
497
367
210
928
209
53
385
710
908
740
431
290
43
355
631
140
9
229
649
266
620
32
87
496
45
69
67
716
481
516
50
944
7
824
418
185
710
598
571
282
168
334
510
624
605
865
115
374
304
130
347
115
671
631
250
267
617
906
271
525
465
662
893
153
810
401
193
21
560
167
179
589
162
322
312
359
983
197
34
771
370
694
413
967
706
572
278
285
448
200
321
76
987
253
728
134
383
203
571
733
450
319
441
589
688
911
85
457
243
845
383
542
6
168
328
360
355
804
824
619
763
322
923
890
914
780
251
248
609
250
239
754
347
584
765
626
813
455
486
912
842
799
663
580
402
762
681
557
142
890
388
516
822
51
892
633
919
746
215
235
174
166
220
387
214
666
187
278
334
457
666
122
826
547
935
149
580
473
749
464
657
537
651
451
532
857
549
937
821
288
715
538
115
537
511
761
862
220
527
95
826
828
178
385
11
523
434
681
318
617
200
68
583
812
183
553
93
858
678
655
771
486
193
248
686
992
358
836
273
60
316
880
916
826
903
209
733
123
953
788
345
581
534
117
118
668
11
605
19
651
796
888
543
52
253
66
614
767
789
250
688
593
412
377
413
733
258
125
482
732
726
692
613
881
253
233
891
515
780
1000
586
779
842
80
452
499
346
619
386
72
342
500
761
746
500
390
432
115
383
963
509
374
117
320
289
67
167
971
195
579
333
676
748
794
601
125
457
70
935
414
284
577
974
422
208
14
630
290
785
393
300
244
807
530
308
28
906
33
761
969
555
687
389
864
147
526
3
456
53
490
604
145
113
344
799
670
744
161
767
389
176
489
663
68
835
250
665
402
333
104
410
827
946
246
252
709
405
922
417
649
606
723
429
328
523
235
83
636
166
470
971
499
838
300
293
49
480
679
371
901
214
563
836
744
880
263
992
133
507
3
612
501
804
740
850
925
663
628
872
738
945
846
703
402
49
389
70
179
129
459
371
105
586
628
772
955
210
806
961
381
893
973
70
398
936
978
123
232
545
650
110
143
78
789
402
228
140
734
905
504
614
276
299
721
839
241
511
296
854
142
114
756
512
767
948
74
173
223
177
443
465
749
249
677
713
257
934
473
674
666
33
640
277
668
513
87
123
870
811
940
836
635
133
275
971
159
369
925
374
145
306
968
548
916
619
434
504
242
321
212
736
962
801
492
459
648
707
410
248
755
332
118
781
370
838
651
384
846
57
965
9
36
80
193
682
321
918
232
634
211
246
10
917
622
995
663
4
463
372
350
273
85
171
532
712
673
374
970
494
200
64
965
504
781
615
563
780
870
721
239
594
686
642
636
88
307
68
329
839
443
229
923
999
401
441
529
295
642
158
739
861
377
627
917
444
403
911
925
741
164
457
235
414
229
821
686
465
602
741
590
945
116
588
243
256
768
324
991
901
78
661
367
82
371
263
369
231
936
835
881
115
100
306
220
188
304
345
734
448
359
165
869
638
918
232
463
982
140
435
829
297
369
608
374
723
451
848
333
305
655
332
733
257
555
457
891
757
209
386
463
517
193
24
576
592
978
698
357
749
816
109
113
27
402
761
8
23
64
55
957
406
296
268
899
472
703
617
608
995
953
974
494
52
807
605
984
745
382
241
454
254
936
704
701
351
704
193
438
755
785
186
949
861
370
650
94
463
825
269
469
806
414
470
411
638
422
201
751
583
672
746
447
784
55
139
100
444
890
599
285
236
40
287
473
884
339
201
564
303
418
916
225
849
699
11
954
249
533
918
306
126
445
503
417
555
536
649
355
589
713
974
281
702
320
477
284
398
172
182
862
232
342
669
46
733
718
888
152
823
242
643
729
579
820
361
476
722
905
580
419
72
903
159
507
340
79
353
643
905
507
83
277
12
941
336
633
323
481
689
901
974
684
121
43
685
611
728
77
216
935
46
132
895
905
734
715
634
505
722
596
38
80
673
333
202
464
85
860
928
728
451
875
897
889
696
392
904
774
611
328
39
355
483
551
780
802
249
492
882
657
387
89
673
260
283
651
180
436
837
945
783
191
792
349
546
12
138
100
727
611
348
337
959
206
919
692
289
877
615
142
195
788
585
521
625
948
745
323
79
934
136
700
735
894
869
335
672
955
490
527
832
460
211
359
172
937
169
617
841
467
664
193
943
487
64
569
693
938
77
513
639
807
274
495
789
983
42
239
169
142
998
585
12
241
68
519
520
899
572
248
620
863
679
145
520
214
482
330
266
888
876
805
864
158
724
764
963
674
570
55
246
936
399
725
174
654
596
561
656
305
979
784
156
516
126
791
835
457
302
934
495
617
85
84
368
721
684
465
280
670
105
869
49
974
561
999
843
754
977
448
738
481
48
855
868
472
789
723
328
981
656
229
774
588
397
300
279
992
751
223
261
365
379
635
16
655
660
741
615
116
235
47
541
266
451
987
762
790
442
110
813
542
506
379
837
878
739
57
965
890
417
134
798
866
197
392
63
830
814
977
362
490
101
72
376
787
708
418
346
44
420
411
947
533
283
87
84
345
762
39
351
263
373
482
12
518
36
42
845
95
299
217
971
619
700
820
246
558
661
327
363
430
792
515
350
990
492
385
481
922
672
262
333
46
456
124
25
651
209
23
174
853
9
624
404
431
570
720
615
288
372
8
128
977
38
770
607
869
196
91
537
503
493
979
558
316
681
540
400
509
817
732
589
820
991
518
210
127
461
97
584
246
912
91
872
407
425
852
45
693
199
468
951
795
675
418
501
719
198
267
887
9
86
201
594
954
807
460
899
456
108
343
766
716
675
613
653
604
353
873
580
830
320
640
526
269
433
257
20
298
299
92
139
918
105
515
289
814
136
222
834
221
365
84
874
61
154
103
451
625
736
706
780
226
489
867
212
207
304
364
420
111
480
294
198
961
146
492
300
85
942
468
367
440
378
865
515
427
829
619
877
638
399
881
105
747
208
464
952
974
53
809
399
102
710
235
42
279
751
573
535
991
89
113
586
241
248
413
758
619
681
935
519
44
317
51
624
852
458
309
96
810
801
256
158
58
639
455
676
281
21
810
323
743
6
666
1000
614
448
929
624
539
436
463
336
872
340
751
776
278
24
890
72
723
836
73
157
954
314
163
600
781
744
701
867
393
306
558
476
160
987
281
974
241
548
121
689
159
948
472
992
490
405
61
326
45
658
574
917
770
119
417
256
443
106
794
549
96
877
705
538
738
565
622
4
152
551
66
946
5
398
683
607
946
447
753
992
700
759
262
251
511
367
452
588
327
913
444
738
296
174
143
803
23
42
463
251
239
996
472
901
741
629
773
739
717
707
910
824
737
70
467
624
129
877
403
97
440
514
240
381
201
454
378
589
494
309
726
147
298
583
873
681
406
906
410
905
990
425
820
840
600
271
334
778
721
245
570
183
910
933
533
296
53
913
54
532
295
323
260
4
290
135
362
788
709
582
908
564
478
60
217
361
626
496
562
982
202
545
533
176
398
364
628
273
877
398
920
884
289
991
108
870
141
993
134
620
925
879
87
43
758
315
616
919
705
466
189
421
85
584
864
389
263
914
357
909
522
921
405
937
888
259
781
181
751
145
206
468
270
218
257
223
186
579
489
802
546
960
827
716
299
161
335
404
343
378
266
104
524
102
713
990
773
651
301
713
444
99
858
608
281
427
819
886
562
677
311
906
133
180
959
145
60
243
284
154
456
484
360
586
589
389
93
619
642
953
308
60
428
826
732
68
954
565
621
387
290
602
262
679
532
549
885
670
178
78
407
178
136
434
179
645
258
517
571
531
103
218
840
575
169
416
632
455
563
796
662
527
408
355
271
504
849
697
706
249
841
328
455
752
84
694
919
306
29
462
604
366
156
719
890
767
444
164
214
109
281
401
970
343
572
993
968
112
41
108
512
694
134
932
723
161
320
929
362
660
371
504
751
869
206
544
210
939
424
904
615
278
403
615
723
854
548
627
744
973
459
428
611
149
834
255
200
174
435
971
869
992
669
786
968
447
513
930
386
880
691
921
494
275
206
364
442
762
393
481
709
135
446
304
523
499
337
867
348
718
22
371
169
139
305
400
168
938
328
784
328
355
75
535
714
360
500
947
441
863
334
915
85
447
769
545
963
566
176
532
740
506
244
931
856
525
710
28
375
630
373
806
825
746
633
706
996
449
963
794
883
684
905
781
299
422
205
983
66
434
9
250
944
366
747
978
630
25
79
311
650
352
262
541
664
394
758
106
567
761
512
395
280
685
778
640
632
946
867
999
201
556
943
973
856
621
222
108
996
697
430
373
776
267
59
701
835
697
302
399
635
794
99
367
104
57
340
618
668
858
972
36
900
78
670
70
72
178
304
68
15
487
29
168
362
823
425
304
965
983
428
563
111
794
268
153
812
749
660
176
271
326
914
530
985
92
863
450
524
419
899
220
54
675
355
798
85
823
263
667
299
405
186
725
866
708
599
620
119
804
405
928
628
398
884
523
776
936
108
864
995
535
467
534
106
179
981
214
624
11
568
809
391
471
70
127
174
420
104
63
840
847
76
717
947
50
169
141
457
666
334
613
386
977
627
785
389
774
12
764
969
60
137
144
757
722
423
740
93
851
295
349
480
317
217
774
629
22
969
824
478
50
566
418
260
887
815
821
916
668
367
615
585
37
552
346
862
936
142
989
848
275
196
377
611
632
83
305
326
309
919
259
298
676
978
817
385
851
847
94
392
797
782
216
981
947
715
324
976
90
419
617
144
925
262
800
480
386
310
473
357
469
138
194
1000
708
205
707
429
848
62
446
339
629
264
60
362
722
910
806
912
621
539
612
102
251
277
98
308
803
673
115
38
78
766
703
384
744
104
991
465
200
543
871
371
659
108
397
397
435
501
755
335
799
986
158
202
921
380
124
553
244
950
237
519
913
934
493
719
537
612
369
132
455
247
701
586
677
568
786
140
403
72
897
877
616
557
91
764
661
756
32
289
860
624
872
495
534
239
641
749
526
224
940
703
367
497
526
867
340
756
352
63
994
487
456
146
575
665
399
705
870
706
254
818
176
986
846
896
386
429
277
916
479
641
558
936
822
99
143
959
637
110
460
929
974
154
608
270
786
372
619
397
711
92
915
973
609
918
232
635
377
682
253
729
4
127
597
809
599
525
777
36
547
134
996
687
48
967
353
132
729
155
624
868
549
142
17
393
588
87
516
458
134
352
353
295
843
946
703
701
966
305
997
196
750
229
312
127
500
667
815
86
730
325
894
930
654
8
402
755
124
623
938
79
933
517
323
84
97
607
124
395
450
511
512
51
281
647
358
291
95
288
531
925
864
360
536
187
512
206
174
416
979
476
913
951
644
124
879
278
35
131
345
124
163
582
713
953
599
275
184
214
216
64
422
640
784
813
422
503
576
533
141
837
421
19
417
917
978
136
428
867
998
767
532
242
597
582
697
376
56
557
808
704
777
339
919
717
829
890
259
955
838
781
163
502
322
857
298
243
358
853
218
732
156
332
957
717
221
590
271
732
592
458
949
364
660
445
285
57
271
467
435
214
683
985
543
873
904
185
308
851
661
126
317
961
594
754
82
341
309
533
720
574
370
312
382
900
924
773
139
212
990
331
691
55
510
910
140
958
874
945
589
881
540
821
567
151
871
420
651
358
523
167
18
152
736
122
365
611
185
564
696
74
635
31
59
718
464
634
526
207
802
279
652
496
727
434
156
879
862
995
44
832
831
237
788
661
17
519
791
42
112
366
802
962
106
445
914
759
203
694
589
769
481
14
150
259
614
818
730
521
222
79
743
653
847
165
492
203
166
966
218
527
734
345
977
317
24
912
394
638
216
800
908
123
923
568
299
466
488
22
828
252
30
341
383
498
602
732
963
798
200
256
298
216
557
530
606
657
723
618
471
765
471
952
405
712
397
219
859
420
890
633
646
646
552
198
324
961
850
784
727
571
53
546
801
900
653
996
766
655
773
857
257
946
176
333
33
921
397
177
112
298
166
453
524
912
548
422
818
648
835
748
209
162
660
171
378
820
189
2
768
443
824
9
463
42
244
14
56
296
503
750
371
480
127
865
139
893
583
459
680
627
612
996
537
11
227
231
995
16
758
781
898
925
519
285
145
127
803
569
634
870
87
372
363
375
102
112
650
218
688
263
715
647
515
366
75
379
966
260
664
775
987
325
330
501
298
730
578
478
361
297
964
508
660
572
74
967
541
452
527
857
651
172
671
293
22
831
182
932
245
383
388
197
562
14
576
719
760
652
515
599
904
665
26
40
607
92
56
771
937
474
384
101
940
502
764
224
435
605
950
90
259
67
969
388
462
548
691
324
288
873
747
762
114
524
592
651
536
261
715
729
387
542
326
283
504
348
861
542
574
314
845
476
632
603
320
79
236
977
842
893
218
907
243
626
676
473
722
834
68
258
827
229
852
89
939
432
177
932
174
868
808
774
629
520
86
775
33
225
496
233
185
430
11
882
814
696
589
648
24
805
927
367
433
999
511
327
792
947
878
561
904
254
539
832
772
61
94
482
218
788
462
457
677
887
657
528
674
803
460
456
400
377
114
861
536
360
396
421
420
422
116
464
807
807
996
111
473
35
663
351
683
836
278
69
571
802
495
17
317
926
845
27
397
720
651
116
67
505
763
127
722
957
928
118
807
879
754
592
219
114
181
751
157
866
673
480
51
866
698
15
713
763
509
896
984
571
560
334
355
631
236
197
477
746
175
184
487
416
752
82
431
623
728
577
648
771
347
614
258
964
448
846
419
874
497
666
528
643
439
690
890
26
737
551
268
764
205
105
470
451
855
249
439
707
250
484
938
113
453
945
434
27
958
736
45
969
960
127
706
456
934
840
500
237
116
619
333
569
244
638
803
54
177
136
315
203
281
952
767
797
414
233
573
658
203
484
977
329
789
22
442
40
724
727
827
350
845
547
49
998
14
63
990
497
624
595
641
179
5
716
589
701
674
23
803
965
940
353
207
728
766
730
107
586
680
971
548
830
262
514
540
226
325
254
950
457
929
439
761
87
387
264
863
494
748
17
628
423
39
842
847
609
443
922
249
242
687
535
713
484
176
218
429
784
982
241
663
424
882
466
183
631
452
785
981
410
271
520
745
288
88
80
798
27
106
40
106
958
237
212
696
16
485
607
134
957
625
811
293
743
484
329
952
616
345
356
332
35
205
593
201
269
574
822
517
8
14
948
328
301
568
896
996
371
864
712
255
498
871
275
68
832
455
929
60
102
659
331
719
513
309
602
404
712
643
534
177
99
385
913
258
78
4
251
619
956
124
6
278
136
349
661
455
882
768
84
494
325
18
429
974
185
487
374
649
130
64
586
758
748
566
550
754
908
782
312
842
856
469
546
109
957
955
693
282
754
110
607
340
806
126
513
141
633
899
515
661
476
747
778
937
202
290
290
6
21
554
964
130
708
419
9
332
900
554
380
485
431
406
517
386
480
73
569
239
171
884
397
600
974
687
720
586
620
17
132
762
409
167
890
403
196
675
953
522
328
216
673
176
812
743
462
325
939
311
833
221
442
902
155
291
955
305
728
152
48
675
925
158
439
711
606
137
469
866
109
25
82
186
92
558
569
376
23
366
820
963
556
296
784
568
831
197
214
466
713
962
967
787
175
267
145
270
876
151
302
576
860
566
612
280
690
358
65
833
28
565
185
847
835
38
413
119
992
720
545
401
628
680
627
797
988
443
897
994
613
504
82
419
327
131
431
307
593
46
756
131
342
634
770
823
803
62
686
206
551
33
475
35
853
655
481
954
691
739
599
493
589
472
496
980
632
116
832
504
588
630
333
554
89
759
861
609
40
105
781
794
539
726
331
483
968
581
398
740
332
712
87
154
758
816
613
802
102
814
903
249
186
832
240
981
425
429
826
525
737
790
858
413
583
993
229
652
281
622
660
869
662
190
323
886
194
710
710
832
678
538
663
121
237
161
326
949
234
772
556
542
953
415
469
630
525
344
107
147
930
1000
784
603
552
103
100
191
655
643
253
13
657
472
398
743
714
848
558
842
605
697
498
684
126
163
546
894
182
851
52
100
5
481
413
922
715
527
676
65
285
832
135
258
540
441
268
67
247
40
450
961
577
774
829
349
846
792
395
339
795
356
653
749
344
60
333
427
654
859
5
326
539
131
885
984
464
31
825
153
163
91
348
916
671
669
6
703
644
51
396
539
263
660
828
404
478
297
646
871
533
713
380
344
521
253
454
267
352
106
134
947
779
692
853
120
377
59
368
316
127
618
303
823
118
560
593
729
967
389
985
449
151
14
349
999
292
399
349
649
613
856
545
595
111
624
974
752
102
874
481
146
236
375
557
191
998
272
724
891
175
974
264
142
34
607
896
852
317
547
454
994
865
382
421
19
638
290
160
444
610
599
37
344
710
688
181
938
915
711
839
859
560
460
512
558
321
33
969
141
47
66
543
257
381
74
508
271
622
315
275
929
289
433
806
446
411
754
903
187
283
770
241
961
224
671
868
781
134
214
110
176
87
776
598
170
501
817
420
844
319
685
795
637
205
770
387
534
544
399
225
761
149
446
999
747
883
237
847
944
662
545
140
380
282
511
503
485
642
165
599
651
47
566
960
976
987
908
803
615
342
411
225
243
44
407
77
816
90
101
338
382
67
414
149
103
438
234
389
481
743
725
747
297
663
62
784
933
910
407
887
46
401
845
465
572
238
990
892
918
101
861
414
325
39
8
319
960
704
139
492
576
126
462
804
533
165
974
107
341
476
315
939
563
483
288
513
564
785
974
603
697
849
644
62
398
94
146
702
107
301
471
845
937
715
225
394
325
231
927
728
442
76
997
8
993
81
112
632
848
41
777
232
117
834
836
132
244
321
655
186
109
57
283
713
894
460
423
287
689
393
179
702
14
259
104
92
500
827
453
350
983
742
920
463
705
651
93
454
98
827
706
813
290
184
254
648
78
487
303
994
567
676
336
761
123
3
142
929
112
633
688
15
350
617
434
791
874
469
688
118
448
567
25
711
809
900
904
406
972
88
33
308
851
327
893
108
709
58
328
744
626
148
446
175
225
5
807
981
700
289
813
550
893
26
437
567
607
374
951
867
963
655
149
41
930
336
263
265
751
744
325
113
330
891
633
151
222
375
81
234
720
800
296
678
383
108
573
317
86
675
735
947
851
321
577
734
936
123
366
795
71
434
390
276
119
107
668
922
324
45
323
188
135
99
707
50
51
297
53
486
676
345
748
728
20
334
124
87
599
526
625
26
408
535
727
782
303
421
352
720
747
875
897
262
911
759
385
969
873
168
615
717
563
352
571
998
828
86
370
878
890
828
460
794
483
177
382
552
845
740
761
732
77
838
866
711
278
636
538
524
290
851
12
289
775
393
70
983
811
170
96
282
63
893
475
112
38
314
530
927
693
12
600
176
520
102
654
699
788
294
945
910
759
608
885
389
610
558
659
933
951
939
796
793
189
274
972
486
482
449
582
444
820
781
201
806
32
474
124
874
742
46
137
640
691
346
17
12
186
878
507
930
509
418
763
188
14
655
367
825
488
385
98
540
107
655
312
730
113
632
697
900
244
973
490
759
276
730
100
332
449
752
383
57
133
7
83
519
732
210
932
121
390
854
207
443
196
789
769
65
887
158
66
790
711
58
54
858
265
105
829
115
856
881
778
291
280
851
235
812
844
733
422
981
275
441
324
52
476
200
584
929
242
400
793
782
596
958
508
670
608
275
166
173
572
196
176
145
344
87
618
764
360
924
658
590
655
178
233
68
600
203
339
26
30
31
525
125
378
661
476
147
312
903
693
379
998
934
588
777
65
182
524
485
346
906
844
610
798
913
653
666
634
339
24
200
595
255
944
966
207
780
548
925
949
781
430
235
423
211
921
955
997
463
278
464
178
212
600
967
740
432
798
248
748
544
906
998
352
646
583
207
835
632
79
814
690
945
516
496
194
906
638
552
842
175
575
968
595
957
220
90
820
588
843
561
411
424
159
579
875
342
75
303
967
665
189
209
338
768
572
536
194
621
113
318
863
795
546
536
839
196
866
973
251
299
583
955
714
887
503
448
953
236
84
872
32
833
415
747
281
596
843
843
933
862
148
670
523
738
655
713
934
28
879
65
402
524
137
454
925
717
434
79
610
550
731
535
587
512
887
352
427
450
650
947
174
348
189
921
894
923
258
162
552
505
803
450
36
122
81
416
669
360
971
442
937
423
2
567
825
967
793
611
457
567
172
910
104
919
459
666
296
4
361
390
975
490
124
628
342
510
615
969
830
792
872
537
83
498
825
576
380
608
433
652
654
977
973
831
246
675
352
181
73
520
626
469
516
436
195
117
185
40
898
392
203
814
59
13
718
189
246
686
310
13
416
38
464
58
442
211
160
900
627
920
360
942
777
120
621
48
992
235
890
215
956
781
926
92
94
365
639
380
948
630
315
142
60
107
28
849
195
485
64
39
439
796
969
617
656
568
229
53
515
403
39
850
662
903
505
572
67
999
461
926
360
363
817
570
134
494
804
384
585
736
409
685
905
212
428
822
446
201
7
865
176
663
745
242
249
664
717
517
192
123
928
473
737
634
70
866
717
649
833
627
932
844
559
261
310
581
332
317
686
105
191
5
202
71
324
288
762
106
661
116
536
646
32
320
277
479
418
884
474
343
441
733
300
219
750
896
634
846
973
170
806
314
719
543
493
178
51
52
451
78
531
746
577
988
517
774
223
113
53
103
257
850
434
294
905
724
909
14
359
363
279
308
661
164
581
442
406
637
260
866
873
134
258
92
131
266
905
372
570
163
920
588
23
709
104
344
163
295
508
1000
60
738
482
816
85
17
292
14
283
458
965
741
362
264
377
762
207
693
652
150
332
387
540
724
751
185
469
203
343
248
910
9
297
247
238
539
913
623
410
112
364
612
227
952
480
656
991
675
341
10
371
737
724
472
47
152
265
992
196
328
404
904
539
210
109
197
729
425
997
342
827
687
14
696
952
711
233
699
872
389
555
448
975
961
376
930
581
740
230
388
659
581
405
996
715
80
93
348
900
496
85
528
875
3
732
374
796
739
65
305
733
836
806
278
419
172
469
965
602
194
319
415
611
611
118
916
141
740
283
957
458
11
602
762
769
43
628
626
240
755
650
70
851
593
405
5
633
725
79
301
967
409
599
841
326
946
902
304
609
213
915
452
389
649
269
104
305
327
701
563
857
880
804
342
512
165
222
423
380
385
911
26
971
81
64
247
254
733
909
224
556
95
227
787
451
588
363
251
151
489
458
455
744
896
636
836
15
798
184
17
511
954
101
2
396
151
401
806
153
226
959
831
224
679
712
228
618
704
654
606
197
582
337
187
212
260
579
604
624
801
899
100
977
233
484
695
970
895
515
787
769
501
461
332
713
555
253
518
993
252
993
689
617
289
892
151
345
432
160
609
926
264
10
670
743
99
655
899
682
814
213
829
379
628
864
907
942
877
370
736
480
979
268
325
542
758
346
407
530
286
310
493
430
952
146
886
74
24
981
234
279
36
366
498
483
964
737
388
594
145
597
668
611
12
147
970
260
393
137
45
714
647
914
953
382
962
662
629
147
721
294
705
974
548
176
696
958
492
691
425
112
252
820
603
179
211
310
145
649
485
764
42
520
790
156
458
36
901
462
35
916
402
107
653
700
292
328
513
328
204
634
453
358
909
816
836
31
916
645
938
895
145
126
45
232
132
157
94
457
415
128
667
679
476
478
789
760
711
198
625
203
881
972
863
391
246
4
1000
125
153
107
573
388
33
226
877
228
894
277
98
176
867
727
466
788
857
688
746
747
632
272
598
565
280
740
202
934
615
123
601
368
583
943
382
249
717
646
17
922
720
418
623
381
799
945
245
843
979
345
386
552
216
260
506
822
522
49
7
369
884
827
100
344
407
227
561
838
462
48
353
104
110
720
670
628
709
749
423
783
160
121
785
548
225
276
897
566
959
907
247
194
596
872
429
317
291
445
67
533
254
295
135
445
720
279
948
590
940
498
442
157
169
899
752
740
269
439
304
472
635
688
560
416
784
737
517
373
79
922
425
383
469
214
200
194
273
123
41
142
402
566
449
672
98
683
711
724
197
974
367
478
523
132
555
597
379
949
820
572
766
218
556
248
697
288
257
183
17
63
365
674
676
399
275
885
436
550
149
58
927
195
673
159
861
983
474
507
21
4
888
727
864
217
771
519
31
149
569
585
540
703
340
729
696
55
308
155
822
77
359
76
132
572
857
105
867
255
808
83
529
781
629
649
73
103
489
585
888
182
186
426
476
957
747
436
745
626
901
57
160
635
708
113
310
27
245
52
312
551
601
163
375
942
599
308
832
60
322
899
455
32
521
533
665
794
393
952
639
130
150
61
442
947
52
813
471
415
464
744
798
935
557
857
652
531
574
698
394
905
367
450
886
234
925
905
593
242
630
19
250
987
628
869
568
311
757
796
120
957
95
481
33
88
261
604
103
970
546
591
89
620
508
652
187
20
241
904
85
644
240
310
668
213
885
17
20
29
408
999
316
146
133
310
721
487
913
827
385
191
745
511
255
159
371
625
94
242
594
648
151
653
3
115
169
59
242
130
150
154
865
463
912
707
431
856
414
435
352
145
594
229
866
674
536
582
206
188
105
463
410
351
661
202
251
767
273
829
408
167
601
145
795
821
256
873
283
745
19
689
907
526
172
682
258
776
674
137
327
283
601
701
612
992
816
135
285
9
412
358
663
813
864
856
60
749
214
513
391
291
135
220
912
757
635
955
813
747
812
694
531
307
846
74
80
6
107
545
496
100
695
90
422
897
522
402
438
136
676
96
873
330
496
246
322
726
129
645
726
203
235
72
113
301
618
132
124
807
844
243
662
277
463
482
694
197
437
675
849
359
608
799
587
986
870
588
527
241
213
912
23
744
191
171
304
74
935
660
182
366
892
281
409
546
567
824
822
283
838
518
547
26
488
877
12
852
316
33
70
43
747
790
238
994
374
817
672
839
704
976
622
894
766
143
851
409
788
40
950
246
635
399
108
934
499
337
781
144
662
835
643
568
69
872
967
337
837
124
832
236
495
267
586
837
287
721
521
500
123
418
240
724
997
574
628
69
943
896
794
177
20
805
514
406
9
686
889
592
742
648
688
382
998
643
902
491
444
425
310
591
130
35
13
140
664
25
474
72
336
364
929
396
363
305
699
148
137
576
359
153
285
455
104
557
116
259
789
678
899
966
796
461
293
412
973
405
614
515
753
377
159
433
846
996
351
600
391
965
340
368
69
959
292
782
301
397
519
753
494
324
750
220
478
297
607
999
259
618
682
761
869
70
439
103
273
940
393
993
747
54
413
519
136
993
197
968
838
612
569
897
705
196
859
974
881
241
328
19
381
385
872
956
321
108
616
438
46
330
514
415
398
392
709
143
590
686
673
230
204
784
351
367
167
935
724
482
336
225
260
21
513
658
340
568
427
862
845
413
231
283
901
252
700
894
956
906
373
552
988
877
575
691
421
423
504
233
734
687
131
744
830
206
3
140
48
206
802
968
320
854
625
796
954
552
567
273
191
797
815
92
353
791
343
998
596
761
477
340
731
809
302
217
844
705
742
811
306
745
52
576
619
460
198
106
333
163
283
176
943
699
231
314
75
647
722
3
46
34
6
816
444
575
48
815
989
714
107
278
560
162
509
28
256
812
851
597
650
985
741
757
156
392
363
72
321
534
903
917
183
853
891
714
568
185
629
382
713
456
787
408
855
136
460
795
706
992
861
2
661
832
626
11
706
663
607
303
155
874
511
545
102
985
442
337
655
477
235
217
457
698
278
111
914
448
304
32
75
313
856
107
778
253
371
258
63
957
671
699
973
441
905
207
12
666
791
219
980
516
39
572
436
919
479
779
377
99
105
732
402
896
87
229
723
20
98
323
526
688
899
231
54
163
582
673
313
747
901
984
693
27
737
409
777
957
33
373
158
21
439
409
387
193
138
564
159
311
617
90
910
422
988
95
235
806
395
313
585
90
862
909
290
902
493
323
622
686
75
800
679
440
982
877
117
833
518
736
526
247
58
423
921
867
724
314
998
786
787
868
607
692
519
137
738
78
280
846
847
371
522
588
523
593
459
479
332
631
925
635
397
85
248
367
853
533
464
933
51
10
880
586
743
830
115
120
942
97
832
387
867
190
763
594
896
994
586
63
16
276
196
892
680
428
576
115
649
531
789
186
261
737
665
275
560
980
632
635
92
686
88
152
332
536
74
353
951
541
658
899
633
440
373
300
41
524
239
440
634
834
592
387
750
961
795
197
724
795
661
45
572
210
728
157
792
944
241
448
959
144
85
304
326
526
277
874
275
862
926
802
414
583
879
275
654
345
523
344
417
963
578
575
7
826
425
330
668
324
419
882
444
826
825
189
25
273
94
792
763
29
303
717
387
711
245
16
61
678
942
785
178
178
787
688
436
996
844
625
609
430
996
983
938
797
608
816
297
446
238
897
694
631
623
162
943
250
919
754
317
753
925
575
438
800
597
747
742
628
109
49
524
346
11
23
108
286
555
389
909
783
840
399
462
71
106
342
958
411
171
703
191
185
749
984
156
110
876
812
658
62
701
978
894
432
943
54
75
870
856
953
273
8
451
702
720
284
37
800
959
319
152
511
785
963
362
76
336
43
689
777
670
604
743
63
456
368
405
615
503
776
79
721
608
882
796
756
473
361
67
555
156
328
660
834
549
128
850
212
69
922
44
282
521
334
241
895
69
575
913
118
175
172
781
676
624
681
525
585
852
10
468
315
724
222
394
895
684
272
500
546
23
151
6
782
836
301
354
24
347
492
502
615
847
452
16
109
851
137
136
872
439
268
662
665
916
928
371
930
321
559
507
330
92
968
954
305
931
944
409
206
689
463
982
153
133
774
269
556
185
643
685
372
408
133
323
212
270
726
504
700
263
286
749
548
475
326
763
383
86
580
316
990
957
491
338
197
670
112
127
144
277
786
614
883
293
796
118
508
647
466
183
520
37
90
908
464
989
453
345
165
927
518
810
826
665
107
270
404
321
648
585
674
71
506
151
462
72
94
771
782
197
908
55
859
432
167
382
754
785
201
78
588
437
857
49
723
154
663
7
355
921
889
250
706
511
819
783
987
612
151
128
731
967
177
310
222
777
902
18
839
466
956
413
769
223
242
259
256
588
90
270
6
988
293
361
550
285
293
409
846
132
625
819
747
547
730
426
873
512
954
646
461
405
173
14
453
904
376
728
10
884
446
210
195
793
883
451
702
120
30
57
252
278
479
884
985
235
126
529
12
658
153
617
58
333
462
203
625
533
228
834
833
820
142
856
440
651
870
929
51
223
683
429
604
136
948
471
518
794
908
571
532
31
767
370
962
505
473
964
726
498
391
752
721
440
766
218
32
388
944
458
578
326
12
124
992
261
210
746
372
969
637
496
879
87
571
592
311
884
697
156
417
625
653
312
863
55
231
314
43
501
611
1000
103
36
38
58
988
56
585
57
910
445
827
42
136
581
277
635
299
230
890
942
72
988
704
610
478
650
202
376
282
828
263
23
716
482
240
385
872
386
363
746
727
334
484
126
778
487
190
174
250
663
347
801
647
5
907
164
932
825
714
468
953
7
710
528
179
859
962
131
511
471
637
753
103
686
641
375
822
646
578
532
619
585
71
662
821
579
194
777
586
638
167
276
837
784
987
914
478
376
205
643
285
490
986
98
914
684
596
121
226
623
573
387
63
239
373
14
547
181
880
569
787
512
193
761
374
774
624
848
234
649
794
344
264
183
853
82
246
227
21
122
101
99
959
84
974
923
306
20
821
995
81
710
611
837
831
590
589
836
137
338
384
594
432
330
373
297
652
52
15
404
198
826
248
416
128
237
901
265
207
267
967
613
654
212
471
135
966
676
278
425
561
735
363
637
519
606
93
480
940
387
346
694
248
329
568
865
709
736
163
699
804
420
857
439
765
745
860
634
258
845
966
840
857
248
222
412
210
811
264
24
967
917
294
35
320
633
873
644
994
808
958
215
657
173
25
11
954
486
962
645
272
998
668
854
126
569
121
149
106
586
687
907
35
990
646
314
226
95
597
778
157
133
329
480
194
590
816
1000
372
159
848
332
230
664
865
143
647
991
517
306
250
29
356
869
162
42
130
226
952
640
831
420
193
193
634
63
782
787
902
986
252
675
928
160
748
541
651
808
585
34
851
935
750
187
363
509
460
207
694
910
327
245
156
337
887
22
840
116
620
998
376
124
299
691
775
214
248
793
971
747
625
337
80
116
358
823
745
481
725
192
732
729
831
123
706
320
718
434
638
684
92
985
292
749
61
140
244
463
734
72
330
391
453
196
843
509
868
706
830
918
147
956
750
548
855
711
796
612
971
586
667
529
691
295
754
758
762
569
518
733
879
728
978
510
820
843
260
892
3
278
300
911
544
165
628
959
953
764
848
754
26
754
281
976
419
941
695
867
555
526
228
816
522
943
18
565
26
599
97
957
469
828
962
512
362
666
921
810
832
780
691
790
526
32
557
162
402
418
892
937
748
867
914
440
356
383
118
144
250
308
297
398
542
836
848
532
880
919
613
210
238
83
292
827
502
380
714
809
411
539
944
598
645
967
649
678
608
888
536
594
675
947
644
896
880
174
741
282
675
911
64
319
515
164
18
586
57
764
117
767
177
908
523
711
998
784
190
378
308
40
122
833
260
460
370
928
117
233
851
523
301
808
618
367
925
677
518
370
76
581
348
171
498
642
509
255
198
848
220
770
567
266
496
28
304
677
516
202
468
14
11
281
730
17
421
21
509
572
975
825
639
283
710
701
608
133
841
248
813
741
254
307
474
604
354
899
921
646
495
400
251
149
376
948
267
636
360
53
434
196
579
525
484
618
555
906
709
535
305
219
845
760
804
17
756
661
52
322
912
766
684
963
316
382
760
270
22
853
203
666
142
504
500
969
653
733
640
194
675
312
383
615
401
360
921
727
417
205
57
660
981
716
577
763
678
288
336
467
337
474
758
360
880
239
674
245
871
859
319
802
939
20
660
691
920
498
995
297
988
52
84
774
319
123
310
249
516
645
750
639
666
482
497
27
689
513
712
464
505
718
639
616
783
873
164
749
325
863
845
237
657
677
569
894
945
269
202
837
773
521
877
742
636
450
35
239
622
844
905
282
333
107
160
394
892
262
413
816
918
547
973
614
610
78
776
829
803
277
581
300
133
622
80
228
860
533
874
269
60
797
653
788
554
235
107
731
747
782
675
32
884
467
70
563
215
996
292
671
402
13
496
491
808
965
399
366
949
390
635
322
435
550
134
414
570
688
172
275
660
731
686
64
970
296
170
487
636
364
103
933
557
892
369
481
749
301
467
983
675
558
948
241
916
49
751
659
41
767
120
552
883
382
431
74
403
117
821
250
991
857
858
285
564
76
466
876
459
711
211
51
6
426
246
409
10
476
266
360
986
418
177
501
548
674
482
840
528
402
317
264
51
711
852
771
433
994
956
800
457
417
437
112
950
614
611
87
611
444
222
571
188
606
386
566
103
818
269
670
505
291
845
627
359
37
182
974
88
457
447
706
534
918
469
775
458
624
412
400
185
408
839
922
677
569
538
55
248
966
55
251
14
274
627
511
773
932
409
696
218
129
967
722
698
617
101
197
960
977
280
113
546
535
931
800
607
313
714
992
314
749
72
607
393
237
682
72
476
794
82
954
478
377
730
819
565
758
734
646
325
384
114
745
167
366
879
265
992
766
583
885
594
398
235
510
227
641
941
277
317
787
945
47
201
779
862
854
761
990
273
188
679
225
994
897
790
709
686
195
23
280
293
400
33
671
769
647
641
797
780
724
886
527
118
713
603
155
284
723
702
308
505
780
421
752
657
568
780
427
203
673
192
441
503
639
477
886
702
614
874
951
138
120
168
441
83
97
910
474
422
498
872
762
162
876
763
107
846
560
725
7
891
560
424
522
943
661
233
492
885
338
14
389
945
709
574
43
632
441
554
72
349
657
901
214
140
925
458
273
177
257
73
997
486
272
314
527
334
147
499
351
498
25
381
778
446
807
757
609
259
707
870
641
646
539
409
944
296
36
625
471
296
184
861
998
394
674
183
746
367
504
669
426
228
166
197
726
747
15
825
108
132
91
932
738
226
546
903
859
435
146
899
369
337
463
678
44
879
171
48
83
845
407
567
725
576
220
333
114
819
943
396
947
587
409
58
744
146
261
624
868
515
963
245
337
644
105
973
700
283
174
779
217
980
358
565
213
356
256
297
253
77
596
974
47
679
10
372
479
329
851
316
158
738
753
321
613
266
890
544
858
163
339
633
630
315
633
429
920
299
891
819
58
276
526
434
209
65
95
980
352
633
172
836
450
472
212
129
131
999
743
416
305
634
748
564
498
316
607
821
246
650
588
545
809
718
966
374
853
314
251
388
665
56
856
782
721
92
426
501
621
647
484
712
259
868
144
662
284
523
196
187
463
729
518
169
242
346
219
999
471
282
954
149
584
845
377
758
746
482
793
98
789
162
967
288
460
610
342
581
502
55
427
888
931
441
958
801
108
187
906
177
117
13
919
841
789
755
484
325
461
223
781
693
457
398
200
497
61
528
169
944
472
855
764
42
722
457
341
804
231
533
959
474
725
759
658
376
987
321
719
825
968
646
854
849
783
122
386
537
675
948
810
121
439
667
939
938
61
577
412
263
184
365
650
912
215
390
873
321
120
863
260
791
28
713
876
927
967
429
111
129
182
19
484
974
776
601
85
297
379
514
517
955
983
557
252
33
382
138
474
672
582
907
611
283
994
77
69
153
418
486
63
99
234
972
126
790
93
415
830
813
261
795
450
196
558
229
942
384
20
136
365
238
225
400
391
540
551
231
396
608
669
621
289
639
222
611
375
947
822
306
745
991
829
41
284
289
953
992
518
442
594
403
257
538
76
984
260
159
916
123
131
118
710
495
620
315
355
807
739
434
509
796
990
258
382
166
41
6
146
65
324
724
905
428
288
66
115
568
153
878
199
85
769
399
212
762
984
688
776
762
498
486
960
428
945
889
771
423
863
727
276
938
544
309
132
240
586
211
466
813
409
172
864
348
396
325
118
677
138
466
634
494
273
853
986
201
506
586
792
828
554
292
331
325
856
817
923
275
907
356
349
14
809
880
278
350
46
997
826
509
407
76
187
389
705
286
402
817
427
967
574
614
479
928
580
374
793
236
686
324
782
481
619
311
838
160
279
707
799
657
869
950
797
594
887
808
411
965
137
19
812
303
536
598
161
155
320
284
133
967
149
171
818
701
397
329
891
797
770
912
436
516
508
370
560
245
169
130
874
971
25
437
346
68
506
265
64
263
938
788
277
496
903
352
679
812
855
103
290
873
23
479
184
942
624
982
934
340
412
235
838
298
747
637
144
866
919
315
442
979
31
9
184
945
163
564
612
342
107
694
417
664
308
125
872
766
741
52
695
81
280
306
113
221
305
553
812
567
405
281
894
48
134
524
469
630
139
621
579
354
937
926
507
981
541
765
271
273
291
793
23
875
509
4
764
203
837
140
422
737
217
941
730
615
788
566
144
156
889
600
646
374
187
192
162
801
449
243
990
376
444
861
428
780
183
832
974
766
219
456
895
536
639
766
846
764
80
389
352
598
121
382
737
367
683
209
877
566
207
787
118
342
828
76
950
927
806
370
50
568
514
638
797
301
127
95
499
84
65
549
848
518
490
931
601
367
857
906
314
442
492
801
166
606
515
619
780
172
328
454
398
533
639
144
439
192
365
186
102
24
898
562
317
206
223
249
691
956
795
33
491
311
910
927
619
335
333
614
907
927
463
524
44
172
359
725
902
567
391
49
382
157
156
541
86
939
414
975
998
421
345
213
961
778
63
199
600
313
658
573
602
88
37
142
988
432
657
568
756
929
73
348
599
910
966
933
899
48
665
280
63
523
540
873
624
219
831
371
528
732
540
35
502
842
428
436
570
413
680
852
549
30
636
61
77
453
210
741
99
409
935
978
957
268
711
772
225
654
112
447
467
931
822
987
97
62
932
76
523
95
257
704
179
201
179
968
310
79
693
815
548
665
783
514
303
835
205
49
90
281
946
619
952
982
2
366
641
682
507
128
836
203
99
353
992
180
79
426
145
690
766
284
455
79
791
544
321
396
463
778
697
972
926
850
15
334
39
174
296
347
402
903
554
328
833
188
944
446
118
721
458
549
430
124
167
205
5
184
847
525
655
692
652
270
587
189
94
451
880
685
837
436
134
486
2
715
290
718
58
666
581
56
962
672
730
234
41
317
700
762
658
776
42
97
991
224
51
377
757
21
996
170
687
990
788
148
169
413
139
138
633
457
178
682
706
313
396
375
894
913
111
191
186
898
581
163
284
351
254
65
233
480
616
559
618
327
730
908
49
251
675
366
625
952
181
465
250
669
258
46
839
118
919
687
923
461
309
139
172
788
438
215
330
849
852
98
297
287
652
923
684
602
753
481
483
632
760
228
33
144
872
82
911
981
713
946
231
547
202
400
838
22
913
388
169
897
361
363
778
282
854
927
360
74
808
625
601
263
677
583
718
430
426
175
54
84
126
677
51
454
512
82
314
785
706
249
504
947
662
543
751
439
188
96
60
107
1000
363
976
90
182
894
293
452
736
851
713
42
589
146
722
706
726
124
829
187
13
382
88
536
624
61
810
296
269
325
938
859
591
92
383
131
468
109
228
587
881
384
365
163
135
209
497
623
878
676
972
407
859
714
468
543
624
159
669
893
100
315
578
864
426
558
263
776
68
645
454
286
741
342
566
324
889
686
460
922
688
90
116
457
361
964
741
792
770
299
10
813
556
389
925
885
870
216
338
361
231
833
916
709
819
62
840
61
13
868
151
466
740
99
292
503
101
94
153
205
786
522
43
633
588
409
340
135
71
29
633
725
371
404
697
162
457
292
929
242
289
778
223
27
919
903
245
245
75
413
871
441
340
503
804
678
953
50
408
950
663
973
66
252
401
598
269
477
629
315
304
308
981
573
340
222
679
366
493
584
590
129
297
376
500
725
237
383
787
403
492
459
781
838
257
259
861
103
754
421
452
793
149
865
377
830
911
963
85
519
491
557
800
402
973
440
47
540
362
44
637
885
608
592
384
163
899
117
841
195
640
774
198
970
854
224
597
681
407
398
653
207
608
790
441
316
407
410
157
942
552
874
439
383
46
163
519
438
801
475
658
986
194
392
545
961
230
679
781
555
196
972
750
748
822
42
334
871
112
526
70
613
481
710
491
240
106
16
213
393
736
711
482
474
781
526
758
585
925
895
25
500
61
779
985
142
871
325
230
317
551
316
414
427
424
253
28
84
462
883
833
51
789
697
155
253
468
442
587
553
573
103
321
284
655
213
619
62
139
808
163
360
155
581
615
480
631
137
415
689
223
909
187
600
459
322
276
317
591
761
400
744
834
979
776
884
866
92
192
420
937
500
276
844
346
487
607
285
970
431
91
623
915
867
617
48
716
395
120
747
54
121
187
39
235
161
553
485
893
150
768
39
697
380
192
583
617
901
775
501
412
923
158
655
101
638
15
232
371
331
151
492
905
158
217
15
449
231
143
37
382
327
212
241
362
724
369
94
148
182
214
436
845
166
566
791
493
150
412
4
201
481
809
619
380
315
632
513
561
929
779
958
554
822
89
512
169
610
300
703
258
75
885
275
875
323
251
410
843
470
13
27
717
691
636
228
5
585
820
80
104
817
190
661
183
312
424
654
745
43
491
960
336
494
969
995
173
820
346
346
763
72
641
158
515
815
253
85
191
371
943
867
637
308
967
124
336
915
550
752
186
95
251
813
887
645
387
806
14
454
841
698
330
647
824
700
143
598
925
301
134
165
399
664
602
258
634
717
141
113
542
661
370
842
490
191
133
43
554
269
33
413
388
610
174
84
663
180
366
698
511
211
907
307
774
409
673
546
338
773
259
921
860
472
361
726
213
514
714
277
764
449
918
317
371
357
263
518
881
270
646
834
908
575
306
196
473
500
625
569
207
677
480
387
442
530
506
155
838
589
786
121
70
217
768
698
221
106
937
406
549
730
161
564
708
827
162
796
550
249
628
937
182
651
486
631
655
372
265
980
711
356
241
830
241
429
370
550
807
76
982
398
41
608
713
353
858
690
597
786
93
530
774
608
630
370
732
266
295
813
507
996
285
204
862
951
802
358
34
335
363
297
448
597
473
318
508
569
284
659
635
640
648
417
597
821
571
435
155
900
185
745
866
869
316
241
681
307
735
592
737
730
413
721
4
98
281
290
510
143
409
632
408
498
163
721
57
977
296
56
892
571
822
977
618
344
146
776
560
177
113
365
314
483
1000
875
652
704
713
352
585
723
357
306
414
867
638
787
434
176
42
518
343
546
147
660
400
432
935
877
793
857
681
278
770
703
566
262
721
954
299
329
115
368
427
440
784
851
528
21
307
759
213
751
493
654
394
720
413
535
924
895
720
188
647
161
110
573
751
346
796
233
259
620
710
253
217
101
142
545
691
367
367
289
272
185
241
681
458
913
91
463
524
531
891
512
562
306
940
490
404
720
69
26
604
857
730
103
380
793
575
596
544
547
374
513
628
829
145
258
902
773
206
792
887
82
409
812
290
336
11
922
411
561
513
830
439
267
272
178
644
356
828
399
302
581
313
658
583
925
739
614
810
682
284
690
800
119
473
820
860
310
712
28
529
456
211
83
492
852
786
156
857
674
637
291
553
280
147
532
719
655
714
60
639
217
139
225
323
236
888
132
472
759
258
919
610
774
659
873
343
465
149
230
38
441
984
793
30
399
816
540
588
553
353
465
949
856
902
670
137
562
121
304
941
77
722
841
2
859
905
931
855
261
268
561
493
843
418
834
281
781
601
339
762
31
89
473
265
723
907
492
8
582
303
190
227
780
210
498
575
12
301
76
643
230
431
55
925
472
901
917
745
813
852
413
159
118
319
497
730
592
723
37
722
692
223
710
35
705
514
178
546
181
20
192
57
191
415
583
354
873
962
855
871
300
27
134
874
314
226
590
734
27
599
228
763
111
927
718
578
131
231
77
98
523
668
365
14
52
515
487
85
979
719
534
340
215
803
608
209
483
90
550
797
358
805
447
41
576
322
208
393
147
167
907
558
526
722
619
61
703
742
572
835
60
983
595
997
378
561
898
695
852
453
311
564
916
864
303
442
128
149
910
839
491
852
704
92
356
235
974
329
77
68
368
70
33
346
466
760
310
391
240
664
917
618
606
995
952
100
22
830
327
734
55
919
477
173
832
905
841
342
618
273
658
962
598
724
792
509
346
562
453
426
545
913
218
987
413
502
251
757
991
341
76
677
153
972
623
163
71
540
705
946
231
278
718
58
4
566
290
80
183
925
563
650
312
80
606
527
601
691
44
539
474
564
439
979
788
988
301
971
890
653
434
943
318
296
111
530
938
243
377
152
85
185
379
219
225
769
455
308
368
881
487
790
677
768
836
514
490
671
24
798
578
191
588
581
463
284
242
109
292
720
859
108
883
993
569
389
212
75
145
966
24
971
156
549
86
281
744
295
309
477
233
568
452
679
176
546
296
730
570
261
340
341
77
941
616
289
695
972
315
888
706
344
857
990
102
261
861
369
135
849
209
310
645
871
364
405
690
421
576
476
293
308
608
634
254
376
221
18
990
667
722
660
184
833
857
738
569
187
442
79
553
683
552
768
871
60
617
826
702
987
910
765
407
161
477
567
801
507
559
728
268
49
139
496
973
40
559
15
371
618
442
106
446
874
49
114
427
364
621
203
814
810
24
398
406
849
290
713
648
645
543
458
250
468
437
320
486
530
952
213
929
730
10
652
658
412
856
844
951
544
80
887
142
960
14
974
368
635
421
751
324
464
685
236
106
428
644
51
698
847
645
17
906
452
295
720
692
855
271
456
453
148
650
523
62
976
478
428
363
352
896
987
527
148
886
11
169
958
519
931
977
151
894
213
29
253
428
593
593
464
553
112
517
530
489
921
56
282
319
702
792
425
62
236
946
584
801
414
607
217
487
584
774
803
894
208
1000
770
909
595
424
60
198
490
878
693
148
678
715
578
295
517
989
494
727
336
918
371
216
20
653
925
310
114
792
509
193
821
610
292
478
630
253
534
240
418
471
687
730
119
605
270
508
76
371
305
73
212
58
836
444
859
207
340
200
45
291
633
681
653
175
914
678
240
78
272
829
262
533
484
443
104
169
497
45
485
463
875
234
94
93
19
165
608
890
919
557
143
386
995
138
441
264
750
69
10
280
27
565
266
728
572
359
323
958
716
104
182
247
505
443
677
965
405
646
960
858
929
45
484
127
143
695
116
375
514
953
174
258
822
183
182
888
556
433
863
897
474
892
596
879
692
395
349
131
316
143
840
962
673
945
598
633
825
194
300
229
573
825
274
205
565
110
353
810
438
395
692
209
284
586
736
259
202
481
792
728
70
238
253
658
209
313
861
897
311
22
387
455
282
40
79
591
484
562
818
660
185
737
232
570
884
718
730
176
776
200
792
953
760
542
751
404
20
138
985
384
293
798
414
681
711
4
820
872
503
771
55
129
554
836
959
387
392
442
116
422
619
813
841
106
446
283
513
135
160
603
120
587
174
829
832
622
703
205
746
912
845
402
58
912
366
871
119
789
562
377
510
988
803
644
14
809
341
999
213
907
633
897
316
188
185
406
827
59
188
437
335
216
401
974
799
73
691
945
724
611
358
917
587
958
619
612
637
550
863
370
957
669
736
162
233
468
223
394
802
520
127
696
499
959
765
87
209
162
419
386
863
17
578
114
769
697
60
251
177
879
334
392
353
801
204
912
178
360
746
790
101
36
400
651
134
596
543
88
395
595
400
650
227
527
876
674
384
776
598
765
304
538
912
802
423
554
854
896
654
440
816
931
129
684
464
414
793
830
337
699
698
462
722
510
295
578
374
599
182
642
403
498
688
342
210
18
249
340
515
282
321
798
847
737
878
259
178
612
394
816
236
422
102
712
67
812
30
732
26
124
524
709
609
128
645
294
300
71
702
954
762
830
94
195
564
397
116
108
237
37
378
943
890
194
413
360
401
351
406
385
503
802
579
590
372
37
268
470
277
365
571
959
766
523
456
594
693
387
41
167
36
827
844
646
111
365
808
974
185
720
474
244
896
983
850
570
404
714
634
548
758
728
703
949
660
209
884
903
29
229
238
771
13
169
5
241
149
373
979
631
795
837
762
897
83
616
23
833
954
508
700
555
221
218
834
604
722
203
427
380
417
328
939
20
848
955
304
543
795
844
677
770
748
352
477
120
549
288
11
261
488
348
961
374
672
413
334
652
659
190
698
262
603
963
883
324
623
838
698
515
419
826
418
672
757
673
418
25
760
515
387
4
941
88
486
404
979
275
102
369
582
141
558
489
313
239
775
637
610
707
601
185
171
578
894
335
623
44
578
967
356
639
436
658
355
728
231
845
781
38
145
256
229
604
203
813
632
159
345
391
165
651
787
170
190
856
679
702
914
855
73
869
268
78
282
734
735
862
891
505
857
343
82
941
146
628
498
581
19
119
547
763
257
513
332
679
272
687
305
571
689
214
457
316
646
23
954
649
21
978
441
990
668
498
705
598
159
10
148
390
604
974
931
144
858
568
131
105
202
265
393
561
415
666
728
372
976
370
237
270
783
273
934
627
759
609
98
90
332
156
891
514
451
795
446
375
883
925
913
820
744
210
553
10
729
357
335
735
167
844
543
403
728
612
448
978
759
357
303
944
6
88
738
163
119
530
972
597
307
742
605
731
406
46
218
319
946
210
261
122
309
319
916
322
984
64
770
254
475
683
521
857
841
220
809
165
918
624
210
376
329
207
89
550
49
931
456
775
736
781
408
130
551
623
551
867
439
507
449
621
343
218
31
80
425
811
12
373
819
695
53
838
603
197
344
917
614
11
511
312
785
180
366
697
720
895
170
396
370
17
411
871
490
447
652
203
870
766
799
407
134
51
574
740
174
215
426
480
886
33
715
452
952
153
441
64
696
963
78
724
446
700
287
474
391
946
388
184
448
565
910
139
62
893
761
165
869
393
270
494
378
704
857
80
541
217
120
135
675
476
870
14
914
411
917
320
174
664
338
204
39
706
932
412
917
564
830
371
742
994
859
10
267
212
445
108
321
709
81
601
78
545
768
153
106
726
216
487
176
226
810
924
725
292
542
516
263
594
213
629
652
889
404
315
193
208
828
668
996
389
316
581
41
508
719
333
382
751
597
253
523
854
838
263
928
380
48
865
912
452
88
317
81
906
333
149
20
574
847
928
548
862
588
414
131
805
51
185
874
160
774
861
589
967
287
609
410
924
217
921
272
369
417
769
516
64
244
150
195
812
623
315
338
118
338
872
730
31
432
969
395
534
899
38
502
109
892
701
892
362
977
154
265
238
868
904
514
526
520
319
391
860
422
525
764
107
10
638
141
388
38
864
762
885
391
560
718
705
44
532
515
733
510
73
831
55
632
179
546
510
972
429
152
568
656
269
480
972
999
122
303
635
307
700
61
960
505
169
366
767
473
969
201
795
34
865
465
12
557
146
728
617
927
760
453
412
621
611
453
448
55
149
132
520
257
117
281
458
70
533
27
920
134
414
503
707
643
128
544
950
388
899
460
744
95
174
293
533
826
991
344
54
942
490
682
47
305
737
662
73
12
600
412
21
127
890
22
872
310
305
346
666
83
119
622
587
176
310
799
53
989
499
683
752
11
18
96
450
195
587
562
113
253
304
393
322
830
80
182
309
504
79
530
322
350
678
998
106
928
404
581
37
52
975
324
521
449
807
674
342
313
334
279
126
441
638
72
18
754
112
834
715
495
695
443
1000
527
447
955
893
579
294
942
535
303
112
944
496
101
72
133
422
671
359
253
781
349
670
315
212
508
817
601
291
723
962
142
155
943
704
785
65
942
687
906
92
561
317
167
473
648
946
678
586
73
528
849
754
152
902
231
943
708
359
377
742
807
136
562
61
857
203
564
122
153
583
292
633
298
146
180
689
617
163
418
984
416
106
289
986
116
131
19
428
54
16
786
552
725
287
628
28
553
481
562
503
812
215
761
25
864
817
369
583
507
871
635
547
66
517
407
589
74
576
26
366
927
379
36
505
908
354
441
923
782
526
351
921
640
676
281
627
602
824
829
870
338
289
533
411
453
258
486
208
608
12
515
593
115
620
339
482
90
397
645
282
934
503
674
448
849
789
757
113
490
524
776
786
246
246
382
36
148
891
384
913
294
258
786
475
799
610
662
903
92
960
788
365
937
132
552
385
93
339
145
17
705
424
2
259
462
922
250
461
350
918
629
874
76
731
128
45
571
56
662
224
520
852
791
749
643
896
520
850
249
801
199
171
942
831
146
126
350
117
800
217
492
348
763
926
461
819
395
689
524
863
178
872
669
478
642
716
331
622
629
414
465
150
33
67
694
349
589
529
414
841
334
450
931
681
524
929
438
935
316
551
647
228
700
549
160
658
920
605
880
85
935
110
719
678
628
308
79
307
14
394
205
160
825
886
823
256
655
563
320
215
112
647
154
450
152
976
487
655
391
679
102
973
192
22
91
837
444
685
600
926
669
391
719
267
562
460
378
716
621
219
369
386
368
368
60
517
806
558
889
787
395
263
297
419
635
261
606
510
628
656
724
191
529
820
644
369
253
504
488
473
91
436
989
227
151
356
61
582
812
434
46
314
12
465
588
174
156
355
775
782
840
574
478
550
297
867
825
649
859
651
58
508
419
141
160
109
69
223
988
316
402
18
407
496
221
137
504
953
678
646
860
931
44
413
735
795
6
336
373
302
556
656
997
600
651
562
321
853
544
445
894
863
429
610
112
161
421
105
433
151
315
850
446
912
160
707
836
535
766
841
74
774
749
493
198
860
670
580
194
988
841
428
942
406
995
243
836
847
637
808
934
467
134
541
856
91
949
808
524
720
992
317
603
86
280
270
82
746
734
890
391
816
893
404
655
927
756
391
807
257
439
143
346
97
590
648
742
517
808
697
83
211
151
557
449
51
255
185
296
586
146
92
231
962
340
667
548
771
587
584
368
695
976
228
548
252
56
914
766
425
823
935
424
684
982
29
427
447
635
994
58
466
419
856
3
935
220
512
755
999
508
130
360
844
135
161
246
701
95
21
694
997
409
221
333
845
343
679
165
391
367
434
260
162
179
373
533
127
396
886
897
473
111
190
287
401
533
334
229
137
92
687
580
861
940
408
538
768
875
503
892
974
640
763
538
864
874
849
134
197
396
726
108
824
436
826
742
869
509
357
636
81
75
146
871
883
830
266
453
742
31
582
193
39
142
895
132
304
526
621
812
20
951
754
508
23
931
574
473
247
783
730
702
790
188
741
335
862
553
615
988
678
565
536
934
23
724
155
836
968
121
302
167
363
304
508
737
773
618
105
392
216
67
757
811
839
70
160
104
455
266
393
272
534
199
452
898
522
732
786
95
822
796
270
930
826
773
873
597
370
877
181
663
445
708
942
384
770
636
196
424
342
685
825
934
503
224
573
313
493
966
649
356
529
609
765
510
6
680
579
963
170
560
293
80
259
868
901
324
791
419
401
57
279
27
123
618
143
141
482
618
169
813
547
697
62
925
251
408
588
151
305
651
57
561
254
623
181
327
933
436
406
514
884
33
665
55
635
833
360
537
276
333
961
98
980
401
181
983
326
589
107
594
462
507
328
493
859
1000
478
805
921
563
3
860
819
96
213
770
650
748
374
896
279
757
397
652
169
111
201
718
414
253
485
785
235
222
887
869
527
958
390
457
989
490
606
409
775
89
924
213
431
129
625
475
227
10
177
78
600
266
529
781
217
196
923
579
64
783
245
431
274
699
689
459
17
258
342
826
327
429
692
9
990
697
328
533
111
278
209
290
186
642
252
704
670
740
131
99
971
648
611
158
112
263
113
872
217
136
97
181
909
173
670
266
430
400
121
165
195
576
876
940
335
835
520
816
195
165
833
987
228
207
670
665
603
621
536
912
465
297
3
907
379
495
676
889
368
210
302
843
173
875
163
92
809
821
412
959
225
403
844
425
391
340
360
414
116
385
977
139
278
61
353
33
326
447
292
782
647
524
76
550
457
116
399
802
583
669
366
632
757
951
374
739
682
31
613
655
326
931
252
848
571
635
726
541
897
709
858
165
213
353
864
701
649
886
432
869
602
940
932
377
764
995
976
912
749
586
635
352
645
345
337
210
829
187
993
345
472
113
209
442
842
729
219
684
380
726
5
582
779
50
309
111
154
945
48
962
623
428
741
264
127
64
780
900
197
713
503
460
465
793
637
909
740
571
977
462
875
424
393
201
664
594
891
740
359
535
548
105
142
937
689
7
810
324
219
801
741
633
602
733
496
512
38
868
798
605
158
333
909
969
902
951
30
823
844
291
392
257
957
690
645
951
424
296
778
134
458
911
397
86
87
988
459
86
709
514
655
86
493
305
772
608
14
385
413
230
173
59
714
463
287
739
818
686
611
702
107
442
656
868
486
675
515
96
186
119
357
857
595
31
777
852
671
164
54
638
40
994
848
862
850
711
131
856
916
77
862
787
802
980
653
41
314
802
366
132
188
272
199
415
874
999
861
309
220
242
369
80
838
780
891
692
634
308
547
299
553
572
297
719
674
516
897
866
147
515
283
674
166
446
299
470
817
655
910
293
536
276
897
722
604
521
913
118
391
748
462
230
682
441
681
258
458
536
903
728
321
904
247
124
786
813
688
530
787
6
636
317
201
614
927
13
552
106
875
145
990
597
410
235
619
112
655
751
116
12
787
331
502
404
565
452
833
264
193
929
17
129
250
235
324
449
493
576
783
95
747
923
914
194
610
276
717
241
681
137
623
697
491
131
328
679
760
116
822
495
914
642
409
369
639
658
813
986
977
682
46
153
850
700
382
266
88
948
804
20
441
608
976
197
160
575
917
109
101
371
839
947
952
301
313
326
628
417
480
889
18
3
144
536
791
268
422
670
525
458
163
618
738
45
948
137
666
569
816
252
426
857
646
431
585
211
555
47
284
828
437
893
601
315
658
317
18
203
856
833
724
189
842
627
991
834
58
451
256
162
177
971
75
708
109
971
886
467
507
537
308
633
979
84
972
948
425
814
211
503
810
152
529
256
545
528
268
96
939
566
803
799
165
754
685
332
61
831
751
710
520
141
182
769
907
684
866
361
230
700
959
138
5
581
101
24
941
417
926
960
903
683
470
6
832
86
543
418
649
382
295
324
194
192
618
745
316
447
176
13
662
106
483
184
353
575
390
873
656
841
497
818
656
604
941
972
239
516
671
483
985
329
151
704
554
909
250
563
188
36
157
966
284
63
548
286
715
37
238
162
216
339
773
620
215
545
825
90
336
550
445
141
191
422
23
634
774
190
375
751
739
468
618
46
880
399
996
849
569
158
41
732
882
642
589
189
755
262
617
398
679
540
248
697
283
206
882
982
259
604
971
156
797
100
747
71
8
625
399
806
719
455
22
710
804
297
767
119
595
411
703
596
23
234
940
681
802
964
930
681
329
763
96
7
986
117
954
346
944
947
166
915
613
159
646
27
106
936
406
224
143
881
78
336
367
533
802
700
626
627
481
371
794
455
773
313
206
260
509
729
590
315
882
55
573
255
70
606
33
238
186
466
422
767
292
82
917
776
255
988
344
492
226
205
997
581
477
942
4
306
21
717
871
764
260
655
909
331
162
387
646
795
887
396
488
741
878
839
732
34
793
375
760
443
871
734
535
705
479
60
67
587
434
358
683
600
39
565
688
879
803
508
71
236
158
37
255
767
643
344
723
75
676
181
743
590
198
541
609
26
66
349
659
681
792
345
534
670
174
662
68
801
45
367
570
133
439
962
700
303
877
939
513
658
357
363
388
713
909
652
905
603
918
645
319
705
445
895
912
994
101
46
704
230
589
390
537
418
715
458
255
424
673
286
332
201
645
619
81
662
452
948
663
971
83
877
923
713
377
563
719
277
446
634
727
347
944
840
428
218
600
132
555
245
732
552
672
464
382
438
884
453
285
446
1000
16
480
585
621
859
138
541
453
982
826
649
919
311
688
299
533
372
800
303
497
477
516
369
98
407
628
128
31
75
879
949
750
967
214
333
145
200
306
481
992
876
497
32
378
830
543
949
496
682
436
322
732
943
975
301
249
810
317
173
13
521
781
371
304
952
361
737
975
899
590
570
404
995
171
553
683
138
152
478
930
562
326
888
860
784
653
508
112
154
51
32
980
47
342
913
771
854
316
895
304
891
716
989
255
288
405
160
242
112
768
173
337
731
881
803
888
697
343
825
55
446
238
476
424
188
888
119
150
571
678
767
517
61
845
414
329
290
634
826
235
227
82
217
915
331
792
640
560
967
189
520
248
328
114
559
531
251
401
235
261
913
397
119
214
461
20
70
158
85
547
971
794
391
101
488
443
987
962
796
635
563
381
276
505
303
279
380
99
882
194
455
181
969
11
767
111
396
783
60
262
219
188
694
508
286
118
549
602
647
886
978
692
385
658
973
919
304
286
611
212
430
503
467
88
70
108
974
726
822
825
679
473
802
485
930
297
816
144
457
919
521
250
33
335
260
696
924
615
937
115
93
396
523
133
792
866
65
773
554
538
907
297
772
456
608
143
649
1000
578
222
124
125
963
605
586
799
218
344
560
532
868
778
4
220
933
767
334
383
427
444
556
182
617
108
517
388
150
467
743
361
583
135
475
400
631
955
228
826
154
917
665
163
827
529
440
231
66
620
963
259
717
67
108
176
32
216
500
92
588
17
462
871
567
705
12
321
675
803
303
771
964
475
472
718
313
558
643
588
907
75
797
492
598
892
961
684
97
102
975
421
818
156
748
860
588
45
525
974
34
974
699
563
770
439
972
690
57
342
137
570
405
972
807
153
428
867
525
144
725
995
780
167
227
886
399
279
289
117
130
901
198
111
349
355
852
920
672
534
930
112
213
846
348
571
130
779
354
778
943
267
764
443
963
699
532
350
303
23
951
809
291
628
668
533
19
532
403
348
793
235
195
53
822
729
63
734
406
90
631
569
932
799
624
145
383
705
898
989
661
123
12
495
366
892
605
36
790
60
323
959
113
88
616
391
743
444
698
854
27
581
172
314
533
141
398
304
52
676
410
645
868
870
991
786
537
222
908
639
6
946
332
716
398
548
318
439
917
9
141
141
923
507
591
735
209
966
482
180
933
425
143
168
738
631
839
981
931
428
971
249
578
460
321
308
717
745
492
342
712
208
289
961
855
915
4
76
113
764
679
967
961
582
976
870
473
802
623
965
552
488
787
769
525
66
769
819
525
517
504
928
742
640
50
949
204
791
515
504
425
836
697
968
999
574
423
874
455
563
68
924
216
930
483
429
173
178
557
225
472
90
202
656
369
236
586
103
416
300
374
810
407
215
307
566
27
958
973
64
733
701
527
287
736
769
550
691
341
121
149
154
528
743
928
609
284
843
900
768
431
640
387
361
20
837
121
165
622
51
447
570
612
743
777
533
826
940
327
699
204
338
738
342
977
692
144
987
836
785
880
292
402
755
421
345
959
14
635
881
961
842
960
155
716
126
690
842
148
53
618
879
983
435
315
153
1000
623
425
176
320
207
895
359
964
557
843
763
156
795
912
491
312
383
819
66
364
792
73
20
613
997
979
580
381
752
398
825
216
380
977
94
62
616
813
173
408
861
727
947
413
802
250
446
735
962
35
577
171
845
845
929
486
83
57
644
43
518
748
198
523
88
62
478
515
453
66
375
989
766
78
296
111
916
605
399
102
327
983
687
24
926
988
585
611
205
605
703
667
295
829
444
679
852
923
759
358
324
64
260
971
201
508
648
99
851
231
204
246
907
837
511
787
468
250
559
504
647
552
377
678
141
579
640
641
622
765
690
182
626
409
918
643
559
977
457
401
900
837
746
5
271
65
685
426
570
91
150
159
833
817
727
723
712
336
251
982
981
3
473
249
506
811
611
949
36
720
962
474
386
706
302
20
471
30
263
691
517
624
385
78
748
23
164
227
572
979
420
322
798
225
874
231
41
426
656
419
764
256
221
250
205
920
46
972
170
650
258
8
149
35
467
786
881
626
925
746
207
759
566
929
968
257
678
383
26
870
97
345
654
157
431
815
400
454
53
350
517
260
928
44
304
299
13
54
670
452
775
335
17
417
997
941
383
453
177
9
155
662
802
159
954
615
79
371
103
10
104
751
893
874
423
187
342
739
944
371
403
474
718
762
405
36
589
736
895
871
165
227
634
827
290
142
75
235
702
846
210
925
935
692
811
308
945
538
988
550
254
346
640
88
671
351
635
820
834
381
919
587
101
643
590
665
322
260
806
284
39
286
161
101
855
835
13
440
406
405
988
415
741
860
343
790
796
193
623
817
134
430
873
584
603
284
378
452
947
257
341
343
675
956
624
43
991
993
490
113
536
832
589
401
367
120
395
412
575
799
532
574
366
399
815
501
563
707
763
461
844
526
173
803
467
639
223
389
229
54
251
686
494
29
35
615
393
554
511
381
527
848
308
553
401
376
871
368
987
673
3
514
547
532
594
413
827
173
972
425
92
324
709
617
119
618
514
77
657
901
253
540
809
656
142
214
877
600
872
368
569
322
851
154
517
243
360
415
892
20
230
128
766
466
529
746
956
528
980
914
46
854
983
749
707
627
168
844
725
954
311
211
316
253
550
368
792
208
367
382
532
115
757
175
839
515
377
895
448
293
837
263
189
124
448
606
70
84
10
873
196
335
519
207
186
674
662
14
482
229
510
421
759
491
723
223
226
490
203
211
830
379
562
257
450
432
310
624
726
331
17
391
225
464
279
819
786
591
661
116
556
703
576
239
85
302
87
862
913
499
751
106
271
785
651
266
950
652
748
102
846
655
683
814
862
986
657
825
536
560
494
771
462
401
109
511
865
988
140
459
802
797
421
285
461
268
96
755
624
388
80
35
838
225
648
834
45
885
683
387
836
730
285
309
28
180
802
652
695
351
329
10
982
1000
270
363
357
556
646
824
783
404
597
580
34
357
962
563
673
625
718
977
555
908
223
251
910
387
71
808
99
712
961
241
575
473
243
645
806
45
502
543
536
614
920
978
158
700
652
177
836
716
565
663
454
400
264
616
37
306
625
75
929
547
793
499
422
771
724
154
569
763
754
273
145
935
268
131
31
480
408
391
58
427
708
6
573
760
998
983
436
752
210
733
930
96
223
861
622
451
278
53
392
779
816
876
27
678
955
353
902
57
1000
446
773
292
653
458
328
937
119
52
36
121
319
107
906
287
380
725
245
127
635
444
938
856
239
865
110
189
379
970
347
185
392
242
36
356
568
19
368
368
806
364
645
279
531
507
252
468
940
622
590
637
797
291
76
607
362
351
717
303
90
924
357
309
522
612
460
340
658
603
909
868
543
691
216
9
947
724
719
735
276
445
505
971
436
957
251
415
603
651
885
797
952
912
191
912
120
260
586
120
550
887
539
292
369
748
142
94
24
141
862
819
492
174
8
953
906
20
904
48
723
11
341
979
630
153
864
423
292
585
800
69
620
72
784
723
376
832
571
119
162
150
949
752
902
754
430
490
252
797
893
773
386
799
702
186
39
353
998
542
618
754
190
49
936
505
627
562
494
196
281
622
797
769
810
162
708
276
300
83
437
73
73
892
395
300
184
334
676
450
869
154
458
539
569
495
325
201
184
57
208
99
386
954
107
82
832
329
522
450
610
103
862
709
303
330
496
413
141
262
924
799
680
788
412
926
276
398
527
574
486
688
496
849
490
117
443
743
256
106
436
595
295
691
202
610
21
133
697
363
44
288
454
526
308
799
524
543
747
5
425
629
578
345
188
479
967
288
525
217
183
396
454
109
473
215
346
169
280
709
142
497
936
343
21
4
486
578
454
321
905
220
63
204
997
192
779
110
705
89
459
296
747
366
182
246
888
111
597
878
876
367
973
494
478
214
395
8
806
396
682
611
802
728
445
968
129
994
543
225
475
39
273
424
746
718
457
261
303
709
208
354
435
454
76
366
393
179
558
980
875
793
98
714
351
327
90
53
663
269
465
244
739
961
494
503
504
206
674
505
888
119
608
127
991
899
2
891
744
552
200
218
974
972
954
479
882
783
57
639
484
526
937
704
585
474
257
956
30
318
866
476
242
609
475
737
377
784
439
366
657
498
231
590
232
418
47
587
814
824
117
815
538
910
774
845
869
225
700
228
979
207
203
665
828
621
728
853
564
716
765
976
446
60
927
855
559
243
682
813
295
664
326
177
773
153
655
510
246
224
626
414
57
989
490
332
552
41
610
694
727
346
60
57
582
569
493
395
24
370
640
986
461
869
633
315
105
636
6
380
452
345
698
836
261
826
226
565
736
370
136
166
337
693
277
9
707
413
727
795
842
435
746
244
299
11
902
611
753
978
338
825
414
730
918
3
795
632
825
556
712
469
250
245
25
374
682
559
903
885
968
64
351
936
636
386
920
1000
881
459
447
445
168
863
49
700
706
25
728
954
801
913
663
330
341
235
574
59
208
901
59
293
603
176
379
731
5
55
555
114
126
374
814
328
333
703
178
12
380
653
817
911
634
800
413
720
89
834
868
875
139
263
238
787
941
959
869
104
762
693
738
32
207
80
226
213
597
211
642
1000
868
325
181
567
638
28
162
305
328
343
214
658
405
630
720
890
972
876
114
970
929
99
39
209
669
408
164
854
146
953
455
181
724
160
848
38
975
58
413
296
339
298
37
861
982
726
457
141
554
415
551
953
87
989
37
299
605
112
819
810
476
673
879
606
259
386
750
214
507
639
18
29
192
792
32
466
278
10
770
662
724
503
915
512
434
977
939
598
767
401
474
813
33
670
894
431
559
323
416
857
168
223
236
458
768
623
218
350
974
906
570
189
457
708
610
95
7
415
745
609
908
430
744
67
331
282
815
485
995
252
549
218
371
709
162
269
218
835
802
65
648
868
386
409
500
678
890
376
484
24
581
814
917
955
382
78
542
789
652
157
36
89
20
651
949
27
484
290
173
24
965
578
793
808
420
712
706
581
351
236
107
406
11
612
439
396
740
292
893
512
586
357
467
557
763
264
710
931
534
180
949
550
196
846
87
81
172
140
934
545
933
476
564
352
108
833
893
666
920
495
695
729
696
296
4
67
472
928
869
259
945
316
544
38
195
816
975
858
999
728
225
573
88
767
157
196
897
731
138
386
493
478
48
488
856
829
318
309
476
139
901
517
123
686
41
46
296
981
440
255
494
705
791
698
848
913
842
593
81
869
207
585
947
255
941
93
711
296
645
510
741
348
373
266
608
83
398
683
324
578
967
920
226
194
724
359
884
920
338
846
932
902
197
431
238
245
866
165
438
525
116
762
902
308
202
640
816
261
699
407
90
309
761
609
128
557
710
851
113
702
793
286
393
10
530
990
891
362
642
404
70
507
546
948
15
310
713
860
598
343
529
717
594
446
688
380
289
909
298
77
82
753
143
19
295
547
383
677
207
584
849
516
567
677
265
147
111
628
338
510
951
598
670
701
332
680
647
650
812
883
201
975
57
830
905
218
914
222
895
748
282
638
453
469
242
721
716
817
189
832
430
845
836
361
33
185
127
720
844
445
299
915
355
387
23
248
542
136
430
480
302
292
833
303
593
486
214
445
130
140
108
504
342
493
631
254
457
190
33
258
403
622
441
701
597
768
757
988
942
165
580
822
989
183
404
823
738
175
933
426
245
973
344
258
838
386
77
637
857
462
26
389
404
599
208
603
314
851
362
962
390
126
842
36
251
718
123
518
110
389
966
550
135
536
938
907
790
734
122
547
216
12
661
144
479
923
547
976
464
411
596
485
521
451
112
832
481
276
215
340
930
901
253
665
839
814
73
490
535
991
386
140
969
867
156
751
322
265
540
421
604
69
690
111
982
513
110
814
103
759
787
65
214
243
490
124
569
76
963
862
110
922
755
457
274
67
617
869
110
757
790
151
17
960
159
253
834
188
881
289
475
90
296
972
414
618
585
787
645
594
48
952
763
357
542
494
210
659
2
442
474
967
713
580
524
48
404
32
477
625
212
607
540
999
868
466
564
586
656
434
91
542
8
776
305
79
146
497
965
295
705
858
3
247
843
850
434
166
722
703
712
904
450
508
891
83
642
238
588
923
538
769
646
98
14
413
183
837
459
239
599
489
376
100
523
85
887
908
604
353
517
929
185
440
854
906
215
287
750
27
225
798
538
794
692
73
749
720
298
524
603
532
215
766
614
492
160
748
847
284
797
868
953
974
701
736
10
104
795
523
705
941
342
76
251
978
357
438
649
22
652
173
682
51
600
829
312
844
44
592
517
397
146
343
429
315
528
974
172
814
903
998
739
667
480
899
489
854
531
450
184
444
742
888
687
973
590
701
778
858
433
388
527
362
448
572
709
803
6
317
651
669
895
864
591
216
591
64
185
398
965
360
680
344
449
435
783
767
215
576
395
28
595
815
864
962
154
908
495
419
960
594
403
497
219
608
407
910
841
235
180
600
428
994
395
724
932
988
426
496
633
426
691
275
604
875
143
94
463
305
460
757
891
676
274
993
809
85
959
55
973
645
999
725
729
303
912
553
211
404
650
112
510
441
626
101
581
51
204
900
83
872
509
197
70
702
49
788
299
581
548
194
38
301
426
297
449
479
472
232
755
806
98
342
454
99
567
906
939
309
276
221
751
77
260
170
872
87
100
372
68
259
768
581
604
423
125
569
53
348
592
526
583
106
278
573
31
657
626
518
308
35
80
902
156
888
799
495
817
39
299
826
566
1000
758
40
211
590
342
7
570
227
314
816
196
709
895
191
102
936
481
580
206
931
100
186
980
978
181
418
480
747
972
14
510
762
732
811
291
756
666
421
226
231
989
728
874
429
215
960
12
28
949
406
204
371
724
37
470
750
462
643
294
918
507
568
287
288
313
99
607
666
421
690
692
103
748
128
802
741
65
528
245
35
665
485
313
254
502
840
576
476
952
116
8
984
907
246
844
715
874
947
565
901
488
79
960
601
144
964
303
739
148
390
116
273
540
96
568
175
138
346
789
145
805
545
531
683
252
903
625
703
705
254
673
313
95
68
571
188
934
682
229
778
409
809
425
785
809
160
850
301
432
931
551
194
516
931
444
130
606
581
925
212
515
834
432
3
801
315
244
975
150
39
927
811
821
498
266
148
758
23
95
394
241
805
755
834
475
455
275
612
899
175
606
852
329
673
346
428
106
426
601
598
333
670
817
745
888
565
948
863
474
176
693
591
362
796
709
477
978
682
834
716
868
66
616
277
873
541
636
760
520
174
802
273
505
782
288
162
711
633
835
728
149
508
746
719
636
790
195
403
534
799
349
889
951
844
693
522
822
59
522
613
956
690
709
858
425
877
199
879
833
918
897
323
569
941
69
852
238
83
132
201
108
273
571
686
526
267
875
68
14
792
738
341
464
458
968
119
952
43
392
427
863
786
644
303
429
939
85
354
224
631
521
61
670
121
159
135
60
851
660
983
38
578
824
19
3
801
814
612
109
909
754
266
478
644
89
975
824
339
86
453
471
490
459
583
922
219
141
27
362
442
467
990
481
985
755
657
113
61
164
468
49
998
607
715
346
597
795
84
111
789
551
724
732
230
125
940
423
154
727
769
637
961
304
863
438
342
536
576
414
150
689
100
742
81
879
736
293
343
49
491
822
630
499
494
895
608
630
132
791
678
406
840
164
917
675
646
686
881
699
482
123
794
267
868
487
270
965
326
243
325
874
797
626
764
691
891
144
726
30
310
832
264
355
642
533
302
105
576
657
990
653
790
796
247
571
115
770
305
111
635
103
468
575
551
762
365
12
287
703
634
521
333
694
710
792
930
506
605
558
77
391
745
783
193
195
455
41
917
998
530
533
936
725
929
800
827
890
872
618
531
258
79
339
681
782
182
951
522
899
24
939
976
18
912
379
791
275
182
615
197
516
920
147
193
214
243
695
776
122
335
122
885
26
629
689
774
326
779
693
301
600
820
848
119
5
297
417
466
310
210
651
841
335
875
533
466
377
250
555
136
189
81
860
582
103
249
570
932
603
733
26
618
221
601
483
15
353
246
160
740
215
905
649
433
441
642
353
670
183
211
505
611
125
809
333
912
142
142
121
29
156
680
469
219
687
502
517
572
619
824
476
432
649
502
837
791
196
420
328
300
640
816
949
322
367
848
491
229
6
885
760
73
437
49
288
87
205
374
945
245
148
913
12
526
183
975
362
100
445
484
874
291
205
496
890
367
634
895
997
599
418
866
362
637
975
480
618
546
357
708
549
988
932
661
408
246
641
786
748
19
488
473
537
808
478
384
79
346
408
163
49
671
367
642
954
394
706
155
532
492
410
701
40
928
623
304
264
902
418
522
367
24
29
688
188
857
597
238
170
595
428
699
304
303
986
614
735
6
228
832
171
787
859
64
27
791
676
934
323
731
592
278
216
562
333
177
352
744
224
752
425
116
377
750
471
60
87
839
582
290
12
487
518
613
310
412
665
720
950
550
195
837
183
176
37
491
879
157
882
853
409
141
344
446
416
310
113
398
436
151
599
176
10
435
911
526
162
943
143
435
885
820
582
428
893
62
133
479
774
87
936
222
799
866
999
36
160
84
203
586
842
711
145
816
285
819
48
89
794
853
380
127
839
881
530
434
554
516
198
121
594
657
3
558
509
854
269
901
902
837
724
133
745
481
370
471
118
782
252
445
43
526
415
536
574
739
494
241
661
853
21
129
29
318
741
19
858
611
295
807
591
441
342
877
197
257
567
60
419
74
423
823
393
439
995
987
941
741
216
760
450
544
456
377
164
811
67
336
311
483
447
739
804
830
758
431
619
112
691
517
836
242
627
105
229
663
192
932
719
933
861
61
154
815
881
984
331
327
746
673
69
641
760
615
473
911
15
65
246
127
452
142
65
26
158
374
513
947
763
635
898
203
725
30
944
829
366
583
155
106
198
671
914
949
921
520
824
674
473
811
927
764
380
617
407
69
619
686
282
760
417
571
146
453
203
201
550
406
440
103
258
268
90
934
282
460
935
134
450
397
484
934
491
515
458
103
421
138
586
593
897
34
720
700
497
46
220
909
195
264
707
294
18
422
6
747
795
692
692
487
881
680
326
189
977
352
574
805
55
277
4
669
183
13
570
171
368
584
939
174
637
688
292
297
648
463
190
871
12
981
214
904
408
249
301
602
460
945
203
585
789
458
468
964
912
857
356
896
805
265
329
94
135
411
597
926
878
250
374
45
699
865
85
631
317
624
935
612
822
344
471
880
938
30
539
828
794
749
505
185
906
412
219
623
109
381
254
420
769
522
889
578
105
375
120
507
356
156
713
377
639
501
254
803
319
238
583
750
23
610
146
368
830
243
195
15
109
318
185
241
540
505
897
470
853
423
112
971
760
369
649
245
699
277
841
952
403
277
973
974
335
502
831
486
939
154
924
422
898
230
9
759
214
31
525
981
872
488
255
397
227
839
379
558
321
258
76
316
171
953
849
894
127
514
18
431
206
350
309
244
554
600
557
470
432
43
389
227
856
523
237
645
27
513
652
65
807
891
484
387
337
55
38
326
769
651
241
893
642
884
563
617
444
156
639
364
363
708
867
805
451
273
136
282
565
693
481
499
794
413
226
879
76
35
239
921
783
686
732
107
663
105
114
116
149
825
222
506
964
361
778
824
255
950
210
69
602
2
444
120
138
981
92
990
544
734
939
578
922
177
931
842
180
991
477
59
447
157
101
7
251
796
222
60
150
564
885
116
454
72
228
44
900
784
564
541
555
716
155
312
329
474
393
255
158
363
406
481
228
51
499
292
10
78
135
350
255
839
988
760
524
52
523
195
309
66
471
180
851
798
144
934
996
591
320
93
711
631
394
606
303
291
818
667
701
191
436
763
534
735
630
205
731
825
70
172
774
708
608
794
456
367
89
295
318
288
493
227
381
826
80
285
894
718
97
355
663
852
714
966
129
940
176
887
882
801
459
108
585
405
939
935
647
224
760
681
7
473
567
701
295
419
259
579
516
368
54
448
324
275
904
821
16
710
250
738
486
839
245
607
965
364
520
39
173
179
999
691
622
53
752
517
595
166
75
828
469
757
545
759
792
667
883
823
429
24
462
973
802
640
135
694
657
540
308
845
377
269
447
111
538
661
930
797
318
683
594
956
727
412
257
184
224
793
109
886
595
466
401
342
289
671
647
982
645
305
461
912
702
669
149
437
391
149
534
404
46
168
947
523
946
977
673
180
586
367
141
183
710
814
422
642
971
769
536
81
390
558
84
423
628
864
205
843
874
490
96
373
258
997
75
943
135
338
845
637
837
998
266
730
874
786
283
289
749
429
774
788
933
274
568
328
775
730
716
898
57
121
343
358
186
844
57
239
506
825
769
325
300
298
189
759
901
787
608
891
28
821
828
197
904
424
732
62
111
212
288
113
947
603
439
53
614
341
971
562
389
682
842
803
372
854
903
59
603
727
698
93
664
144
550
974
314
818
152
133
186
406
956
981
376
233
96
576
185
477
625
87
211
672
341
535
258
818
723
398
553
613
708
436
586
485
470
746
431
269
533
466
504
316
251
31
838
635
335
513
482
206
482
10
823
454
181
864
775
730
571
634
426
343
355
371
539
140
808
639
540
760
7
801
15
14
50
972
610
840
324
176
509
957
792
878
533
377
483
792
662
220
659
819
518
447
767
350
828
930
572
283
244
433
422
46
239
726
889
936
780
438
53
590
666
392
382
499
910
339
907
77
536
156
480
330
782
43
36
164
383
604
594
101
664
13
5
425
830
563
895
575
482
102
215
47
456
243
763
964
741
919
321
456
452
660
181
519
150
496
91
55
159
692
325
864
494
733
724
840
968
212
997
547
883
64
704
479
670
828
977
405
621
917
874
285
904
92
414
915
748
693
673
334
157
995
610
159
272
816
763
515
989
653
981
452
68
43
783
980
903
741
243
900
567
58
383
259
352
924
444
963
132
349
274
688
602
66
443
502
646
938
631
353
91
573
403
419
978
192
842
965
512
123
271
2
220
546
93
18
968
60
986
683
796
965
689
147
422
856
841
575
658
797
972
93
591
125
983
128
796
926
108
951
110
302
250
459
336
267
846
953
105
736
524
409
277
271
787
470
107
158
598
560
354
626
214
929
830
306
376
567
68
846
364
27
865
941
773
113
70
284
69
503
459
750
359
768
681
215
814
328
80
270
980
523
317
174
904
753
478
316
350
388
985
269
38
556
222
551
970
971
48
352
505
668
497
896
453
733
739
719
977
638
395
509
205
357
942
472
17
921
874
614
389
181
671
225
410
385
791
770
323
534
937
7
322
739
796
1000
159
40
757
452
927
228
482
865
991
209
915
433
569
721
767
778
768
15
577
902
442
431
204
762
973
680
170
518
941
183
566
558
214
81
474
5
840
804
116
667
445
552
433
466
329
940
813
345
70
687
843
435
478
312
902
242
604
504
415
521
657
190
46
540
42
880
233
792
557
911
966
32
832
728
648
599
727
254
349
79
15
748
157
173
560
963
25
350
516
37
232
971
767
619
101
790
379
980
768
98
866
56
107
699
943
652
532
712
289
425
200
516
353
387
722
944
256
395
537
42
176
830
378
950
692
399
486
777
228
859
726
823
401
147
561
228
687
441
574
553
857
936
914
198
92
695
680
962
161
940
95
591
232
789
392
174
500
743
590
59
60
483
68
661
834
363
243
726
898
611
24
592
11
526
517
214
380
594
943
519
136
673
506
139
374
562
493
522
40
623
415
839
685
40
474
599
485
924
912
626
118
31
54
33
461
261
64
166
253
425
321
307
476
383
65
453
410
730
631
455
404
118
419
182
29
625
686
652
143
171
757
488
14
653
650
741
306
20
13
886
842
571
665
329
455
343
583
461
287
581
415
569
681
492
87
861
736
779
670
848
497
785
422
694
457
899
172
831
328
47
229
931
347
180
453
698
808
253
431
626
228
246
632
510
375
806
771
509
903
124
525
267
563
621
995
714
337
340
580
742
895
330
383
850
944
752
514
995
333
211
23
611
784
117
378
114
266
952
476
144
894
320
157
216
643
959
524
523
454
340
864
660
418
905
369
288
228
8
671
365
764
306
375
451
798
636
648
806
888
335
637
197
194
48
330
891
894
176
358
412
273
742
6
297
564
477
470
92
762
438
223
382
318
247
11
886
646
399
736
22
14
670
313
525
122
372
186
451
341
521
618
815
491
458
533
707
525
662
252
728
850
992
698
481
676
380
469
96
137
334
425
566
859
982
650
937
744
238
742
209
166
814
28
526
414
164
839
627
797
40
738
982
630
224
249
352
375
297
462
125
621
661
904
542
872
291
232
521
341
74
19
860
798
388
909
332
956
654
137
977
238
28
835
697
91
651
354
435
734
310
396
273
315
774
509
145
573
601
942
370
899
521
952
216
999
637
735
105
929
178
786
258
858
33
151
676
54
249
430
791
715
525
580
426
209
161
420
899
632
756
890
534
894
891
515
293
973
49
25
237
728
145
3
870
892
234
637
804
480
106
904
850
474
242
288
736
667
341
419
239
8
525
349
435
338
489
26
641
129
990
637
524
413
317
518
796
297
712
328
575
694
84
77
833
746
78
197
919
437
221
436
529
164
829
160
358
99
80
846
19
413
252
199
470
493
238
804
277
292
227
201
596
86
119
474
607
116
50
22
493
376
178
103
454
90
670
794
4
340
634
829
302
670
618
196
610
302
189
275
251
220
334
293
285
842
433
148
10
416
205
612
620
207
19
447
441
167
326
824
873
90
70
884
976
236
4
265
843
334
438
527
177
984
293
123
648
572
537
865
168
971
18
956
799
644
597
567
12
657
783
334
715
811
48
925
938
254
726
382
969
939
901
291
351
112
14
13
257
340
109
138
156
444
420
540
604
765
996
303
998
479
865
415
778
598
167
507
707
779
572
509
611
573
810
340
24
586
483
898
380
449
421
345
160
931
68
682
213
633
685
852
786
192
505
408
598
151
764
65
665
627
376
418
556
596
633
342
293
575
403
586
512
581
362
465
675
278
834
334
431
448
896
488
850
630
37
826
27
986
511
408
572
650
555
119
662
512
962
16
850
184
319
237
93
509
632
246
262
641
677
785
897
664
215
351
851
771
799
810
272
10
258
262
373
533
419
975
785
477
43
924
307
164
464
473
866
627
62
708
547
885
424
96
246
701
742
437
251
393
30
285
29
12
491
592
112
549
453
532
91
291
296
655
963
736
790
756
997
47
510
399
32
626
804
112
50
655
1000
304
100
765
259
863
105
713
281
948
303
13
38
145
539
742
831
549
501
1000
692
165
927
212
868
152
994
89
770
667
911
818
994
857
430
709
124
581
723
892
422
239
672
771
333
276
338
602
88
674
759
802
240
967
648
861
951
749
73
480
712
922
258
743
898
306
32
148
159
43
408
360
907
885
711
299
588
715
947
435
541
75
323
874
683
660
958
979
18
264
567
715
115
38
48
898
605
62
464
771
835
807
697
272
930
879
721
606
447
119
62
216
832
220
238
478
527
890
410
899
910
91
703
419
727
459
551
457
113
263
540
886
716
691
342
166
990
783
630
814
100
582
908
169
613
550
277
417
492
347
929
936
692
409
688
248
992
601
369
439
968
782
636
420
769
335
276
472
737
508
599
89
881
30
610
440
36
425
481
608
196
773
694
659
366
760
621
24
571
266
915
594
911
717
650
178
520
915
238
678
195
866
898
767
735
361
543
567
80
458
931
239
319
258
657
606
338
340
796
982
812
105
860
437
404
948
981
587
139
675
380
947
206
537
192
971
529
209
139
160
62
167
877
367
500
744
625
107
504
499
983
997
369
336
434
233
320
897
763
433
333
521
262
361
395
546
15
350
432
376
573
871
942
832
13
456
902
438
358
192
381
599
619
332
358
232
774
197
535
694
783
309
518
587
372
578
2
783
524
192
14
869
605
846
38
265
162
412
537
623
707
204
278
590
881
281
149
587
266
750
478
445
706
526
73
379
600
487
652
443
916
485
753
583
386
789
50
533
759
263
398
172
426
918
833
635
912
212
862
467
660
35
137
867
74
182
925
348
508
880
117
697
670
86
182
726
943
478
577
159
953
252
171
972
29
18
705
727
660
813
192
225
581
567
727
437
742
401
670
549
472
771
845
654
766
787
833
857
112
208
169
107
275
285
470
537
45
195
56
44
959
968
41
485
52
517
874
105
520
978
922
714
606
915
473
842
594
939
784
320
245
338
740
491
948
647
805
761
39
137
578
2
546
839
526
259
806
804
727
2
849
766
100
163
28
640
296
797
181
327
566
789
118
364
536
286
561
241
811
296
347
161
267
519
625
316
422
260
12
298
718
243
894
192
940
403
293
134
161
73
438
714
132
127
679
177
463
890
1000
775
854
141
486
949
782
202
672
772
454
492
553
24
329
232
639
266
258
618
588
667
918
580
459
527
483
83
160
292
53
483
217
686
72
695
31
692
871
921
884
39
593
88
18
314
813
416
609
586
619
586
401
818
303
808
292
681
191
818
887
588
684
137
930
572
187
73
523
90
510
540
66
19
445
63
627
573
352
310
817
265
282
79
807
927
581
557
317
698
98
321
163
418
97
838
26
107
845
657
638
74
189
525
547
922
252
342
734
792
319
563
27
393
287
641
211
837
199
366
348
231
189
367
507
376
996
548
105
4
189
281
208
705
306
268
595
985
352
662
400
136
93
472
11
679
310
120
298
947
177
352
224
617
108
751
422
292
636
787
575
816
446
858
820
292
653
302
48
214
876
640
604
248
674
946
595
151
191
526
143
653
663
943
643
85
162
720
995
571
397
666
650
733
439
652
889
119
361
485
12
363
570
140
375
569
803
316
76
59
487
844
297
727
353
416
259
626
530
892
696
212
575
994
348
693
279
532
754
76
600
229
313
579
199
587
281
912
754
642
264
170
797
858
93
311
339
461
7
195
725
692
675
610
622
584
45
825
880
475
525
139
237
692
230
212
146
752
23
813
281
115
982
906
373
478
800
808
637
647
365
701
617
897
959
65
126
740
585
707
715
36
795
587
200
225
206
878
107
392
588
808
676
665
174
283
416
234
453
97
696
924
267
46
803
774
234
46
844
410
620
326
481
86
289
539
257
882
512
25
472
286
386
429
359
788
110
689
970
86
691
310
738
354
693
73
924
157
3
713
163
576
354
439
514
918
999
369
3
909
374
227
369
355
870
94
89
617
913
189
589
729
885
740
510
881
571
764
224
575
867
860
888
94
788
261
668
794
719
776
773
375
786
454
237
528
57
73
323
725
742
115
783
461
73
812
406
619
862
612
190
102
110
489
739
774
706
199
677
457
531
579
686
112
80
76
791
33
899
685
71
24
802
34
599
569
440
121
509
793
849
31
457
94
420
54
512
265
726
296
5
366
1000
569
287
533
433
771
476
831
15
376
343
717
660
336
957
323
318
858
647
106
641
925
767
75
896
276
832
858
699
420
456
672
556
197
551
468
761
110
552
80
809
116
97
792
804
429
668
66
78
335
667
988
418
441
740
977
690
774
753
618
730
912
720
372
720
366
249
485
838
364
467
54
32
842
392
66
203
848
80
726
745
786
289
19
297
723
70
815
895
569
72
792
780
503
543
950
432
694
426
946
88
929
609
117
235
133
804
505
594
340
272
340
312
972
77
164
26
446
693
862
484
701
421
764
27
935
681
805
948
81
316
310
472
264
662
981
343
628
496
284
937
451
889
997
155
314
712
648
342
859
294
615
701
136
620
884
712
887
366
794
1000
374
138
953
776
99
90
150
167
292
998
382
113
973
914
291
542
624
254
22
69
485
372
362
22
350
105
539
92
97
871
204
203
553
78
304
474
97
186
258
626
925
654
835
684
173
30
501
214
500
62
837
659
625
869
147
220
268
287
555
559
285
943
30
906
58
777
550
435
165
88
89
328
809
956
436
754
770
317
374
152
131
524
37
983
931
42
421
968
484
253
452
880
297
613
38
665
863
949
832
48
784
407
643
883
303
568
893
168
5
390
72
176
740
8
376
298
202
242
716
922
810
748
980
341
718
164
369
523
710
204
4
349
367
672
450
319
37
221
90
355
488
970
14
591
849
347
81
429
363
103
737
448
394
261
118
565
692
831
590
166
540
922
431
808
822
169
702
103
263
535
35
363
604
892
707
887
379
788
790
783
325
249
870
988
890
100
338
951
873
996
639
94
195
284
923
213
436
471
778
778
486
449
7
512
723
708
698
498
869
522
911
34
113
976
466
753
376
784
170
754
130
891
642
936
319
321
425
511
398
415
14
905
435
695
142
819
150
797
126
556
957
840
691
543
92
717
777
967
106
625
14
486
978
848
929
327
328
942
454
738
703
798
597
79
713
365
71
202
418
286
472
111
717
295
449
764
704
60
633
339
211
478
448
20
615
166
437
317
17
824
162
134
151
267
297
658
540
841
589
296
361
957
83
146
746
537
395
266
503
330
981
125
403
455
576
247
163
12
302
872
418
268
157
879
705
372
488
415
34
239
771
608
369
80
210
215
798
854
477
355
982
415
853
573
545
564
903
102
412
187
238
525
46
275
353
871
303
505
137
369
290
566
880
386
767
904
928
636
979
367
593
124
796
724
440
868
758
708
667
34
458
63
611
243
710
811
298
496
337
356
553
986
755
318
756
899
569
380
102
435
13
427
502
458
314
741
825
90
515
379
347
877
181
849
165
666
269
113
868
448
364
895
293
69
431
997
271
975
922
475
508
852
153
649
547
259
139
131
994
960
378
875
881
392
750
664
227
579
408
383
690
506
242
816
768
827
948
510
574
338
60
264
334
999
430
587
825
288
44
214
175
631
870
138
618
209
627
515
246
364
375
623
230
797
272
275
106
66
720
971
168
569
757
904
246
254
209
206
730
410
402
42
655
165
693
25
470
876
579
112
85
606
563
782
813
566
258
727
333
754
369
860
496
572
341
709
761
364
23
194
49
838
710
205
43
547
627
785
898
162
175
996
244
778
148
136
919
742
917
749
174
624
842
265
743
15
214
597
577
820
796
96
533
33
180
624
192
338
865
86
712
498
266
430
537
498
309
344
897
365
594
373
778
935
810
641
281
765
556
262
47
676
656
303
176
130
130
472
68
835
48
680
373
597
477
156
738
424
487
590
976
981
165
282
83
724
728
734
533
245
579
642
737
941
580
558
784
487
891
987
194
813
818
251
806
328
681
217
272
607
720
241
586
82
110
247
102
905
524
593
167
352
38
964
87
572
669
923
475
108
969
840
590
86
165
669
547
197
521
758
806
816
928
716
773
991
379
26
589
494
389
347
598
609
370
178
492
34
697
288
530
838
879
967
694
102
477
574
158
833
93
693
46
799
975
359
428
432
861
814
130
633
924
858
710
481
137
198
922
50
329
764
365
870
522
255
211
911
101
727
738
446
325
647
38
502
329
509
772
970
166
295
398
569
22
950
299
857
578
213
563
390
539
901
604
380
601
724
33
97
47
438
948
649
481
618
793
458
681
439
86
498
62
279
661
361
108
145
411
873
581
396
453
484
510
9
404
898
927
76
554
13
926
566
370
648
650
789
230
695
220
859
873
712
380
186
297
588
408
39
738
37
42
980
304
171
257
632
902
58
28
582
558
247
143
407
690
993
710
753
628
162
365
329
664
103
9
671
966
92
315
856
239
281
191
499
732
439
495
427
277
60
596
658
294
670
848
457
831
84
214
66
342
830
762
101
758
537
717
935
251
952
50
772
611
938
744
439
366
616
220
957
533
83
724
192
950
520
516
262
623
62
243
177
975
479
654
899
726
284
275
869
692
525
34
957
784
138
165
839
562
722
478
458
743
725
963
993
993
769
120
607
84
831
739
815
334
697
604
595
687
552
45
958
542
213
494
204
998
248
998
192
191
136
625
638
74
665
537
989
676
840
423
156
201
187
94
541
347
70
984
470
788
941
956
414
994
484
314
370
218
66
103
128
449
795
187
438
543
450
101
66
94
858
685
464
232
84
30
591
238
190
359
773
436
391
358
857
230
734
260
633
645
290
554
464
117
52
8
867
479
871
784
636
326
869
758
314
233
354
357
642
558
370
390
427
354
527
327
582
987
579
280
892
339
78
202
801
252
478
77
363
949
859
261
790
952
780
308
909
246
940
834
616
414
489
286
488
874
650
577
924
207
902
681
548
35
981
159
474
669
562
522
418
763
243
66
582
725
523
224
275
246
787
567
318
551
580
278
994
512
943
761
208
649
138
414
31
912
622
816
277
22
625
799
185
13
186
113
589
583
957
168
341
115
88
204
763
90
277
670
181
737
361
254
899
579
97
666
913
868
731
171
704
864
135
876
569
891
165
615
289
228
546
593
287
598
730
381
310
875
319
10
847
474
613
212
479
557
416
71
684
687
403
845
160
277
487
697
748
672
752
443
106
469
275
471
946
613
230
373
918
353
701
165
373
225
880
172
842
884
150
861
836
811
207
575
877
481
393
114
307
209
212
244
9
806
938
425
321
897
115
932
530
107
785
67
395
256
662
854
257
303
242
631
269
543
375
178
978
124
220
311
242
52
950
592
384
662
129
61
664
35
484
406
582
343
599
899
833
148
152
490
104
617
111
869
408
789
797
800
317
218
99
931
738
509
57
31
224
630
97
682
1000
331
361
479
333
27
651
553
998
510
483
495
609
809
230
902
287
887
720
529
767
446
418
866
505
191
950
423
891
912
204
997
580
325
74
378
640
27
510
210
858
884
210
679
205
194
320
554
239
431
158
754
541
901
268
216
929
418
659
502
191
803
762
418
536
60
691
146
234
239
613
677
589
44
264
493
92
437
225
377
115
482
681
906
342
330
688
702
924
184
199
875
746
951
766
990
169
529
311
224
304
631
147
172
383
983
972
527
312
736
299
898
858
173
440
243
983
275
397
519
530
4
361
879
455
143
172
882
885
231
647
236
824
305
633
799
959
538
725
364
90
465
350
218
682
636
919
392
216
143
489
166
350
936
127
516
247
820
132
466
120
942
743
201
869
875
454
416
944
275
305
851
711
941
474
360
463
704
329
243
618
971
304
204
596
63
441
647
508
985
168
853
828
729
367
848
741
978
444
646
365
180
470
815
489
867
700
96
692
163
46
928
44
932
303
499
461
692
402
949
828
56
587
428
848
820
983
275
494
443
847
737
953
99
891
655
270
462
204
617
952
787
858
489
489
92
669
314
105
830
179
601
824
410
727
475
105
775
208
990
846
31
61
936
763
518
797
709
356
377
892
68
49
170
780
15
949
980
957
219
520
998
936
540
380
244
261
77
968
422
873
388
867
23
88
593
611
298
374
231
364
693
817
234
558
391
611
777
572
776
82
467
687
799
281
732
892
947
574
517
277
665
298
752
827
215
499
916
438
285
955
403
336
626
581
216
563
124
105
300
677
54
801
324
972
249
378
502
369
281
896
349
790
611
797
301
954
685
928
353
158
527
209
388
138
690
795
543
200
541
193
261
309
209
790
782
212
73
956
975
715
901
221
578
42
366
174
538
750
522
529
39
65
305
263
720
307
318
241
635
646
885
251
294
861
763
812
698
635
922
79
562
569
216
400
723
479
732
442
582
583
582
863
797
271
703
148
250
143
6
837
533
228
101
276
380
151
564
9
808
311
514
742
33
941
169
931
985
712
951
763
560
211
395
110
610
796
571
914
298
716
60
575
985
509
990
383
539
741
574
437
978
69
617
53
548
147
916
552
684
61
832
539
735
796
565
908
348
549
25
30
999
31
823
989
869
825
574
441
940
268
755
282
338
449
275
780
654
36
825
935
611
42
155
762
989
365
68
965
516
431
643
957
111
92
524
313
975
610
858
525
24
732
333
623
903
873
511
562
609
480
491
18
359
477
345
146
203
628
232
274
523
825
991
655
499
939
168
253
702
651
358
899
650
975
823
748
225
586
777
659
255
568
916
499
928
328
985
620
556
720
98
651
273
836
193
474
765
422
333
133
136
825
863
697
210
75
1000
1000
683
328
987
558
685
406
102
816
754
59
736
176
970
419
200
649
895
18
696
236
976
160
129
376
655
538
862
720
625
847
812
78
696
930
149
147
338
949
927
988
371
590
587
934
765
147
802
442
237
601
633
221
21
469
173
542
153
326
933
169
241
98
302
71
272
63
363
985
987
216
620
768
2
963
626
287
884
229
368
988
723
832
494
388
840
559
551
852
499
470
753
577
37
248
238
755
711
804
284
882
528
114
537
364
887
646
840
799
100
344
79
724
962
479
938
826
718
220
664
813
921
970
564
975
514
75
11
14
234
900
798
230
34
856
457
1000
704
402
417
563
984
957
516
263
792
918
495
676
66
435
326
482
265
726
551
736
251
179
447
93
643
40
171
24
171
452
950
359
362
822
8
961
616
905
286
936
617
308
665
817
212
254
138
386
504
738
835
245
560
795
703
278
389
966
662
447
860
972
911
51
305
253
623
636
43
918
447
210
986
214
535
307
868
576
107
182
733
441
171
406
385
62
668
337
886
971
373
429
706
259
410
408
201
896
835
163
55
193
627
620
918
23
350
26
895
795
92
815
165
571
578
107
490
333
631
646
569
229
349
878
957
505
517
735
886
979
578
542
93
3
24
167
68
767
614
693
376
895
158
577
406
861
971
902
557
166
734
597
227
973
91
450
222
410
178
914
516
468
293
263
252
364
709
320
749
450
196
127
485
535
652
361
678
960
53
141
148
366
571
437
821
938
247
578
829
126
663
196
15
665
729
953
93
574
559
797
296
814
455
582
235
30
791
679
551
447
165
253
441
950
649
823
467
158
675
5
316
951
742
356
13
333
616
71
235
433
894
861
773
990
768
757
357
372
746
301
26
938
275
10
591
146
310
441
316
9
836
628
564
281
839
696
464
549
185
398
326
884
264
737
878
784
277
128
671
400
365
107
11
462
285
276
137
561
930
465
80
612
601
550
13
18
624
773
490
286
867
761
588
317
681
668
929
409
804
934
486
149
860
760
146
603
116
956
844
810
814
38
22
946
578
744
314
858
329
248
732
326
428
475
173
215
74
154
107
703
69
866
413
252
679
732
165
894
386
460
815
517
677
516
593
564
83
69
723
70
581
628
467
306
513
269
801
353
938
769
248
857
511
330
241
128
268
495
219
115
313
48
131
205
142
778
662
544
439
836
326
621
683
298
874
108
579
600
355
196
598
481
823
761
91
294
548
813
998
780
94
833
27
197
772
870
883
454
894
340
604
878
976
735
642
456
571
931
252
459
702
217
147
267
974
778
605
767
800
549
160
955
250
486
377
901
450
808
545
355
778
482
372
42
135
662
688
290
599
616
268
940
744
536
33
705
505
512
265
625
846
233
395
525
451
873
306
58
644
237
826
413
28
387
865
683
849
777
348
874
486
130
528
157
774
670
782
305
570
981
339
955
78
811
17
796
3
426
85
850
904
803
678
474
519
23
570
289
924
972
166
524
475
642
219
705
778
829
745
523
504
612
867
740
743
98
603
633
306
451
538
252
267
809
976
1000
185
181
125
762
992
352
864
710
688
268
833
323
530
451
521
961
56
411
811
526
894
177
384
177
953
856
27
937
338
598
538
8
894
914
452
282
564
588
252
850
450
372
336
237
741
993
474
377
605
798
534
47
401
771
720
951
480
376
306
651
945
298
774
310
283
502
858
705
378
844
135
231
944
848
198
170
582
345
731
629
512
55
549
843
170
399
207
878
64
664
488
121
51
33
442
592
848
296
589
823
722
965
976
781
485
792
317
396
877
461
417
704
417
254
675
375
385
505
305
611
985
969
24
801
993
60
408
154
751
913
348
22
701
347
667
375
39
491
440
796
352
391
341
176
69
631
233
178
662
309
765
808
824
604
132
117
665
412
53
486
263
31
52
822
566
753
626
34
252
610
787
991
66
14
766
496
563
921
890
502
547
65
639
257
220
703
931
383
627
631
841
871
348
767
961
192
501
603
178
744
676
650
553
502
349
71
806
510
638
677
263
194
99
936
196
895
807
521
740
324
808
795
798
430
576
583
942
100
412
2
521
311
752
496
432
895
15
801
321
650
17
981
724
465
380
941
348
770
718
727
184
797
111
968
650
942
37
518
937
541
641
785
741
747
875
875
570
591
980
967
928
962
468
110
775
168
5
23
647
418
128
935
47
417
848
571
59
396
769
971
682
585
229
295
266
557
436
99
351
949
734
900
230
593
969
246
960
156
358
875
780
489
24
356
339
228
873
163
27
633
748
176
607
427
722
917
693
237
998
116
15
967
526
708
163
911
496
337
438
935
57
89
136
500
745
919
206
825
455
707
754
402
909
586
430
917
416
338
383
153
60
477
152
692
523
831
69
735
69
767
853
873
103
107
423
771
186
144
33
414
822
341
107
706
407
958
38
331
161
558
723
933
197
886
966
272
792
635
464
45
770
994
491
73
19
372
118
735
924
575
557
489
234
320
946
103
264
825
18
942
682
816
175
888
660
315
764
819
239
588
276
567
235
720
11
498
1000
419
405
575
962
99
367
84
917
352
725
468
419
260
521
113
907
628
243
713
987
380
323
632
93
284
756
697
967
415
13
930
985
132
894
768
55
103
682
401
570
487
477
808
469
730
394
372
452
281
716
114
84
301
625
339
848
278
850
768
990
870
967
548
1000
933
164
955
955
902
122
579
654
975
169
136
904
932
162
90
351
718
247
435
423
127
807
832
682
933
573
483
274
301
572
173
118
559
876
220
177
380
384
826
169
343
862
988
891
418
221
840
761
230
523
460
520
655
446
682
891
462
142
650
149
19
626
460
103
145
273
811
707
617
83
978
68
801
88
820
194
440
416
669
860
478
115
627
398
896
275
492
636
328
871
362
846
701
424
874
443
310
193
182
231
944
714
278
978
961
813
74
133
483
187
754
79
638
98
109
672
215
231
569
597
574
432
186
655
670
645
444
880
889
518
616
908
266
426
321
887
339
253
322
874
840
723
810
687
552
167
154
808
791
605
415
329
749
5
820
608
695
184
716
856
505
144
302
399
411
797
297
912
833
984
266
813
787
313
333
986
114
57
839
287
430
428
174
535
6
494
851
693
327
457
134
5
649
262
130
685
173
671
344
840
522
87
294
990
872
173
524
801
247
303
580
552
491
239
292
163
9
931
325
626
982
271
456
335
106
522
109
893
30
230
155
362
89
990
524
764
116
555
713
706
906
81
786
90
932
945
252
496
572
233
744
253
366
584
345
967
847
698
540
918
779
922
903
204
696
676
691
503
634
10
745
66
553
319
440
90
470
792
871
983
331
953
474
515
53
880
702
671
273
274
849
699
98
848
951
24
919
463
721
834
545
996
382
883
832
327
432
606
714
673
277
153
831
946
386
485
50
590
242
828
774
668
239
522
586
221
65
208
980
299
856
30
921
500
868
354
443
172
907
271
739
62
550
756
722
947
566
628
537
474
297
97
948
999
81
442
541
833
746
698
159
815
139
37
535
279
646
975
704
560
519
540
848
227
146
679
216
730
417
763
718
24
821
969
598
620
148
629
228
392
89
971
976
182
392
366
826
385
581
530
501
967
299
476
369
148
40
80
38
767
14
818
194
183
72
182
574
833
643
616
408
504
841
426
876
523
529
839
742
570
677
513
32
521
80
140
392
893
844
559
442
342
313
200
65
689
62
407
31
282
45
884
695
226
490
262
323
249
506
800
146
993
835
162
196
818
313
888
873
183
479
94
424
685
9
821
176
94
305
333
247
232
588
818
861
649
712
29
172
252
869
992
679
58
472
773
800
983
874
525
563
554
730
45
332
507
859
828
458
85
784
97
340
288
716
880
44
520
945
640
638
105
725
415
477
785
67
173
829
47
175
459
296
637
587
194
917
171
95
190
621
887
893
824
893
509
893
574
46
327
981
340
239
904
706
507
553
504
846
436
977
302
555
738
98
264
363
826
830
954
107
843
939
702
313
170
637
274
755
928
532
14
241
56
122
830
667
367
916
656
458
969
52
883
721
544
397
914
886
728
862
931
449
380
937
737
484
996
922
554
799
961
277
669
497
392
851
418
394
734
980
194
702
250
927
360
309
846
493
922
934
663
37
909
722
453
266
979
110
377
152
537
105
158
894
13
481
310
840
868
595
16
664
668
368
252
318
996
674
88
839
710
475
617
171
331
878
783
544
518
6
305
317
851
872
299
697
227
563
850
530
401
409
133
214
493
110
327
974
646
717
56
539
411
131
361
599
691
690
943
994
177
339
225
220
173
678
619
260
608
57
25
219
599
926
206
530
641
698
825
591
149
459
282
272
642
284
836
656
219
248
951
227
646
379
218
550
255
842
608
136
622
547
635
506
196
247
191
441
377
363
762
920
261
970
770
868
778
204
1000
589
106
116
211
99
587
770
570
434
35
233
349
636
45
578
6
992
857
154
456
913
94
93
430
476
929
237
23
179
393
11
993
533
506
786
839
167
938
324
609
494
387
207
509
934
85
168
463
205
262
425
267
614
823
791
196
554
425
76
559
43
801
319
391
648
331
862
91
49
890
627
612
838
705
939
711
515
989
214
176
409
480
714
139
835
721
481
580
878
601
669
412
220
574
618
406
787
817
251
526
447
256
778
289
258
434
691
441
226
181
709
634
912
206
794
184
713
999
125
200
49
97
112
317
809
931
833
121
723
247
247
169
353
39
64
322
589
790
332
819
191
569
163
962
928
306
664
925
234
53
859
154
25
478
987
806
374
855
785
541
671
291
730
890
708
837
764
878
713
878
76
17
31
45
399
305
464
272
286
712
594
379
95
480
904
778
441
136
573
112
614
844
945
294
71
276
923
475
938
863
37
795
119
219
639
924
8
134
225
114
423
100
269
55
565
997
696
821
380
825
93
557
47
982
751
10
204
690
250
125
588
351
27
148
421
4
8
924
707
138
755
724
523
741
347
102
483
376
744
445
890
233
150
257
69
723
762
681
257
721
147
331
793
612
775
650
719
625
357
104
844
338
551
253
344
357
881
493
825
65
951
471
41
926
529
279
809
818
6
975
255
525
906
802
388
651
14
653
842
422
724
97
358
468
386
311
837
8
593
152
47
755
687
384
436
588
96
169
452
223
913
496
123
897
298
141
991
318
970
733
313
430
679
182
553
377
301
80
180
685
507
40
800
760
116
918
24
5
13
274
15
197
340
795
784
253
263
974
300
857
741
180
902
64
121
737
588
655
341
921
199
759
651
224
855
809
313
178
993
179
883
303
486
693
373
885
896
497
165
268
776
3
417
970
376
277
429
12
342
675
562
290
391
413
765
122
607
604
71
644
573
774
951
4
324
352
19
537
23
235
454
102
148
808
811
448
459
172
743
833
849
5
757
441
923
312
16
919
816
308
889
711
542
740
802
569
341
942
958
170
633
923
961
777
469
556
175
867
131
252
578
514
348
851
315
208
586
965
150
224
894
307
462
271
134
254
132
209
693
324
26
732
105
139
791
956
695
996
222
617
643
609
455
13
277
649
254
862
800
921
813
8
890
666
430
232
389
718
956
325
81
361
504
768
187
719
383
277
763
814
722
900
110
130
334
41
76
40
852
725
594
557
969
256
816
294
749
676
660
184
668
178
433
123
552
964
435
207
193
467
467
136
606
613
114
531
620
352
155
204
113
823
902
839
190
622
342
854
128
33
967
708
588
937
402
213
577
621
633
898
477
718
226
704
714
827
332
500
24
198
679
521
331
884
99
863
68
364
309
992
879
846
179
252
560
480
800
217
104
383
674
450
305
28
874
408
411
493
727
740
158
792
123
887
759
809
932
376
593
928
155
285
708
314
264
493
575
87
397
170
107
442
248
137
722
480
812
920
593
737
824
983
171
705
368
939
466
543
262
297
918
997
604
407
85
184
693
927
632
163
499
889
61
120
310
957
280
72
559
784
790
253
206
758
3
740
507
54
379
630
914
735
720
305
138
730
733
83
145
223
171
357
6
271
874
437
632
186
595
14
283
486
114
376
484
26
17
684
797
158
43
913
227
549
979
248
353
301
807
183
74
467
85
610
464
937
972
273
643
902
459
959
692
386
604
243
850
342
35
241
450
463
874
892
312
966
910
332
677
169
111
978
16
310
263
591
238
787
664
13
500
545
363
90
853
485
607
518
852
413
184
250
796
678
598
542
123
686
410
49
602
415
407
336
263
568
216
62
440
363
37
554
356
21
427
39
65
137
269
986
892
391
313
573
162
1000
459
163
211
86
604
539
541
380
521
950
231
895
713
910
490
975
885
978
770
5
761
607
724
509
315
414
318
587
46
851
564
203
176
618
421
482
530
290
181
940
785
902
990
358
495
894
934
257
977
775
210
977
824
598
441
877
837
120
122
352
240
295
183
638
862
112
854
916
860
225
930
971
72
963
447
596
466
291
126
685
946
223
963
123
88
615
948
168
733
458
428
840
165
461
171
118
475
825
325
499
795
17
496
584
493
727
753
558
509
897
553
380
957
770
753
945
573
860
595
484
86
668
279
593
638
537
632
522
221
114
923
514
82
401
963
355
751
629
951
684
516
838
450
110
211
633
614
315
556
761
686
448
137
57
330
539
184
58
204
686
108
236
585
59
743
351
869
277
37
560
305
312
335
812
33
589
232
851
209
964
765
447
481
420
437
736
729
615
987
240
140
750
455
895
834
358
9
204
651
786
958
546
391
999
515
141
746
821
740
547
529
591
617
958
462
349
858
579
690
417
990
635
326
63
248
436
523
869
490
536
331
295
375
104
235
205
972
447
320
98
152
895
14
41
427
285
641
321
401
692
345
323
563
919
978
968
778
842
284
589
137
806
223
657
576
881
196
159
703
34
61
352
522
502
299
923
124
293
75
463
282
240
13
586
399
551
30
765
301
14
938
783
882
487
793
120
347
907
553
656
792
671
547
294
533
890
668
401
457
671
530
238
24
905
662
333
594
742
643
335
167
978
844
457
930
33
642
55
794
867
73
764
528
274
434
246
216
682
305
322
77
669
351
702
877
237
1000
6
595
186
44
711
400
950
235
473
152
688
396
476
479
91
846
286
912
166
88
387
717
200
619
884
671
82
760
577
999
986
173
770
955
67
172
983
202
518
775
331
640
699
288
249
647
776
574
441
811
170
979
296
568
67
710
264
667
284
665
306
896
395
130
611
208
564
678
71
999
5
506
280
689
897
130
970
547
511
174
918
340
279
618
838
38
49
231
91
501
408
501
364
353
852
474
785
12
966
85
478
766
874
207
246
534
266
78
24
864
371
40
473
740
789
34
460
763
668
980
372
156
594
566
272
473
696
878
81
985
301
994
902
760
892
432
634
564
916
701
549
12
543
198
696
468
137
916
977
136
936
408
204
514
821
135
32
204
223
549
908
711
365
909
639
675
473
150
949
826
267
475
630
972
22
630
227
558
52
880
301
546
244
223
793
740
437
568
332
186
722
791
55
917
843
532
172
436
81
426
328
76
455
571
617
59
291
245
814
831
617
687
895
197
322
979
174
745
776
876
327
384
346
430
716
778
806
408
186
201
689
908
706
42
879
428
869
889
209
440
687
424
14
303
995
28
128
945
396
141
817
817
45
185
982
967
896
888
997
587
758
847
627
601
327
703
703
874
800
121
423
679
592
797
334
351
605
897
413
583
375
842
466
124
325
538
378
551
353
885
471
601
60
139
743
388
721
889
847
352
789
929
358
306
480
685
520
255
458
221
944
273
545
938
11
535
753
836
20
10
54
307
104
549
311
326
440
580
197
227
706
328
378
752
555
609
157
126
239
875
214
151
5
319
538
313
597
891
99
834
284
116
987
129
107
26
394
431
769
849
628
816
793
360
406
96
854
527
438
34
834
514
663
174
60
496
864
305
269
801
347
622
761
681
617
818
911
791
635
18
983
696
53
504
415
171
494
46
792
25
623
730
491
375
419
773
539
501
254
897
476
956
648
928
719
310
964
3
359
77
402
943
251
21
668
685
680
601
808
956
710
373
187
101
640
279
793
529
266
582
468
480
991
479
574
205
770
765
678
298
806
698
563
441
975
128
98
358
25
464
562
46
842
791
51
10
41
322
360
530
96
996
289
24
153
191
987
414
969
455
273
458
387
981
945
157
196
3
17
913
229
953
132
988
384
161
268
863
391
412
71
359
282
981
656
181
967
398
555
666
423
642
672
385
641
896
456
85
461
54
908
922
986
315
708
583
617
764
66
49
255
446
348
767
828
920
500
737
947
712
705
190
971
751
836
935
407
58
306
965
552
919
583
833
967
986
795
671
843
178
823
853
607
898
786
627
791
448
383
609
49
612
107
825
99
959
845
283
203
650
670
922
849
105
629
128
280
304
255
765
487
878
870
296
43
855
496
674
466
476
230
671
809
686
991
86
887
370
707
847
130
940
326
954
859
883
654
881
729
207
354
233
589
829
345
235
75
234
44
29
580
592
984
781
1000
269
487
919
186
446
877
407
674
243
178
627
424
682
94
642
593
922
574
670
302
493
894
976
283
934
976
727
690
320
224
974
774
576
474
452
165
291
660
671
172
794
478
478
249
695
450
792
851
444
688
231
122
58
722
275
14
457
414
679
806
296
885
47
599
480
601
35
128
907
871
477
68
938
199
363
151
665
643
985
166
770
280
387
408
880
766
38
582
123
394
404
606
370
766
514
241
157
922
713
12
936
621
562
62
81
27
65
232
220
655
3
631
475
855
757
508
789
973
706
151
655
23
768
602
833
528
982
12
109
851
760
103
76
618
416
120
378
70
394
182
72
312
553
793
716
395
241
214
912
396
858
494
729
456
743
505
271
849
750
202
37
833
210
483
644
23
973
330
113
182
175
852
547
223
335
386
180
737
441
860
320
734
44
304
535
726
420
198
126
562
74
428
70
4
657
948
554
384
977
601
846
19
848
647
499
122
602
340
486
134
307
895
643
99
240
457
557
677
832
345
136
332
690
67
508
465
845
609
777
827
85
115
932
330
20
950
983
263
325
385
166
769
43
871
74
140
578
974
161
539
942
281
999
154
904
925
686
978
490
257
618
96
207
958
163
738
707
41
486
173
682
706
562
456
400
971
565
945
824
983
596
123
703
716
450
774
414
46
453
91
320
755
98
268
523
228
828
419
953
828
793
954
638
532
8
642
829
255
150
543
904
380
151
253
370
314
152
806
556
630
925
618
259
969
108
668
330
746
841
904
581
628
132
873
363
484
997
125
800
272
550
276
656
795
687
264
116
534
365
480
137
175
530
231
547
856
603
630
359
417
857
282
23
436
208
130
473
337
633
765
761
490
756
758
642
71
735
424
716
462
133
958
265
289
134
845
191
901
409
975
611
379
759
824
572
2
421
238
433
999
408
175
246
342
232
663
703
647
605
658
443
979
122
187
241
533
489
932
296
340
456
654
23
48
344
538
609
573
994
256
837
496
112
445
868
695
142
916
678
561
762
100
565
115
801
698
199
492
417
334
209
789
373
689
229
650
605
936
248
881
414
727
394
511
472
864
256
616
234
3
122
236
189
620
483
608
558
885
734
702
880
909
179
82
722
136
437
852
624
474
463
274
441
328
958
126
732
546
834
172
721
736
811
277
80
651
547
226
153
822
790
997
633
321
756
647
791
843
349
831
252
437
305
998
412
962
146
166
957
275
920
320
594
66
451
717
807
403
721
353
257
525
450
119
5
577
949
798
88
236
499
106
222
574
209
575
616
501
899
786
513
591
485
427
697
669
517
659
942
436
687
579
92
863
623
668
581
840
868
820
6
911
786
236
692
880
210
532
337
797
924
766
548
424
142
937
558
986
706
134
166
123
11
216
709
571
793
448
353
352
763
544
209
813
259
47
365
218
759
826
558
194
657
878
130
789
263
190
418
1000
529
632
695
327
289
36
48
803
506
344
261
724
519
893
45
615
932
608
886
371
417
613
347
709
869
706
608
825
174
729
533
787
76
758
693
231
698
192
810
257
400
566
244
356
893
73
850
323
27
388
225
5
484
714
94
498
544
379
878
578
918
947
102
915
314
674
982
415
508
875
428
976
183
957
370
931
388
788
650
750
989
249
198
8
900
518
982
448
929
944
952
869
621
658
911
73
253
517
569
367
720
816
61
916
870
771
447
355
835
337
723
487
146
284
301
969
637
706
718
296
80
31
158
810
251
548
512
531
184
697
770
258
681
376
554
181
940
68
958
472
986
71
434
606
379
354
979
155
324
148
956
672
715
437
988
445
190
622
433
272
129
598
427
165
347
448
148
98
16
997
410
784
203
657
388
362
369
133
274
25
149
634
341
404
526
152
351
993
654
494
527
428
610
879
253
409
682
944
441
334
933
961
919
150
839
205
954
58
38
843
504
280
264
35
229
777
538
173
767
510
665
941
526
144
225
438
339
500
843
516
742
211
205
500
426
208
569
854
123
989
465
285
273
323
936
425
371
611
27
486
436
690
136
74
211
224
513
920
287
332
143
179
442
123
561
633
48
869
51
113
177
696
747
395
53
931
914
217
751
153
513
56
316
479
802
713
229
741
121
338
656
33
966
822
616
373
927
758
837
839
819
781
864
143
705
145
727
391
766
484
626
311
476
175
275
193
190
646
674
269
728
346
371
942
111
306
579
170
577
848
230
237
606
305
556
563
513
238
356
216
204
350
733
570
7
256
229
764
65
581
771
473
275
61
584
99
940
169
950
770
652
608
427
509
754
345
373
110
160
266
326
182
148
476
713
120
696
808
557
298
387
847
626
713
45
21
21
852
327
1000
613
668
227
771
740
484
468
105
857
406
918
874
652
543
743
894
980
992
326
644
805
316
126
336
764
852
948
861
896
522
638
107
70
471
780
319
427
126
159
194
299
696
176
71
866
19
331
170
213
331
317
561
422
311
156
318
847
861
4
997
532
101
207
960
663
935
81
206
896
29
931
576
679
308
532
771
362
141
747
553
269
659
403
732
111
82
372
667
671
216
606
529
716
158
308
276
66
650
994
193
20
80
952
585
951
287
8
743
317
39
945
263
619
412
582
649
820
511
851
872
118
515
66
526
51
286
285
992
240
499
769
465
23
317
945
614
826
187
516
853
383
883
455
25
722
820
119
15
26
746
810
536
594
500
695
106
997
718
414
637
386
893
190
907
768
164
794
161
550
538
645
34
297
591
836
751
985
330
883
727
753
766
606
826
731
580
65
380
849
957
97
984
215
397
685
51
915
725
798
363
441
183
44
186
663
440
621
757
717
969
798
70
513
852
887
129
52
448
318
233
700
680
895
187
367
712
186
480
971
39
984
622
133
646
674
544
636
294
482
658
521
691
593
465
616
533
344
682
387
674
935
905
595
93
62
964
534
438
174
890
50
523
803
275
582
318
645
899
522
845
430
214
543
435
655
814
218
999
451
604
756
992
600
215
655
940
750
697
810
903
306
427
568
427
863
592
246
539
889
372
397
728
205
449
365
148
138
364
33
665
989
146
787
388
541
895
287
177
904
571
49
374
432
587
460
56
446
292
897
861
805
129
370
649
725
348
807
533
657
533
877
542
717
930
892
353
274
983
116
850
858
996
751
539
554
502
497
61
975
658
836
643
380
762
587
832
377
614
398
348
716
770
266
349
787
890
42
644
339
318
515
2
598
742
586
730
171
964
357
524
106
628
671
88
796
318
857
924
540
387
415
813
621
574
251
50
913
251
951
459
741
811
991
919
495
982
132
196
488
896
432
930
79
359
744
367
934
400
605
217
792
163
891
583
365
877
683
13
85
880
119
875
811
814
827
311
352
821
854
292
530
438
770
1000
441
779
263
533
293
108
714
457
100
411
882
348
933
19
870
897
610
118
836
629
811
904
721
483
704
953
88
537
794
283
568
443
965
554
769
58
832
87
753
89
97
990
659
454
843
779
240
527
601
568
326
346
616
562
849
992
207
658
66
393
879
195
898
524
617
70
382
565
964
487
984
354
663
69
866
369
584
998
671
921
242
340
294
948
232
167
935
56
650
169
120
704
926
422
559
825
908
92
560
271
891
712
885
670
594
167
515
456
345
697
488
488
759
458
236
932
198
501
152
780
370
290
523
356
966
88
128
674
980
109
786
425
351
661
979
261
486
768
1000
476
437
410
301
828
476
107
293
645
168
532
493
283
415
224
917
857
185
398
337
330
957
706
600
672
488
681
296
479
805
448
921
44
911
627
479
810
414
936
997
369
14
893
259
660
795
345
509
97
71
578
208
579
320
913
796
377
545
690
644
214
828
500
251
17
451
830
572
779
428
251
829
803
492
364
828
446
592
267
403
563
855
180
773
495
823
361
572
319
791
402
564
19
989
707
789
621
262
273
640
130
540
51
58
889
619
242
115
213
458
954
23
637
8
340
95
75
285
291
297
949
730
473
749
564
101
229
269
750
236
614
562
322
806
536
62
105
554
291
767
850
109
480
912
640
36
315
926
706
287
930
60
298
80
771
120
82
247
829
364
386
135
827
173
945
997
698
409
471
496
28
599
23
179
985
561
436
885
563
310
905
463
371
250
478
990
498
678
885
946
765
968
888
846
358
151
543
155
988
474
352
57
303
169
717
594
48
27
295
898
65
782
483
278
616
205
470
187
640
347
643
609
378
871
621
817
27
667
320
374
454
886
551
832
860
619
411
661
43
45
464
870
799
582
553
711
342
624
839
595
853
16
634
797
398
321
47
289
988
732
9
500
789
558
595
236
370
759
159
636
89
244
332
691
838
897
941
571
821
295
612
49
964
53
969
143
152
925
486
585
790
650
420
729
785
60
588
782
686
793
194
770
203
155
393
757
353
63
203
323
476
874
177
699
84
657
558
667
39
64
256
441
924
826
819
191
253
813
662
19
837
170
972
280
575
625
335
236
396
681
364
170
912
126
885
445
289
142
280
170
62
36
275
796
399
673
931
961
480
184
35
483
344
264
717
272
907
897
244
642
259
804
923
429
399
221
340
421
808
593
874
652
856
647
637
729
407
223
597
139
984
798
523
403
543
74
4
531
834
427
100
759
897
530
746
420
434
450
219
629
350
751
726
457
685
230
473
941
563
206
21
999
25
67
871
141
814
327
171
479
79
93
238
724
316
752
297
837
987
574
927
954
250
474
104
756
316
403
738
788
138
539
549
341
106
709
13
159
769
740
749
627
168
537
659
28
291
136
102
923
415
539
243
944
847
799
237
846
638
549
571
600
274
909
848
873
760
493
788
466
189
231
908
504
626
392
388
523
430
596
597
508
699
338
48
92
990
941
121
324
1000
372
423
145
845
643
334
213
261
574
565
500
316
72
768
318
217
560
47
341
25
187
821
407
130
504
673
71
324
149
295
837
343
600
954
347
42
162
181
943
995
563
635
268
573
1000
802
334
12
347
324
440
930
316
346
925
433
656
199
90
665
100
875
495
159
612
889
26
532
748
510
156
754
426
52
982
876
724
339
287
107
891
31
96
918
853
108
784
805
257
171
150
430
131
756
589
457
92
698
438
509
712
590
799
255
840
681
299
941
310
917
569
460
375
368
381
977
556
991
294
917
847
416
574
512
312
545
193
402
626
806
450
708
876
191
197
774
505
883
191
255
212
816
878
857
393
727
647
866
830
300
263
911
275
145
879
437
44
865
53
344
523
382
811
302
480
155
442
454
363
702
300
876
791
603
486
351
167
263
311
925
308
431
420
489
120
687
906
668
119
537
665
409
916
920
836
235
726
426
146
411
557
877
700
952
549
140
648
925
948
376
45
562
308
604
919
718
593
709
547
706
173
556
607
542
851
781
106
397
895
549
740
799
605
744
920
403
741
47
512
739
106
11
554
956
435
82
287
237
437
693
732
900
785
533
945
518
635
705
157
80
847
606
197
298
824
426
706
68
627
356
529
174
441
110
940
726
384
348
49
909
558
751
790
411
392
795
747
64
563
199
676
788
627
551
617
59
44
120
506
788
56
1000
790
276
379
992
96
657
337
900
723
5
627
543
763
555
970
396
195
24
479
993
254
345
563
445
997
771
584
714
950
256
25
655
642
916
979
502
661
36
909
578
350
917
59
243
738
722
548
523
889
794
205
190
384
53
477
635
129
147
635
542
710
967
982
37
785
754
19
220
852
388
272
964
336
342
744
18
721
504
787
595
812
317
806
986
767
584
580
34
96
701
538
270
923
170
317
613
881
203
366
629
122
340
535
857
372
755
616
871
611
593
268
89
239
4
89
169
330
415
405
316
878
257
235
664
709
370
317
872
552
950
882
868
960
138
908
242
355
986
42
927
14
110
877
415
948
180
428
745
619
481
523
532
256
206
809
604
736
45
354
408
634
74
702
259
466
839
677
252
24
777
167
739
448
355
747
409
64
264
793
489
394
338
377
74
211
12
922
547
47
787
916
380
217
990
66
573
886
545
981
204
350
286
289
107
647
261
914
641
309
979
396
425
996
176
368
947
942
543
684
53
311
219
865
546
612
326
852
7
526
109
897
137
99
41
30
253
463
111
677
141
190
426
33
152
84
101
645
54
709
725
736
530
998
328
119
158
677
861
130
307
627
102
193
742
741
394
601
484
456
539
217
979
840
779
590
566
598
123
917
432
586
43
979
775
133
760
132
203
696
271
947
460
402
122
318
384
38
436
838
992
755
328
663
528
723
536
508
498
799
724
928
752
145
38
635
449
155
819
170
671
248
340
394
98
622
729
927
147
561
548
777
589
408
881
6
57
235
687
110
589
548
507
959
764
184
10
645
929
352
544
690
37
572
270
428
113
746
567
358
797
738
147
981
46
722
296
433
446
33
239
751
871
591
807
162
907
662
584
678
673
331
129
862
718
689
74
560
406
249
589
153
48
495
310
273
243
767
658
570
358
920
194
166
573
661
828
845
818
679
898
791
982
618
855
4
674
340
162
826
756
195
636
579
413
465
863
781
24
52
858
532
741
229
320
917
674
147
558
655
276
345
262
46
435
521
372
330
965
655
958
979
933
280
482
915
764
13
774
754
886
924
718
656
479
25
100
448
395
814
999
46
452
755
913
369
766
165
539
114
340
491
99
547
828
339
970
669
686
595
470
118
824
384
382
479
410
283
573
623
770
709
35
304
501
480
64
149
187
827
815
208
831
722
708
349
551
622
642
562
537
715
353
548
352
162
296
248
497
145
949
925
412
495
592
152
883
928
455
256
356
991
797
69
413
152
178
458
984
118
3
10
886
888
897
374
280
2
145
908
187
317
999
207
336
101
79
663
816
635
35
529
514
961
955
588
52
248
452
590
326
796
22
586
141
951
940
275
557
174
794
408
693
351
990
241
377
92
858
454
177
690
181
326
533
136
464
743
424
917
655
149
825
397
958
375
800
838
180
357
61
294
793
799
49
820
328
914
514
856
823
339
513
447
236
101
190
611
563
56
540
164
824
123
361
509
308
610
510
779
192
411
272
701
843
503
384
719
846
903
279
468
503
292
907
701
997
599
441
469
637
933
894
313
483
847
558
222
49
226
729
328
762
54
803
742
239
7
4
867
194
846
978
572
667
503
307
639
897
193
714
987
717
13
482
308
983
695
397
702
291
888
464
984
276
442
389
711
734
429
140
958
625
741
533
943
242
138
288
340
411
960
783
221
450
539
331
608
885
741
813
372
902
411
466
604
4
851
650
244
241
132
113
69
392
256
126
656
260
988
860
492
81
5
573
526
228
826
640
807
955
782
462
754
334
733
843
257
787
548
221
277
860
953
734
389
934
511
406
788
950
808
32
947
728
155
503
517
333
112
944
152
592
764
945
782
755
523
419
57
198
455
749
457
928
279
717
740
825
245
181
807
814
246
864
252
719
607
344
739
457
983
71
985
334
213
404
712
632
560
981
51
754
282
800
66
765
815
162
794
13
486
314
444
991
273
725
608
68
479
473
648
566
478
153
839
133
260
210
66
368
74
514
409
467
16
666
393
724
731
435
999
510
465
887
777
889
392
423
795
512
392
397
818
116
319
563
244
194
418
398
717
752
813
276
570
902
196
736
456
285
587
685
165
21
677
292
465
644
742
404
342
298
13
364
293
795
295
684
435
538
983
584
686
632
20
419
364
590
994
439
777
778
174
728
666
932
628
196
904
248
364
237
606
469
72
128
695
778
312
554
727
463
363
33
726
611
831
993
631
516
196
520
611
127
690
924
932
745
150
946
867
832
64
189
415
802
7
560
154
879
713
762
496
805
827
248
265
689
984
428
453
589
819
180
618
613
577
361
453
263
399
547
574
207
767
170
775
668
773
544
470
4
274
569
920
972
18
841
634
900
314
286
160
165
443
320
148
174
646
778
600
390
825
78
84
570
777
644
929
600
150
441
176
561
898
81
912
159
388
189
357
78
866
575
40
483
158
725
440
434
42
920
949
609
283
754
764
638
11
610
595
413
301
771
607
70
418
86
589
703
177
641
807
68
844
309
89
464
917
591
174
259
192
187
649
345
716
459
171
662
397
482
514
989
269
726
931
875
272
796
298
396
909
575
525
497
449
395
173
232
638
728
600
231
633
48
567
626
752
713
392
198
436
95
904
705
385
381
835
847
787
104
153
616
925
625
384
33
702
613
188
575
351
497
818
899
198
794
184
590
479
268
138
639
24
671
875
803
897
863
272
680
154
403
429
49
668
37
935
809
542
244
405
531
627
896
132
426
999
839
5
38
387
222
59
539
741
436
627
68
156
382
753
297
645
349
379
987
830
945
530
897
876
490
298
89
208
176
276
906
152
477
547
511
122
246
492
594
510
689
285
997
410
339
15
127
121
321
843
506
462
295
972
439
759
972
771
353
587
125
398
504
36
227
32
523
523
422
722
645
977
677
372
690
929
693
259
78
57
782
978
711
777
795
571
508
530
951
477
753
187
201
935
432
820
12
68
647
699
32
345
681
521
39
868
762
711
278
525
900
17
792
792
515
87
330
142
467
769
180
24
468
891
145
713
944
838
520
427
128
753
191
865
354
814
738
429
927
272
394
365
21
986
383
452
303
81
339
56
721
99
978
774
176
352
945
214
717
729
903
130
181
557
174
632
598
386
984
768
991
158
898
165
189
216
413
568
200
668
279
85
457
261
210
219
375
105
848
361
111
998
808
349
828
410
766
761
466
24
407
419
228
331
935
665
871
787
107
380
57
847
683
15
699
234
959
994
309
1000
755
44
626
492
166
745
521
300
740
950
398
791
684
600
50
988
152
870
542
873
897
734
519
951
728
13
89
960
658
33
969
42
670
128
140
806
571
780
47
640
328
714
948
240
171
594
213
944
681
94
174
618
270
837
634
162
217
295
886
194
950
795
467
306
174
62
352
15
979
509
565
90
810
214
522
554
567
620
875
825
982
921
547
736
785
573
306
387
788
493
965
875
522
751
269
170
736
275
664
788
522
923
196
199
683
401
687
344
354
37
898
708
497
346
875
56
784
523
814
116
598
700
83
597
197
910
778
757
978
587
970
698
489
664
439
130
837
293
416
443
530
711
487
841
795
785
177
780
990
510
734
348
357
80
446
680
111
939
943
839
547
668
756
643
799
218
763
29
180
383
803
25
945
511
568
833
903
725
832
421
918
977
920
104
886
439
971
666
542
491
697
396
575
808
733
451
186
861
709
706
859
464
707
521
269
873
594
135
30
572
329
497
609
174
507
766
178
71
372
344
387
64
467
964
573
877
592
76
661
2
105
877
847
681
70
83
547
689
296
515
315
351
438
348
308
283
549
614
38
475
909
950
854
989
107
544
235
872
643
445
842
633
385
370
369
539
289
101
827
57
45
768
164
656
517
915
520
907
252
797
420
640
439
418
366
659
164
53
141
927
739
660
525
198
176
356
443
216
567
999
819
198
32
25
559
785
727
650
998
352
695
181
481
36
471
940
180
639
975
503
759
654
838
586
229
820
158
497
37
301
409
882
474
862
722
139
261
497
928
410
240
773
834
81
295
11
829
145
760
785
979
95
688
130
334
658
726
287
234
397
797
592
242
717
565
613
527
400
978
674
562
964
600
577
394
276
268
848
750
191
128
255
877
638
195
693
870
463
982
252
472
57
178
585
345
436
590
705
766
664
520
247
395
151
479
51
364
138
185
795
107
553
480
6
195
380
744
657
396
343
866
673
937
960
112
30
602
433
267
991
515
231
496
186
101
250
204
870
69
841
169
317
443
640
629
308
292
496
54
11
775
740
121
592
116
469
944
569
660
590
380
554
315
570
924
499
724
593
482
579
724
479
475
211
307
149
446
764
880
582
861
998
919
894
582
362
687
647
910
146
135
462
829
408
239
369
498
856
854
805
567
275
601
881
297
850
878
822
210
190
42
783
206
138
584
134
551
815
327
575
315
139
108
359
280
413
874
879
785
769
890
238
356
169
557
547
879
219
364
613
561
711
931
892
156
337
950
932
569
53
538
852
529
811
256
721
364
854
543
911
563
304
995
299
859
324
565
356
840
466
649
922
850
912
361
278
201
803
19
644
176
707
367
526
422
137
91
423
959
546
517
348
577
758
928
790
947
468
789
861
414
812
72
971
470
867
484
170
56
608
187
703
132
740
814
818
792
294
325
611
62
359
862
955
722
874
370
399
703
741
93
398
221
624
557
243
589
689
49
709
786
984
824
259
62
379
100
614
901
221
586
515
421
448
69
107
304
68
115
889
370
698
25
984
264
400
392
650
205
107
453
374
610
734
887
43
770
73
726
227
794
430
698
557
425
341
211
594
918
141
269
187
621
693
269
109
218
592
302
515
519
138
522
415
983
955
600
554
902
840
548
152
597
794
748
306
444
693
279
184
435
213
34
370
917
188
235
140
368
944
285
195
423
617
939
173
972
930
438
101
450
564
618
937
219
879
356
614
771
638
723
938
480
74
492
12
703
426
582
192
596
778
303
649
427
601
65
595
220
566
531
511
796
192
506
606
542
363
236
491
685
374
816
530
332
490
399
834
834
780
887
482
39
942
888
125
792
561
966
810
522
120
997
346
258
407
652
722
642
462
698
231
313
364
749
273
82
9
1000
490
813
52
149
702
263
213
279
877
371
226
678
148
506
383
341
860
368
571
387
386
222
885
243
156
331
707
629
249
545
522
181
426
169
99
935
767
666
781
298
234
461
723
794
710
612
606
993
167
663
490
593
344
891
718
434
631
788
852
579
212
750
582
680
68
825
294
97
390
119
473
450
697
488
513
882
294
855
812
607
262
170
753
19
275
681
594
64
697
967
617
964
999
43
980
944
748
20
692
824
51
190
501
220
540
759
251
666
165
572
486
430
714
860
192
225
518
737
362
814
735
551
846
182
479
24
898
121
364
658
320
655
27
630
79
114
772
738
306
193
967
192
515
31
883
23
564
137
549
16
543
27
51
359
119
956
564
892
542
450
84
963
871
174
851
578
591
874
103
771
75
254
275
774
872
519
331
668
116
228
768
467
907
253
133
182
134
338
583
763
268
156
603
656
981
877
782
776
14
859
282
250
102
678
193
908
137
636
981
314
493
377
961
533
407
274
122
101
569
53
783
900
416
624
455
835
296
155
629
780
291
700
361
932
620
462
138
768
153
581
215
36
288
73
14
632
464
863
305
708
349
679
431
361
447
877
984
524
182
82
877
600
567
340
729
227
261
404
68
246
228
40
997
655
300
25
379
65
213
192
323
588
890
320
353
751
592
569
252
322
776
735
533
207
47
336
837
500
715
953
66
427
890
895
893
929
991
121
26
674
354
48
829
74
925
761
213
711
262
860
798
562
321
615
975
244
74
882
411
291
431
57
685
872
641
118
927
832
674
83
317
163
420
584
708
737
555
357
647
835
105
366
456
122
219
190
173
335
59
515
997
574
792
710
804
72
70
352
91
78
993
326
483
310
907
563
179
115
303
529
234
971
132
189
452
743
341
237
676
112
646
399
854
620
940
911
38
415
525
824
514
570
197
231
625
319
565
780
400
79
614
174
508
35
472
199
63
641
589
789
723
607
962
358
162
663
411
179
706
610
105
935
685
367
95
482
634
525
752
163
891
368
548
828
838
808
838
743
649
403
995
307
218
267
350
730
457
451
870
160
330
847
828
952
729
800
947
269
419
102
956
150
648
282
68
265
50
73
581
253
347
334
762
790
508
92
198
73
357
461
211
586
233
514
615
466
617
960
454
157
406
712
392
29
606
983
8
180
41
438
411
124
324
952
21
895
560
207
496
902
315
63
95
934
232
736
973
289
593
285
831
891
576
247
359
748
500
783
704
421
154
334
402
206
358
950
653
865
397
913
652
206
973
436
554
952
765
381
843
949
893
703
790
76
519
187
547
163
737
279
712
255
939
9
375
79
188
310
794
333
193
251
568
738
164
104
974
317
64
492
396
947
267
527
447
818
256
378
734
178
222
312
420
484
530
495
474
724
367
316
799
23
532
719
270
376
680
801
507
839
754
830
56
624
563
861
814
335
101
656
200
952
90
767
727
50
794
176
573
48
960
978
153
254
803
292
900
759
6
392
366
496
478
172
183
97
843
212
425
179
337
708
758
511
226
827
100
602
722
277
679
829
594
250
423
182
676
205
32
167
879
788
966
254
756
753
339
78
271
147
381
812
227
564
510
164
83
159
90
706
170
793
198
761
136
163
47
500
400
988
626
376
528
733
180
269
694
357
788
416
230
868
173
57
647
147
253
600
293
892
284
675
131
503
200
382
740
980
537
329
755
346
849
463
191
314
389
996
94
13
796
874
696
728
206
885
984
557
623
140
576
385
253
768
374
463
473
970
370
500
198
867
311
978
677
297
807
275
465
279
516
998
707
309
908
652
234
636
756
40
797
230
431
52
759
679
237
852
566
597
195
853
161
699
258
436
839
670
38
721
144
18
168
828
15
81
366
180
72
288
214
89
181
332
212
724
514
449
431
141
265
319
170
357
793
598
361
20
406
663
669
503
376
710
125
442
769
864
653
595
753
647
587
293
16
863
150
649
425
905
453
156
981
499
112
832
252
119
900
946
402
798
4
470
899
329
139
836
985
745
25
798
696
185
474
645
576
180
89
600
493
837
331
4
694
41
899
197
498
286
262
349
386
327
41
346
273
391
813
796
716
574
89
629
569
968
543
346
31
950
497
184
948
798
82
137
986
651
825
831
58
890
100
630
722
80
970
47
998
999
329
944
191
824
854
919
212
248
436
91
116
952
559
869
720
111
374
577
812
708
462
414
701
389
138
148
963
918
402
871
691
633
209
44
365
722
639
672
631
173
409
833
166
502
825
324
990
715
931
124
501
77
265
403
184
449
918
804
413
301
203
152
633
234
513
531
453
584
519
661
885
551
448
17
657
160
759
140
543
816
196
730
796
689
533
667
977
598
356
901
453
833
158
164
204
693
423
93
644
775
508
682
292
903
996
469
624
762
741
182
22
485
38
120
73
790
80
245
506
332
549
361
795
586
132
611
762
552
250
146
165
121
707
874
302
798
613
566
818
705
273
587
20
83
597
146
142
248
695
618
328
404
822
96
703
736
110
914
904
700
504
953
248
578
949
830
837
63
772
504
874
153
486
896
383
838
653
541
453
550
354
292
259
169
388
174
918
112
134
112
488
605
936
123
581
691
766
980
784
8
364
96
812
213
781
179
652
826
752
248
577
854
147
278
567
549
706
469
540
317
15
973
187
28
460
474
175
297
440
896
347
730
96
850
497
431
806
17
806
171
344
505
738
366
819
487
477
993
668
44
713
401
271
798
539
490
284
212
749
760
808
821
11
677
643
733
858
651
190
845
128
820
97
523
322
173
255
884
773
700
598
854
258
939
906
578
508
577
163
591
783
750
888
536
905
576
519
725
448
30
805
883
518
876
842
540
144
441
661
809
851
659
11
884
465
758
370
60
435
497
658
600
148
605
887
603
220
838
596
282
859
756
559
65
494
195
448
503
102
963
313
418
738
401
338
658
576
825
820
77
175
273
807
458
855
64
971
616
528
690
307
382
993
540
72
41
755
861
68
820
549
603
248
480
924
712
600
58
917
468
537
342
926
733
854
552
787
369
704
848
25
319
955
25
723
56
21
275
303
693
12
634
551
714
403
645
487
901
122
756
313
808
169
633
968
319
780
449
862
151
393
725
81
772
842
501
850
486
290
872
237
825
830
125
50
793
667
398
5
246
984
585
328
843
224
357
780
591
851
277
347
49
96
995
686
785
582
859
460
405
916
390
639
384
849
500
531
516
489
244
359
821
828
555
992
801
550
672
333
792
290
796
625
759
100
351
34
642
218
688
134
439
17
479
66
397
676
159
681
535
534
112
88
377
202
385
577
509
897
117
286
507
188
322
198
227
605
223
238
477
890
863
743
375
801
784
310
482
834
7
10
369
436
946
222
822
472
947
67
250
285
211
391
304
768
412
475
215
696
382
622
380
939
417
756
928
13
43
889
924
581
849
490
501
68
617
242
679
883
123
991
143
357
286
981
191
448
679
590
600
823
393
508
637
596
430
627
183
714
118
684
774
754
947
41
760
487
550
716
675
399
895
400
45
496
903
515
982
152
316
89
137
110
189
986
200
584
116
820
987
204
877
726
859
204
371
578
941
848
862
324
5
839
38
483
434
429
854
635
869
397
13
89
983
145
802
950
2
690
745
924
437
363
466
649
70
637
429
244
155
22
333
227
581
855
666
200
228
157
777
600
157
843
721
834
467
852
478
458
881
8
984
792
594
393
76
3
899
393
422
958
849
951
805
421
927
306
589
261
49
78
654
429
499
351
186
112
535
434
520
617
350
187
847
735
795
904
131
531
7
388
31
885
707
283
492
746
84
740
7
921
541
382
94
62
432
725
836
611
116
762
551
713
238
636
512
834
64
315
962
450
171
331
377
510
419
55
148
915
478
469
742
345
866
521
616
38
251
104
896
3
943
290
314
743
727
88
963
116
174
445
568
696
335
932
846
492
747
394
874
957
110
815
566
113
961
21
939
74
636
494
221
146
349
914
928
752
815
87
502
8
736
59
683
613
921
19
346
579
943
963
814
662
505
714
324
362
722
847
666
47
625
577
789
27
764
32
274
554
609
286
429
750
724
18
807
475
383
370
494
577
548
899
105
237
919
881
560
547
390
546
946
799
554
834
511
497
12
743
740
476
356
410
812
831
512
211
371
616
224
203
881
65
450
663
1000
457
163
848
109
132
8
535
395
385
130
577
132
6
52
600
470
386
298
186
987
130
422
411
238
861
69
226
952
530
835
944
99
233
883
758
962
897
926
394
597
37
23
421
733
204
640
601
457
57
79
53
578
79
546
575
992
255
237
181
781
936
378
400
309
989
799
413
790
735
312
469
239
816
814
44
413
521
83
406
117
782
318
17
817
263
792
549
529
460
868
37
129
73
313
845
573
12
67
750
148
259
787
574
257
835
462
30
926
178
174
732
245
769
700
355
204
55
1000
646
522
427
665
727
599
287
65
376
247
158
951
300
339
286
386
637
822
333
349
33
956
661
976
152
3
391
525
610
324
334
261
542
670
352
597
289
67
521
478
847
365
881
750
913
160
464
351
181
942
846
562
783
942
723
385
917
545
102
87
224
787
726
370
333
154
153
98
658
846
88
407
448
650
973
265
966
186
448
55
120
724
48
263
57
199
582
804
238
373
738
332
993
321
870
255
422
836
508
490
233
17
60
720
762
625
913
264
1000
314
739
185
476
835
980
507
512
384
505
683
872
158
169
86
529
268
704
285
285
144
156
610
395
273
15
442
816
728
762
393
853
575
166
69
26
238
100
883
860
847
265
132
450
210
599
55
297
74
615
779
531
899
642
555
208
811
214
947
891
534
228
943
707
50
34
820
837
760
615
677
468
741
252
322
716
350
811
270
457
911
845
614
626
634
478
779
239
387
777
254
999
869
682
612
412
622
316
164
502
803
903
816
472
866
997
850
846
886
127
765
284
855
762
482
782
658
250
190
165
780
79
328
127
857
870
639
865
725
773
493
958
220
890
387
637
700
80
793
515
242
683
444
653
590
923
410
348
992
803
33
777
427
298
682
609
743
600
894
990
90
939
55
318
766
412
88
943
27
723
749
681
332
58
698
210
848
68
571
798
252
8
139
989
565
229
418
954
415
614
275
669
351
935
201
309
682
217
152
538
242
445
180
804
959
919
885
318
695
822
638
652
138
914
177
480
820
380
116
349
760
200
289
658
284
749
767
750
574
733
281
8
837
861
50
52
428
80
893
767
846
652
121
311
980
860
926
884
898
27
924
122
959
699
303
499
75
367
699
175
91
535
772
388
325
971
580
183
506
952
970
200
165
6
824
24
366
331
855
256
699
339
450
471
301
440
830
12
7
264
75
83
769
461
440
357
960
783
49
426
799
360
841
561
734
765
783
301
500
161
118
125
789
303
499
412
397
795
158
628
284
355
316
41
961
479
531
222
388
943
828
900
56
390
580
616
490
916
887
377
402
520
14
876
939
781
612
802
707
481
798
362
479
361
653
529
631
736
393
124
995
827
189
361
700
944
559
480
177
612
690
700
554
283
521
788
603
84
219
403
323
633
627
356
759
64
300
484
714
511
52
170
992
174
303
757
205
519
173
958
223
229
822
794
34
428
233
846
787
699
447
93
87
302
439
244
841
885
863
181
227
87
805
205
413
938
265
665
287
378
861
562
386
24
78
99
808
975
253
943
141
222
538
552
46
50
94
519
105
323
943
747
907
885
521
708
904
158
209
692
290
637
438
301
47
602
102
830
894
699
589
709
995
201
169
76
233
555
1000
855
487
832
39
945
52
238
581
667
687
510
385
410
968
687
216
2
534
157
161
376
93
869
285
93
571
749
592
230
286
782
221
776
757
514
485
657
867
33
449
475
492
372
283
677
536
924
532
511
458
692
940
708
515
186
708
650
697
669
118
432
552
687
753
317
333
29
640
603
974
104
212
197
756
233
263
301
28
757
355
141
549
996
699
446
5
744
912
674
990
304
412
828
212
399
453
78
518
20
378
611
451
918
581
861
493
73
626
495
426
446
152
541
899
626
650
96
594
29
154
851
984
951
230
258
133
38
501
204
443
309
141
699
302
177
454
3
928
785
247
697
378
196
16
576
856
524
56
467
986
948
530
867
677
642
608
8
477
798
557
814
522
51
445
686
54
653
847
121
490
788
342
864
76
558
619
8
234
831
828
149
349
209
770
673
433
620
155
226
194
435
58
807
920
54
802
357
782
345
16
305
332
513
758
870
757
502
83
439
827
935
860
33
231
581
693
790
836
823
640
661
382
726
854
258
619
971
364
348
599
310
962
613
46
496
976
77
670
246
825
65
498
136
839
53
604
853
685
170
574
705
226
677
572
320
263
870
632
238
815
482
789
59
988
878
672
571
274
544
220
235
175
811
624
395
228
923
381
792
520
853
467
866
751
534
379
837
104
709
924
505
781
959
316
267
189
782
475
889
591
6
240
214
719
311
392
16
194
614
729
678
189
150
606
966
527
205
642
59
76
69
917
320
19
437
855
352
525
755
963
46
494
161
891
284
912
244
327
449
996
576
225
795
187
680
39
670
605
64
223
365
656
374
727
215
885
648
751
823
737
83
495
449
358
429
698
666
586
249
541
656
256
890
218
261
361
128
647
565
524
135
437
328
824
185
382
133
341
51
317
806
18
474
687
769
765
799
521
264
608
627
677
313
420
651
458
567
396
811
788
59
258
26
613
7
837
123
5
869
776
59
14
916
367
441
164
797
931
607
814
254
548
340
780
750
383
499
241
921
151
566
835
536
281
109
297
680
976
411
301
184
376
264
207
866
887
163
212
330
463
683
705
598
141
999
609
784
89
594
455
557
645
798
305
1000
429
602
431
84
264
519
569
278
76
874
569
89
487
922
519
953
637
828
750
501
941
254
608
258
102
233
427
90
130
847
647
82
368
65
776
756
492
220
627
856
117
665
584
59
6
936
260
619
680
490
331
690
567
339
918
257
752
335
559
935
72
9
496
841
171
846
558
570
556
921
318
91
917
722
319
888
577
538
165
391
939
169
212
957
582
510
367
104
543
935
61
557
508
55
79
43
554
308
60
380
264
598
225
539
716
423
818
674
947
180
964
952
645
619
649
845
107
441
5
734
880
341
350
110
554
65
151
136
912
313
557
289
550
503
245
622
99
875
616
601
119
256
399
602
513
511
109
657
646
995
437
664
662
425
446
673
572
727
582
122
23
21
645
752
598
490
602
763
902
607
554
249
967
826
975
696
536
824
786
417
537
824
567
748
709
423
814
665
698
754
272
304
551
219
505
226
565
552
527
185
250
256
480
68
45
745
707
344
166
191
699
273
26
333
15
200
566
323
314
59
58
742
567
151
908
918
758
814
529
376
98
546
459
711
103
867
75
592
312
928
597
881
360
240
317
514
410
786
380
40
849
926
557
107
650
982
628
27
937
928
55
130
792
665
402
133
588
913
676
607
368
221
856
885
100
971
217
927
104
147
893
47
202
955
288
753
14
516
621
443
412
840
368
946
157
387
651
538
55
686
570
17
445
771
142
706
952
817
123
38
462
526
335
68
485
732
480
536
533
314
717
75
568
883
491
317
784
519
963
680
288
825
3
995
351
671
148
425
323
630
751
674
128
58
502
281
21
475
768
331
20
843
812
95
930
714
720
448
850
848
118
958
69
452
913
569
546
459
837
592
902
755
675
474
590
49
284
151
115
544
35
773
230
700
120
342
388
929
514
471
273
698
178
694
455
238
888
650
729
205
620
463
767
704
672
304
964
130
653
498
213
742
383
901
815
18
135
555
852
121
841
669
398
205
174
882
354
302
229
638
452
992
350
370
93
737
587
669
886
971
323
828
762
511
272
921
346
739
765
741
934
519
22
442
216
206
258
740
600
708
455
220
322
212
31
63
855
19
570
217
672
605
413
591
481
115
610
997
378
638
771
47
637
907
812
696
98
243
925
858
934
362
350
88
223
649
218
59
627
250
218
923
269
559
291
308
86
541
90
480
882
4
654
724
748
811
735
307
656
185
357
478
923
957
405
680
300
763
924
52
902
517
121
450
300
415
764
734
24
235
136
128
257
159
524
393
762
37
855
508
782
927
122
337
338
407
131
613
382
909
894
707
558
107
274
714
332
311
143
993
500
733
702
235
254
348
12
556
304
457
322
646
58
563
642
947
670
382
821
223
722
102
47
377
463
430
696
501
820
31
221
322
487
793
311
604
519
861
765
579
278
811
75
951
755
159
281
532
107
503
608
49
70
583
207
892
991
540
891
101
543
513
871
962
570
484
619
895
401
743
294
478
691
270
458
80
487
894
191
404
411
945
911
591
611
869
314
538
894
74
956
486
763
572
430
324
57
360
888
842
243
630
906
698
22
319
366
823
574
473
207
38
813
316
671
397
738
782
73
294
348
487
783
921
849
612
686
578
660
523
129
328
182
538
111
263
655
706
195
872
808
329
266
517
792
794
82
801
346
283
38
84
151
327
700
839
890
136
223
74
822
583
237
670
998
896
470
266
635
831
756
580
734
261
677
88
497
791
532
32
644
852
92
439
208
243
89
878
230
156
229
614
629
909
457
197
725
583
325
162
911
825
61
174
679
983
876
693
468
752
499
469
274
188
841
525
738
229
583
986
840
424
938
625
607
843
137
561
955
257
924
606
985
423
82
670
488
541
688
570
743
808
29
879
632
349
693
516
247
652
360
697
147
55
357
904
929
50
337
991
916
372
356
585
611
229
416
789
241
59
503
773
678
393
62
699
259
929
455
318
338
737
697
377
276
239
251
68
715
882
640
234
344
361
166
584
276
768
630
122
790
456
890
314
749
541
181
262
61
717
652
776
313
671
441
302
137
421
811
145
994
613
970
983
24
983
147
837
339
404
598
828
528
233
52
480
966
226
885
473
260
900
77
423
695
501
559
549
885
921
982
542
621
154
414
353
951
225
883
642
37
322
488
170
285
83
529
689
360
645
864
404
524
265
281
808
18
579
620
267
140
196
521
139
750
851
715
61
50
143
94
997
212
442
136
529
111
326
416
763
229
28
902
426
339
612
703
332
601
464
287
489
143
623
3
510
236
354
123
403
272
332
249
530
106
267
597
155
739
599
406
712
913
146
300
288
410
657
93
621
421
333
59
160
419
5
774
457
892
360
537
277
226
632
56
282
646
275
86
485
881
316
444
78
804
489
50
378
873
186
821
432
518
141
213
188
318
24
676
139
549
897
17
889
625
60
145
92
487
11
260
801
262
498
434
649
269
951
798
345
628
938
86
208
620
917
783
664
102
291
190
686
916
720
882
657
922
608
685
655
890
517
695
999
709
562
349
163
690
703
913
281
387
554
688
15
428
793
528
261
428
323
18
74
77
882
89
847
348
764
205
491
875
999
454
439
786
683
185
808
382
143
324
883
334
703
301
930
30
563
898
436
132
336
429
953
293
250
928
121
680
425
993
390
262
69
485
27
249
491
161
876
492
888
419
378
388
620
240
911
397
806
774
657
990
898
889
937
739
255
973
656
2
77
38
841
735
202
187
701
565
718
176
890
402
517
968
762
427
582
465
925
874
207
827
559
616
539
923
444
464
14
530
149
212
664
402
854
330
441
5
748
226
937
988
364
694
810
956
676
138
707
465
79
114
573
816
230
211
357
100
362
644
794
398
319
578
339
853
89
40
805
42
4
237
836
483
186
995
688
779
406
524
502
436
550
860
923
758
526
270
215
379
459
899
247
690
476
630
483
945
127
513
701
536
932
22
123
3
599
580
801
585
542
273
51
776
483
116
199
387
842
685
293
959
995
750
72
364
225
12
790
138
719
125
568
707
541
376
45
278
919
237
136
125
686
462
339
765
610
565
835
224
67
339
105
418
116
744
990
945
410
96
944
943
761
467
277
509
868
822
528
511
63
113
279
474
554
482
610
432
620
223
64
742
514
564
729
504
138
882
787
521
264
399
824
906
318
104
839
992
383
100
822
413
270
22
327
229
100
792
403
266
137
269
522
345
279
74
22
504
853
129
943
681
355
233
110
931
5
578
386
720
408
377
284
219
371
434
47
699
938
835
431
619
240
119
388
42
61
736
152
122
543
567
615
747
842
556
603
969
800
789
23
478
145
10
70
714
485
672
233
501
635
666
133
344
594
383
58
716
4
889
874
574
245
65
459
458
109
788
100
68
621
788
586
148
617
718
51
240
80
564
412
971
726
573
282
884
452
249
588
717
90
550
137
399
864
278
559
81
796
111
887
898
328
582
845
80
48
536
539
176
846
124
636
263
931
805
489
537
875
32
131
540
726
19
408
34
575
653
760
615
205
969
182
735
539
271
422
152
309
771
467
657
758
175
399
640
924
978
36
279
83
583
208
307
223
807
690
738
918
335
962
831
536
912
764
41
887
740
908
570
317
608
910
828
400
851
634
628
478
3
808
774
274
819
267
676
256
128
938
632
966
962
460
636
424
779
656
629
70
86
386
137
133
869
307
64
132
813
705
194
909
443
652
288
951
237
109
204
94
177
519
677
773
301
239
602
278
691
219
465
363
314
810
882
657
837
405
164
814
591
620
648
543
519
595
104
416
781
3
700
58
638
453
937
12
54
359
479
857
321
244
931
402
275
377
322
252
651
647
982
401
646
383
438
173
726
369
415
343
995
560
123
631
867
191
409
706
34
692
429
619
950
792
162
244
71
147
752
353
905
208
556
266
162
357
35
273
433
737
86
858
769
803
665
474
661
117
516
477
550
983
106
293
224
247
833
707
315
520
266
134
81
548
530
538
267
66
39
188
899
185
252
41
636
121
16
738
800
511
56
742
296
199
248
941
537
838
596
730
987
702
102
649
321
945
325
644
834
702
675
960
861
88
828
169
726
558
31
38
122
629
541
260
111
951
467
54
309
735
913
514
296
412
597
307
298
131
73
556
35
486
31
62
257
100
179
442
503
946
398
252
101
419
367
541
986
394
701
39
687
339
71
536
271
763
704
375
302
959
55
893
351
525
27
523
97
282
578
653
870
699
706
421
715
479
738
852
904
133
318
374
739
156
941
546
558
156
662
44
954
555
804
37
927
55
550
15
661
721
895
241
573
843
801
391
345
799
486
286
153
935
912
173
975
131
286
423
36
619
771
548
259
347
277
890
89
787
35
813
729
984
44
729
540
253
58
201
242
401
298
64
430
155
872
907
809
191
310
929
651
470
167
154
440
864
563
191
223
374
502
453
848
793
224
271
878
62
433
298
89
842
110
369
817
224
278
842
827
585
405
824
847
176
787
559
51
754
457
547
339
671
189
891
427
700
97
353
305
833
393
948
703
86
788
205
532
109
137
135
29
1000
908
210
742
186
929
29
812
20
523
263
274
698
470
304
3
220
33
344
853
808
573
817
622
54
180
723
668
579
483
564
404
98
606
69
494
606
166
799
726
456
872
859
206
899
387
513
52
280
429
12
705
981
453
515
360
775
593
328
341
96
958
595
629
915
181
865
334
869
835
352
499
611
569
921
877
655
202
670
523
951
613
88
587
977
692
457
147
875
265
582
89
228
55
374
336
589
735
90
962
852
393
888
873
739
801
165
562
810
176
847
491
894
667
474
19
111
410
483
961
486
15
23
785
90
707
817
516
373
269
522
877
14
955
877
721
446
385
974
34
443
813
876
685
168
182
850
183
390
228
760
577
726
792
988
413
761
261
546
197
7
263
520
729
590
925
51
989
17
944
10
798
601
657
221
538
394
64
958
580
569
405
344
848
855
540
861
179
624
779
891
822
340
813
587
549
575
507
51
600
99
613
741
684
410
350
703
306
604
798
302
847
56
514
196
9
141
308
414
642
334
271
58
67
83
467
620
917
371
461
405
853
134
128
542
589
165
580
292
969
834
933
891
118
329
977
304
733
921
945
937
235
693
364
149
750
133
958
339
706
587
652
849
680
385
177
235
366
928
487
664
549
143
2
284
651
55
807
716
7
307
236
655
385
170
724
201
350
825
34
882
639
180
541
97
332
594
564
700
476
545
762
371
515
80
213
475
962
854
245
456
363
616
384
943
629
924
453
984
553
249
411
225
947
456
764
569
453
298
153
250
931
873
378
631
681
642
588
459
114
652
544
438
714
294
959
552
287
781
635
872
837
802
276
994
856
7
925
176
295
814
35
320
482
918
855
692
360
504
499
112
502
951
144
974
796
549
270
361
727
499
307
589
271
663
3
74
869
508
251
547
399
699
455
455
917
325
874
511
85
289
55
740
765
107
38
28
997
122
400
651
711
884
635
489
539
620
765
143
970
253
499
259
911
250
810
66
284
84
854
334
117
380
586
139
275
513
686
170
916
814
581
511
746
229
18
517
265
453
304
275
743
907
495
155
402
473
146
365
693
629
360
629
918
728
298
880
932
538
963
144
154
702
173
807
613
714
725
889
435
810
723
782
89
165
263
808
125
154
941
124
629
171
414
510
487
211
20
705
238
850
818
950
195
608
93
300
418
344
978
175
110
529
469
184
509
813
817
260
125
448
904
972
202
763
496
731
643
395
836
803
287
462
550
321
47
684
969
641
676
375
915
211
309
367
285
689
968
495
112
432
111
105
896
487
551
231
815
896
740
91
978
459
693
926
37
591
666
634
988
479
240
261
613
743
409
13
471
334
146
495
713
233
500
197
458
106
675
328
701
104
671
847
291
762
365
666
941
506
632
594
345
273
522
654
984
633
188
160
976
765
8
337
381
492
537
145
427
79
101
138
302
951
582
706
466
977
565
242
673
7
529
728
157
530
835
736
402
43
679
27
964
920
913
206
562
309
780
722
330
863
435
986
337
69
187
116
338
375
133
815
785
23
317
620
454
865
581
186
105
640
327
228
490
822
314
971
112
509
966
244
99
552
838
887
362
601
257
725
715
814
508
568
873
304
366
655
464
540
110
540
676
807
586
966
968
308
238
545
921
536
2
276
822
435
209
589
385
860
979
108
111
220
807
569
457
653
697
95
383
893
500
440
5
54
418
989
738
744
590
252
431
229
565
972
647
307
521
939
421
958
515
256
970
578
501
161
252
360
668
173
857
162
819
358
468
586
672
248
163
303
184
726
848
625
461
128
188
464
154
624
504
406
943
515
716
697
577
502
195
625
773
745
543
241
358
306
847
294
15
255
912
791
160
652
55
741
389
610
537
33
638
594
223
352
385
391
659
957
751
234
62
926
318
525
955
470
503
188
759
271
849
266
863
542
588
418
42
617
210
353
309
297
441
167
890
385
88
421
511
577
559
522
353
359
795
714
708
34
152
154
426
116
741
362
813
981
676
123
90
457
277
640
698
561
611
949
460
714
311
371
56
58
472
644
293
761
364
489
291
328
659
369
781
543
553
834
513
972
946
544
25
959
828
11
173
747
4
626
109
829
413
180
838
786
141
428
539
617
329
284
413
858
55
135
516
598
789
437
405
585
721
306
520
935
826
827
80
178
884
136
212
170
465
41
443
251
682
593
179
771
69
407
77
577
132
717
577
903
71
166
708
824
16
1000
282
965
686
297
190
946
807
835
586
212
550
848
853
743
280
631
82
282
931
138
143
782
575
394
300
541
126
552
283
527
46
484
205
73
923
174
21
21
806
230
722
252
679
907
222
703
268
751
914
149
22
923
970
880
636
699
953
624
951
457
134
35
292
271
261
777
923
578
871
996
613
381
760
102
25
538
531
332
364
606
955
809
863
389
684
749
328
433
511
234
659
669
401
917
465
292
260
205
994
132
283
661
838
647
871
647
452
82
926
42
819
711
593
854
747
72
351
490
965
189
616
267
237
392
541
310
830
714
365
585
115
617
303
953
876
248
130
863
248
952
704
778
355
126
953
983
332
210
543
297
903
873
131
578
172
274
519
663
786
944
954
190
88
490
640
242
725
151
2
562
830
875
828
63
543
140
299
691
139
865
565
407
289
836
797
902
974
136
486
599
223
761
498
840
853
188
529
688
998
157
499
23
580
502
913
50
207
130
635
646
842
626
672
873
52
78
802
494
531
238
471
166
223
896
67
480
371
737
830
672
490
295
160
228
868
557
375
150
369
968
201
126
208
69
667
694
302
919
354
663
362
587
717
896
353
1000
866
763
219
625
503
189
675
1000
473
264
673
944
14
913
293
509
9
389
312
322
102
913
632
754
317
754
865
71
450
350
340
765
454
80
89
138
915
335
707
126
890
519
151
759
522
225
702
211
250
219
269
606
852
215
204
495
783
320
833
782
647
734
178
471
163
18
381
100
506
803
349
579
102
891
904
320
381
269
530
954
505
782
378
705
550
992
138
547
687
472
517
406
971
983
897
729
308
408
972
899
346
710
965
272
620
305
562
615
223
806
251
967
202
248
626
215
883
811
698
851
655
338
732
248
47
454
752
992
130
991
794
213
301
201
436
556
511
658
550
662
127
147
750
263
508
317
826
916
763
154
693
968
206
933
458
75
483
747
488
817
663
982
214
470
462
56
75
273
754
510
484
972
186
303
559
767
471
973
738
203
305
199
165
694
282
638
207
607
836
279
626
487
154
688
457
871
658
662
311
945
910
158
579
544
87
11
197
815
997
988
632
799
188
856
103
409
424
85
435
232
114
901
395
485
448
437
581
502
757
339
407
460
726
743
562
451
243
612
193
17
655
672
49
602
411
568
553
293
868
996
292
626
9
486
948
126
715
286
134
592
416
346
528
994
224
551
956
919
494
745
297
413
134
737
426
775
278
346
295
387
746
799
774
57
718
625
472
946
137
380
195
391
906
237
701
968
108
65
349
763
946
78
198
34
734
73
142
831
562
894
556
814
119
965
985
288
991
587
200
457
864
528
480
414
942
777
916
522
615
280
931
623
906
313
290
362
890
415
417
104
905
694
76
312
358
965
574
34
566
837
958
804
508
482
184
655
305
850
344
191
148
861
117
90
365
267
584
687
826
599
395
778
382
48
630
181
351
853
347
542
973
478
65
507
43
554
51
539
52
594
447
410
985
715
285
592
258
196
363
291
365
157
696
845
303
863
358
971
891
515
893
887
255
501
786
104
871
708
175
928
123
244
532
692
220
781
429
359
572
427
17
78
722
814
818
856
997
480
737
900
543
768
749
202
86
407
413
591
42
431
921
283
682
639
315
206
166
889
416
569
381
270
767
252
843
40
748
845
188
882
742
460
494
809
584
189
509
938
693
127
648
228
954
907
22
673
566
767
166
499
545
258
66
679
250
885
860
330
96
726
284
394
524
714
575
940
42
765
917
643
302
530
952
30
89
981
562
597
657
502
520
422
534
874
198
629
861
967
140
720
568
243
415
478
738
865
860
348
796
575
421
826
949
56
655
418
922
779
271
155
701
691
877
36
578
818
37
219
829
579
193
112
443
811
667
685
261
872
659
912
69
556
190
493
343
663
672
591
715
151
984
219
232
519
427
205
365
708
100
365
239
97
139
470
461
719
775
755
712
109
638
890
312
172
22
552
735
727
635
618
222
232
832
383
965
7
290
209
771
66
629
407
631
4
471
675
645
542
217
705
58
773
838
328
513
906
322
70
92
204
763
132
127
325
211
997
914
170
704
199
807
642
647
333
454
653
424
276
272
465
91
546
877
838
942
274
322
998
979
681
578
469
79
529
182
727
202
918
774
437
224
400
499
709
456
442
228
572
938
133
662
514
268
902
953
299
425
966
268
11
699
982
271
214
505
75
957
901
770
288
115
664
738
543
12
156
667
864
47
318
606
926
737
587
345
231
841
598
511
905
224
460
422
21
490
116
112
410
191
941
103
229
763
56
85
618
422
249
663
202
613
950
110
554
667
429
205
789
509
136
266
868
738
169
204
35
559
700
232
61
523
864
570
130
842
362
373
256
16
567
105
225
799
247
712
323
862
893
79
341
759
939
978
210
104
387
955
506
693
429
960
524
26
379
506
379
388
938
84
814
739
90
411
213
811
695
177
159
564
164
10
30
91
853
76
29
938
790
675
603
213
28
928
620
383
253
504
859
526
558
757
922
589
290
42
162
17
166
163
118
698
255
816
609
625
719
131
823
6
710
289
185
192
349
417
338
591
382
114
453
185
833
619
925
305
23
371
490
641
419
834
704
826
907
352
326
496
149
739
155
461
293
416
456
719
825
475
464
643
581
14
410
391
123
845
941
866
889
439
367
441
46
902
83
279
279
632
7
643
137
92
554
363
205
815
999
672
348
464
258
806
926
447
533
451
238
730
841
684
538
734
173
944
109
595
676
738
349
654
164
2
986
110
437
960
478
45
869
51
964
292
949
191
637
274
458
690
172
691
241
985
748
301
886
67
387
504
212
149
288
905
526
627
401
833
124
877
467
307
624
416
989
99
919
72
272
545
339
89
40
706
783
921
850
427
9
783
199
331
262
772
110
89
703
881
360
968
484
655
860
106
671
432
610
372
832
28
199
374
140
367
24
464
58
324
221
353
303
907
749
215
228
726
117
218
564
67
949
437
17
993
60
24
338
922
799
160
471
404
60
385
886
23
637
149
209
814
745
515
709
812
856
543
994
647
154
615
440
671
556
619
612
50
449
997
112
378
936
955
542
995
642
137
310
955
753
806
358
791
897
324
337
496
195
983
338
997
819
404
224
83
199
317
778
42
490
406
305
372
774
937
359
107
266
379
461
197
248
457
215
447
205
45
26
26
959
892
304
866
659
244
379
951
96
104
879
348
250
93
865
264
21
881
827
665
822
546
860
541
45
567
503
601
680
237
584
32
390
806
57
696
583
563
556
54
770
929
866
631
167
788
688
824
547
370
447
42
801
260
14
949
171
983
220
262
895
689
803
691
139
140
807
880
130
670
989
389
371
127
464
408
830
287
419
276
100
266
20
344
942
872
1000
842
869
725
703
278
975
754
459
803
168
356
20
273
564
353
396
911
751
553
876
945
209
774
366
206
909
870
295
637
323
900
81
814
831
636
866
393
177
770
388
56
837
197
490
819
613
826
503
603
57
473
987
506
246
515
334
777
978
296
849
244
671
801
479
503
339
695
890
179
698
78
804
456
978
66
6
250
248
280
571
462
902
703
770
615
150
12
150
847
502
404
416
355
598
991
726
486
655
490
736
467
390
229
224
461
729
757
882
902
722
385
809
856
814
737
482
242
15
414
78
864
201
943
615
738
904
138
205
586
512
121
620
755
543
926
215
209
249
800
633
619
53
442
273
386
40
200
674
814
167
748
370
333
361
797
582
820
425
393
757
965
438
815
255
974
788
650
277
960
286
850
146
724
821
939
464
530
95
358
754
914
373
690
872
120
91
40
94
967
214
637
347
801
874
320
682
232
301
90
463
879
784
670
492
665
210
541
344
712
952
760
296
925
894
407
416
994
368
821
377
201
885
475
869
322
252
23
620
718
591
209
881
160
58
748
400
105
91
313
54
523
209
757
481
638
580
383
191
138
283
393
112
404
139
965
214
118
81
667
110
398
990
484
198
635
633
364
926
288
782
534
196
107
140
727
555
675
311
682
330
657
802
666
299
631
549
484
524
624
984
753
300
405
585
360
337
483
756
245
929
643
870
417
41
128
50
656
676
359
558
654
724
490
941
924
508
772
934
920
502
989
709
732
154
122
280
513
960
809
419
855
366
528
872
288
983
732
953
315
527
717
345
371
631
510
583
814
589
789
756
165
948
753
41
312
270
436
514
44
935
591
516
630
640
509
452
771
361
784
587
294
755
171
724
13
735
815
30
223
231
889
50
781
263
458
902
355
559
448
197
27
507
817
802
603
46
511
332
173
902
28
459
337
607
255
228
717
947
205
120
965
423
682
411
508
335
736
899
969
280
194
310
568
291
382
425
723
114
306
235
329
548
19
59
270
16
377
605
607
640
229
763
319
308
390
162
701
781
519
454
396
753
362
485
769
352
900
783
331
852
583
408
957
21
322
949
651
948
347
670
522
134
201
920
624
858
179
260
372
526
142
620
192
780
712
511
273
775
719
345
748
792
711
547
791
563
957
826
989
481
702
573
352
473
775
891
380
79
558
484
752
891
759
97
789
557
497
19
157
780
954
661
734
416
548
128
216
62
399
551
713
538
621
233
551
537
730
5
691
192
615
860
320
42
460
768
713
206
72
245
843
261
476
883
964
311
941
181
426
189
124
942
395
161
481
315
866
646
382
792
350
698
487
617
918
258
469
332
977
671
686
240
787
528
791
652
385
998
704
546
194
754
363
352
838
48
899
592
228
499
542
2
134
693
842
985
910
605
399
353
232
812
343
954
711
479
926
987
56
371
492
297
129
43
73
613
254
36
151
778
927
677
326
177
351
941
325
4
748
157
800
923
633
802
341
883
145
511
192
119
777
278
66
222
36
209
123
282
555
432
476
473
668
475
936
670
694
458
250
856
316
658
900
695
794
917
848
307
793
595
93
462
277
691
500
875
974
933
852
487
851
956
299
541
980
714
824
16
473
916
643
924
305
803
631
840
720
779
867
633
294
933
547
23
97
67
749
722
148
759
580
510
466
323
996
666
784
308
733
239
432
582
594
13
519
946
314
320
590
849
828
924
568
275
644
448
442
444
461
143
723
651
657
444
274
747
377
318
629
73
702
473
956
228
876
687
559
9
515
601
627
640
644
72
29
651
867
651
906
935
330
149
35
299
237
879
837
279
837
336
380
655
619
77
535
165
857
338
613
220
418
877
333
96
639
362
901
228
816
827
187
485
56
673
735
484
903
4
539
773
871
61
731
379
268
532
600
651
278
242
655
44
217
174
718
126
179
621
672
782
649
925
767
406
353
801
835
474
175
773
196
876
278
52
984
831
992
411
716
722
490
925
773
635
988
453
27
525
409
199
786
645
356
457
732
409
619
313
596
512
493
120
695
327
691
324
463
147
440
323
210
767
932
86
809
977
202
722
338
218
462
917
409
657
820
399
735
840
263
179
946
605
394
406
134
887
964
542
987
942
508
620
465
770
131
922
520
452
317
488
738
238
793
616
195
505
53
449
570
79
870
477
744
923
306
488
225
476
706
661
406
286
600
154
733
442
448
821
560
687
462
718
874
573
320
264
473
433
794
334
865
615
528
73
460
769
46
463
636
86
586
229
262
26
484
854
646
853
267
505
434
317
374
527
558
449
156
741
415
179
651
528
410
625
534
81
201
999
770
313
444
579
216
984
112
257
952
177
939
830
654
228
217
809
551
874
370
103
803
138
49
640
163
778
391
156
228
567
394
572
84
837
169
73
135
836
659
434
975
250
979
383
841
470
695
944
555
331
942
751
810
334
612
942
144
580
30
517
918
906
625
73
93
945
327
257
311
146
218
27
866
707
279
692
595
817
133
865
574
406
383
582
6
135
16
290
26
178
79
376
610
108
430
669
405
567
33
756
199
672
605
754
163
925
785
962
764
949
622
248
1000
561
602
91
513
690
658
21
815
190
62
255
271
322
829
249
538
982
92
647
912
960
22
980
237
73
189
245
921
3
845
988
46
567
988
932
479
631
422
434
248
457
457
873
908
457
407
769
162
959
767
885
130
225
114
453
248
313
869
810
610
850
843
734
594
984
521
502
742
731
360
684
832
672
815
885
788
854
724
186
966
295
654
61
722
173
637
524
922
270
56
361
996
551
997
644
738
608
356
226
295
544
965
892
638
665
398
792
22
22
275
271
708
341
216
752
45
236
421
559
636
257
440
24
947
544
743
666
8
895
251
823
880
366
621
589
862
228
923
428
887
828
487
914
666
76
972
689
912
764
738
720
884
702
697
720
910
986
537
611
830
638
364
858
896
482
261
341
258
925
291
576
693
402
253
892
192
610
284
219
348
535
36
713
594
43
23
238
868
429
364
896
947
957
451
26
335
207
3
74
205
526
959
142
754
114
111
625
854
844
268
747
809
841
696
690
639
791
278
368
281
174
377
411
513
543
521
410
164
41
659
191
614
879
923
752
232
355
729
685
442
329
890
487
463
615
842
931
614
525
366
943
330
749
716
577
232
778
520
236
630
446
840
31
74
139
57
118
147
861
38
713
870
204
249
15
841
321
963
122
626
857
896
215
365
279
544
777
608
966
715
969
892
780
397
547
11
502
470
845
926
986
851
531
427
550
60
167
441
937
464
669
366
754
135
256
612
843
699
608
896
773
184
90
392
826
602
337
232
583
865
846
421
142
964
826
429
290
155
106
874
677
497
878
159
927
75
612
444
496
297
133
974
74
343
745
654
208
980
289
210
838
768
730
963
948
738
680
787
923
490
23
387
917
768
185
298
699
845
796
888
228
800
182
552
232
741
251
954
785
847
74
152
127
166
832
173
714
874
34
300
429
657
401
679
789
996
846
917
991
360
192
858
712
682
73
810
154
508
357
701
858
286
185
430
370
573
498
147
586
468
118
781
470
969
622
915
409
603
180
332
513
296
732
107
624
661
121
887
509
775
650
5
368
635
326
248
805
783
619
758
336
705
472
932
369
310
489
393
377
580
214
474
162
801
157
737
415
865
326
478
680
272
796
106
127
120
925
743
299
191
817
411
103
753
226
580
489
765
664
656
401
457
424
395
78
202
190
202
596
173
303
156
91
999
347
319
129
965
648
35
142
622
145
644
396
616
822
423
831
392
206
290
660
408
41
497
887
952
886
49
965
662
587
471
122
935
115
6
952
431
228
705
745
519
513
543
292
545
757
36
939
359
522
102
923
628
497
988
203
352
395
298
301
407
683
454
743
79
500
162
252
87
769
771
724
231
468
95
84
23
532
141
78
123
69
654
30
949
194
947
892
906
658
687
30
108
758
161
448
776
578
282
337
856
962
663
747
21
717
254
242
263
692
101
463
78
730
147
831
796
914
983
336
191
859
113
166
334
474
637
7
717
370
885
75
18
413
786
600
212
576
315
208
535
130
507
725
704
954
31
273
943
533
749
985
110
843
746
458
446
157
986
987
220
235
74
987
479
174
375
466
815
895
322
320
505
137
438
434
698
656
483
158
766
303
681
420
297
823
153
41
660
554
624
779
8
853
428
408
556
792
502
224
218
682
460
244
366
572
579
454
571
89
452
503
289
578
963
659
81
8
142
760
628
18
217
848
630
559
80
804
334
225
54
502
439
555
789
444
569
947
736
830
95
406
98
831
735
297
882
875
724
347
578
710
74
186
519
597
30
39
646
740
182
524
451
663
707
735
658
927
170
918
787
250
773
343
439
938
390
338
883
820
439
481
434
161
836
756
45
837
738
229
147
339
582
209
236
360
275
727
916
58
233
182
743
957
489
156
193
111
667
582
748
1000
869
299
309
538
334
812
583
298
427
579
37
233
656
320
170
504
80
912
671
551
490
113
467
79
350
918
234
800
11
747
443
539
241
190
794
569
25
631
98
342
352
805
627
337
110
273
424
822
245
648
46
681
821
667
381
561
462
471
330
47
880
32
460
836
686
368
193
961
280
468
226
711
814
243
871
274
264
908
218
890
94
124
695
935
229
255
697
949
703
23
19
562
623
743
867
640
601
96
886
751
443
799
396
540
102
985
377
542
154
959
255
17
319
651
761
357
400
373
137
469
399
255
36
422
998
471
750
472
285
163
440
234
753
280
65
899
354
243
475
466
591
990
400
408
734
776
970
522
246
125
528
111
151
808
915
559
571
718
435
576
605
825
695
934
522
811
508
702
879
62
794
353
349
479
867
34
628
148
179
555
387
317
477
647
980
157
542
995
911
376
902
759
750
910
378
62
399
375
48
739
783
256
495
103
548
143
859
391
977
441
455
596
640
939
605
463
702
434
65
104
494
772
769
630
388
409
434
773
912
621
343
814
156
779
330
604
309
714
614
39
772
298
363
508
251
789
73
519
603
110
116
646
503
412
293
310
152
652
418
844
542
244
513
627
357
21
604
87
259
179
433
184
518
310
506
409
871
853
188
90
439
397
476
728
540
129
988
201
934
650
543
516
866
889
254
914
959
54
57
357
730
547
771
573
346
156
247
96
84
199
167
806
581
841
632
934
946
745
900
191
29
509
501
917
506
963
349
584
129
497
370
465
124
720
628
971
438
212
955
938
315
402
647
379
47
894
96
919
589
966
311
285
604
407
61
750
463
914
397
509
22
424
627
813
113
870
738
927
178
278
614
50
788
887
641
612
189
865
3
101
378
188
266
616
310
189
166
967
912
203
628
314
236
532
946
51
822
467
935
344
629
482
379
854
65
831
659
779
784
85
556
333
506
706
344
135
630
732
277
306
965
264
171
263
385
520
803
43
592
186
474
295
244
854
31
769
85
840
241
299
28
819
478
563
608
510
994
928
395
963
254
318
120
397
295
495
796
838
14
873
603
884
576
240
916
702
834
405
740
500
807
438
342
833
319
644
769
442
490
219
314
405
645
337
414
150
378
586
387
252
370
909
203
11
118
600
960
26
119
969
130
876
486
453
89
57
383
345
884
501
286
774
922
968
888
20
428
378
540
161
545
150
63
955
793
451
691
120
148
602
354
213
582
899
184
172
259
487
505
957
205
445
693
515
21
833
733
188
377
259
638
282
860
860
857
916
623
38
362
690
672
114
817
912
700
120
721
347
145
730
388
244
341
957
17
577
41
143
80
500
983
652
152
860
486
30
448
481
793
407
603
646
324
760
254
781
510
95
22
476
903
275
701
482
283
449
62
763
509
906
603
557
60
538
161
632
823
380
598
169
825
852
336
3
209
993
970
478
91
790
708
71
774
578
544
998
845
727
524
197
628
794
148
711
210
516
457
111
753
327
475
767
624
156
723
106
754
871
720
519
672
283
284
537
194
503
66
598
31
238
508
224
96
767
559
435
60
183
799
552
153
450
716
670
38
563
989
949
420
151
5
735
886
782
805
331
413
295
138
454
828
221
446
406
350
52
311
563
170
617
593
473
406
912
155
423
665
640
970
762
702
124
926
563
130
499
744
785
327
273
886
991
148
649
350
440
42
383
202
886
556
73
531
515
313
164
209
1000
238
894
175
971
271
814
542
281
283
934
938
190
698
979
762
957
397
230
456
896
891
652
77
348
964
956
234
225
719
399
177
830
83
559
788
714
774
114
468
99
444
842
204
509
180
876
863
929
434
891
332
926
317
540
860
806
444
62
83
730
542
703
404
655
612
389
662
900
984
267
653
472
830
347
574
466
771
633
489
249
139
706
876
665
770
688
75
869
923
933
968
747
493
289
706
188
212
453
808
380
137
614
669
650
993
523
639
795
610
322
597
664
464
116
392
476
552
464
491
786
792
587
505
369
171
999
426
998
693
175
184
340
264
904
794
370
36
36
103
832
150
402
891
451
135
765
489
971
928
910
342
794
320
538
862
212
459
349
540
896
972
931
451
116
220
2
653
635
128
161
837
284
991
841
225
141
41
318
231
495
966
280
578
871
567
508
399
2
39
955
658
556
901
273
48
517
126
75
452
727
413
456
545
885
83
498
829
661
669
506
282
537
121
655
785
972
309
152
567
547
228
514
469
495
406
11
239
959
277
272
863
959
64
172
200
536
626
352
715
686
75
873
264
821
320
174
108
187
84
298
651
45
422
417
719
714
257
503
815
178
844
294
221
298
924
162
285
233
914
618
760
135
301
704
129
228
471
639
278
494
299
829
199
3
208
555
990
324
586
963
339
945
447
247
895
908
301
933
711
387
366
410
595
733
997
938
858
139
265
372
97
178
41
175
250
702
944
272
524
89
635
124
372
930
674
395
229
443
520
107
766
82
15
406
679
285
756
644
435
79
657
410
116
259
310
62
998
723
36
338
819
235
697
418
420
933
222
63
240
987
194
941
923
762
295
837
278
205
832
305
73
901
207
889
402
370
441
466
752
358
583
586
885
415
756
180
37
226
283
411
512
857
26
950
468
509
822
220
963
495
964
768
100
671
223
204
957
520
128
197
875
513
372
461
869
992
504
935
190
188
77
534
39
342
821
132
723
451
284
186
270
256
33
579
989
728
205
323
3
760
420
119
663
310
152
1000
550
619
197
71
361
914
22
691
372
949
796
748
739
833
149
503
54
239
993
421
378
415
766
320
893
753
49
707
932
519
338
370
79
272
210
582
989
93
692
602
653
917
978
248
193
186
366
396
714
845
975
18
11
336
132
326
3
588
828
108
902
475
249
72
4
287
16
486
107
3
111
602
146
658
43
817
81
700
629
983
111
634
902
872
147
757
269
677
127
776
175
131
207
328
987
642
335
378
868
82
616
437
856
946
467
298
175
666
610
928
371
548
395
483
905
850
436
284
679
631
72
90
177
495
213
613
333
931
527
276
298
307
594
312
314
197
585
966
682
196
166
886
895
363
394
754
320
667
82
377
681
531
908
582
172
375
302
245
53
336
144
663
410
453
498
517
698
787
871
481
713
689
182
605
247
445
649
176
272
938
803
30
76
675
580
12
216
546
291
589
407
581
181
399
694
74
875
752
757
52
507
415
916
576
36
719
5
334
151
77
244
361
682
461
859
577
833
153
206
413
129
201
819
133
532
511
27
96
834
90
335
835
529
115
315
355
253
682
273
365
822
196
581
472
362
782
897
779
108
946
13
710
548
189
452
981
153
400
423
784
900
734
646
166
873
265
787
276
998
366
441
59
853
424
977
43
992
856
109
11
432
139
839
692
77
666
435
151
3
406
595
673
25
491
470
707
350
849
6
58
756
27
570
893
224
897
936
855
530
481
653
694
355
477
964
266
389
344
107
670
416
374
375
380
906
554
744
235
480
833
181
770
539
544
314
529
304
56
60
353
627
92
37
231
367
489
480
9
684
634
32
524
303
618
455
696
56
354
508
66
121
687
87
589
645
85
5
378
22
909
395
323
332
274
339
236
325
100
249
710
565
677
634
534
631
733
197
809
200
972
83
708
59
703
642
8
94
153
446
11
990
644
702
549
155
986
357
454
698
415
691
23
755
967
6
176
865
339
562
556
871
374
389
473
105
268
910
322
47
859
845
88
312
273
882
953
54
359
454
486
448
872
394
429
344
979
745
786
753
676
113
373
179
307
761
196
346
757
669
385
919
154
462
231
762
960
315
766
387
310
541
40
96
381
106
577
108
753
676
324
665
186
168
121
698
202
848
926
118
385
475
814
46
916
204
62
503
892
238
96
649
819
157
491
708
379
458
125
14
9
495
986
935
804
233
338
687
65
815
959
804
176
162
386
164
793
19
168
473
322
372
325
519
141
694
423
729
60
317
786
820
454
990
915
43
534
775
411
163
655
677
63
838
902
917
144
449
475
167
99
62
81
415
979
112
248
760
680
453
638
720
751
544
776
319
916
78
217
216
344
299
520
320
303
448
490
353
854
179
27
487
885
735
464
481
501
649
883
649
172
14
617
683
386
842
292
500
615
929
991
104
997
615
848
727
779
163
887
725
757
397
807
133
81
432
946
181
181
829
599
857
861
542
9
23
555
85
807
168
794
265
487
972
85
751
972
409
169
272
843
551
84
335
369
47
411
118
129
400
653
484
832
687
786
439
141
924
306
964
321
744
789
314
265
294
913
598
892
278
966
367
852
928
323
596
85
274
744
172
808
426
694
492
262
808
585
418
594
421
347
642
520
758
915
229
431
421
759
289
175
356
271
939
105
466
531
701
534
624
693
895
835
482
388
313
556
65
379
71
65
310
530
955
126
21
716
610
307
475
695
815
847
884
299
512
707
908
257
508
761
761
60
574
456
21
411
431
43
18
362
18
787
609
286
660
532
697
436
714
92
110
92
243
281
918
329
226
383
265
777
667
9
38
852
835
658
812
847
277
313
619
37
703
293
5
459
988
319
70
602
220
968
189
111
343
513
795
970
482
317
737
547
885
794
670
157
90
86
625
635
899
576
485
429
252
900
711
897
458
748
188
598
684
529
124
287
503
242
560
16
752
675
872
48
867
730
538
382
480
600
471
620
109
519
224
416
140
375
703
601
596
400
376
911
99
715
647
86
364
243
469
591
918
620
673
295
721
994
188
885
504
466
975
864
888
718
94
65
386
155
700
756
648
56
935
724
49
278
703
81
372
25
473
440
986
439
13
210
164
688
553
947
122
362
627
699
16
197
565
302
660
968
265
33
325
332
193
802
996
388
193
182
692
410
687
67
215
774
996
592
182
710
453
524
534
1000
602
479
112
994
772
372
361
18
208
388
951
932
558
800
684
623
239
66
673
833
469
86
560
454
867
624
161
37
850
372
565
445
739
424
265
393
557
640
553
624
10
771
779
186
630
377
63
561
54
650
933
55
960
851
414
90
298
418
547
29
512
405
933
793
245
798
587
870
112
52
766
718
92
799
598
539
997
387
982
157
749
735
698
935
633
950
196
581
765
306
64
909
165
210
38
885
266
397
269
291
959
161
422
991
781
349
408
709
345
972
731
364
644
593
739
559
367
624
312
923
331
664
395
233
149
283
507
32
621
570
783
860
1000
55
788
917
170
450
854
749
514
959
679
866
900
64
566
664
277
110
419
617
375
648
423
31
211
468
752
654
688
733
8
982
356
651
451
314
959
963
796
112
17
332
371
170
573
261
34
942
590
462
188
273
727
333
189
937
698
779
347
511
941
718
40
384
250
280
217
584
874
101
979
120
11
589
247
188
167
825
412
272
645
258
93
107
829
167
367
6
568
468
144
429
965
524
476
459
614
398
627
401
245
260
702
87
708
798
950
41
453
721
206
151
445
287
500
49
511
364
809
565
386
740
877
696
288
735
552
295
344
416
230
262
524
445
544
801
1000
993
280
470
776
232
208
704
254
710
154
748
881
929
942
143
805
93
479
175
720
26
678
634
977
364
738
905
315
988
739
671
233
976
821
944
753
248
13
737
860
798
698
658
354
551
571
582
498
627
878
550
618
220
35
260
355
350
109
28
919
344
1000
298
834
317
804
535
425
643
833
310
874
937
166
227
849
285
304
691
247
865
962
129
644
361
894
157
930
975
6
942
204
861
844
288
256
780
793
497
563
262
769
471
986
800
435
526
160
599
72
38
586
119
371
87
346
38
835
578
346
584
249
294
263
981
480
593
837
670
575
543
334
800
805
6
853
807
980
101
52
181
170
176
219
326
152
239
581
343
712
661
962
789
390
413
382
434
593
60
659
141
699
269
800
213
405
954
533
339
476
872
411
963
12
979
263
508
233
765
874
528
9
495
394
622
971
281
494
912
619
305
255
968
800
506
469
983
135
132
573
716
991
881
835
271
934
443
338
814
611
626
325
33
97
214
292
846
374
363
501
71
96
143
720
733
767
883
966
237
684
289
546
527
844
704
109
880
513
353
373
188
371
675
331
661
64
950
709
314
440
496
846
363
901
377
650
340
886
735
119
804
571
466
889
177
704
117
912
773
274
447
438
210
986
341
590
638
415
296
914
44
478
829
405
15
40
10
945
774
455
625
429
771
487
694
729
505
958
490
145
950
846
826
586
920
495
803
211
879
974
763
307
404
827
377
483
869
600
110
66
705
199
208
716
443
378
948
533
663
123
249
448
768
480
924
444
623
444
986
539
979
461
629
914
650
24
677
457
320
901
259
645
82
471
189
961
113
727
773
965
784
86
140
204
473
923
191
353
970
773
28
476
840
69
99
937
796
194
830
489
524
412
18
301
568
830
34
264
47
186
508
323
250
579
148
658
688
206
57
285
727
92
706
753
9
313
996
219
469
314
321
479
100
97
904
572
220
448
98
259
380
109
591
682
142
571
209
545
434
538
959
80
700
293
861
495
679
504
469
543
565
39
602
117
169
895
774
781
646
34
170
307
945
445
36
628
515
25
305
847
280
832
651
756
371
689
172
907
340
416
449
905
503
894
37
181
587
878
260
843
900
88
52
209
418
127
591
993
853
222
789
774
236
476
636
582
689
845
882
180
34
894
377
36
111
390
381
928
80
159
141
264
196
520
615
305
732
359
671
614
77
551
489
406
166
400
789
741
815
654
820
290
379
443
676
659
176
858
702
162
982
470
473
8
264
961
154
398
265
897
892
341
114
628
884
309
699
160
521
769
553
116
729
157
350
614
857
980
440
944
353
867
85
139
972
388
350
170
106
112
515
505
597
509
701
243
600
456
955
958
86
418
283
962
178
517
948
333
769
263
161
336
629
298
687
422
225
392
312
635
995
129
873
859
184
755
169
643
298
202
449
5
526
432
272
169
940
305
966
765
734
989
909
410
865
898
630
813
835
230
353
67
715
846
564
703
351
81
749
62
617
794
717
96
117
385
983
630
661
354
983
79
688
368
587
8
207
618
391
264
785
282
223
655
340
238
824
321
786
374
716
769
678
878
272
600
199
386
593
774
879
774
398
575
840
783
572
60
973
964
269
54
708
883
668
905
570
185
962
664
249
736
963
357
981
772
660
114
767
210
148
281
706
204
984
185
910
463
289
148
19
843
818
709
720
194
85
614
776
124
996
783
839
396
94
819
7
809
384
322
879
250
71
176
351
574
58
702
621
253
245
654
160
427
511
843
894
957
462
91
241
751
295
313
666
415
804
98
202
606
734
964
15
87
422
530
8
426
56
251
73
864
485
791
433
129
40
765
523
243
566
519
802
128
370
409
659
953
223
394
416
147
989
211
22
287
12
193
467
227
76
277
523
808
11
496
583
175
819
809
786
45
914
484
164
185
101
316
946
265
765
761
267
363
879
129
513
494
88
369
959
598
438
104
710
70
163
25
430
804
878
754
36
338
66
952
74
714
447
610
354
198
476
634
940
733
334
616
412
498
563
251
867
405
128
333
883
3
406
7
193
928
436
499
40
301
643
835
795
112
539
727
328
711
791
101
918
704
277
941
312
144
634
578
394
46
465
76
697
315
619
508
338
898
914
476
523
39
200
14
539
150
81
746
384
556
462
790
579
545
861
282
132
714
645
723
115
721
740
501
153
796
91
797
612
103
47
858
447
26
89
57
163
268
186
948
146
494
931
40
608
379
361
939
757
688
256
261
22
720
899
894
631
685
61
40
654
611
40
325
808
720
538
572
900
436
558
508
296
752
594
924
534
533
927
295
415
574
992
360
46
282
13
83
906
619
426
317
447
942
450
120
817
30
999
894
933
226
879
937
56
433
647
42
269
813
888
397
69
921
782
195
471
978
952
836
52
786
695
773
306
816
620
211
531
856
824
730
413
107
717
32
955
457
712
779
967
893
22
162
543
430
476
686
661
142
597
145
745
927
293
518
613
707
767
580
627
882
272
392
256
613
990
97
773
549
445
95
316
613
550
284
245
529
272
526
89
607
243
611
595
373
996
267
439
163
605
288
733
194
789
818
475
288
588
347
604
921
183
691
974
137
378
329
924
844
286
102
629
181
289
357
248
42
737
575
929
274
744
993
335
229
328
781
490
408
399
896
756
784
643
813
908
453
666
946
31
826
812
282
259
215
51
182
390
643
341
330
603
998
547
255
24
887
855
830
91
698
5
3
27
404
958
183
151
146
549
228
247
422
950
424
608
709
320
621
486
735
854
241
82
48
819
192
831
938
214
611
122
89
294
708
828
630
610
809
7
669
121
384
207
403
724
546
690
399
928
732
183
371
582
318
745
442
939
943
952
949
604
208
104
251
139
77
615
567
481
292
647
240
713
90
696
388
33
31
36
834
738
682
700
493
960
189
583
840
956
377
236
145
103
612
337
547
798
932
880
894
58
992
48
178
922
631
542
156
572
450
249
752
895
438
519
126
175
94
263
193
604
912
278
270
248
585
756
167
603
116
419
272
24
62
983
382
429
288
991
30
218
299
350
506
269
363
664
166
735
722
896
721
244
933
920
945
224
501
772
293
835
251
623
598
407
115
59
385
31
727
114
285
102
503
41
196
644
479
205
621
429
340
207
200
695
857
828
761
129
420
781
989
142
222
103
841
509
40
185
231
939
832
190
977
841
878
368
494
382
235
866
170
217
191
81
969
82
507
114
388
955
239
535
715
142
326
621
767
728
889
948
350
532
255
159
714
757
848
790
818
737
913
823
457
525
959
345
181
821
909
568
938
595
932
46
158
617
953
382
946
322
299
579
272
508
774
203
832
221
350
257
741
412
929
506
349
819
150
781
814
27
637
963
685
86
574
806
961
123
952
881
851
40
769
826
637
480
638
302
796
828
222
308
950
876
884
924
826
16
67
758
568
760
453
174
639
489
882
971
709
615
167
971
117
658
595
524
378
350
865
68
302
351
821
217
522
467
941
350
3
146
293
628
361
568
36
660
797
19
101
425
197
881
261
415
438
154
592
536
732
400
229
406
836
622
395
95
553
326
318
613
377
54
675
975
521
981
255
191
315
962
474
120
403
687
388
604
800
997
971
439
118
695
383
118
159
850
47
922
850
935
26
309
278
834
320
276
418
284
881
332
709
553
117
544
65
412
14
10
5
880
281
997
185
145
711
234
98
968
350
225
322
573
749
644
483
130
592
155
48
846
384
233
547
180
510
531
191
120
197
709
188
378
719
266
343
129
829
715
493
647
689
563
958
367
378
515
239
547
646
58
601
976
583
571
121
921
726
133
650
547
343
488
185
47
455
800
52
901
24
55
140
107
217
404
634
363
883
380
82
932
48
3
305
143
628
710
190
907
845
656
879
886
923
817
316
12
542
920
415
719
950
138
271
783
222
775
788
109
322
751
363
738
163
321
413
721
808
482
279
312
890
620
677
973
206
239
895
603
408
833
868
548
191
227
194
365
83
350
352
517
283
911
859
596
464
226
651
177
67
134
544
201
611
950
48
197
640
288
876
239
833
276
638
768
437
112
294
62
953
345
847
255
176
768
433
487
137
468
119
353
543
851
70
888
378
603
626
123
306
847
356
350
422
536
901
569
15
298
17
289
545
267
748
903
706
190
501
831
508
451
896
332
39
522
924
795
345
41
487
885
522
527
929
764
452
145
366
247
966
508
527
683
265
842
422
535
658
505
130
969
613
254
578
740
888
41
585
804
311
888
855
546
327
399
839
64
736
684
171
345
858
633
74
658
571
969
33
425
734
868
252
485
696
544
148
755
982
252
642
997
913
19
104
116
301
536
839
156
820
564
81
590
169
535
526
939
584
115
334
623
75
144
441
581
202
611
503
824
721
318
495
595
802
693
118
980
582
499
959
200
741
326
884
220
864
581
953
103
8
298
316
554
760
29
514
444
921
472
153
210
279
567
901
368
585
362
532
692
273
351
617
619
938
44
282
511
369
136
513
330
913
641
676
1000
340
882
579
659
863
757
955
102
308
974
944
409
902
539
375
975
60
596
690
770
143
597
414
840
48
414
930
300
475
910
204
223
608
746
997
190
287
118
265
933
136
923
610
238
947
373
889
124
335
200
374
30
702
872
316
260
227
980
650
172
408
470
679
148
825
192
667
171
215
143
969
959
775
687
667
825
939
653
860
300
604
651
712
923
205
265
719
628
295
536
754
623
139
154
620
225
329
229
865
865
65
725
551
575
3
432
875
154
176
424
128
307
676
953
175
579
812
104
269
114
142
48
352
970
138
481
475
445
728
538
268
823
725
640
694
222
444
615
577
781
959
708
196
816
152
732
249
621
96
194
806
366
398
809
511
381
633
687
281
983
534
181
847
430
256
75
729
701
232
53
462
878
151
295
283
431
454
266
416
845
24
870
887
702
210
738
341
179
409
57
634
684
64
92
467
307
570
412
213
988
163
280
493
381
489
539
679
188
707
34
321
913
330
55
948
581
35
420
59
913
95
591
639
141
344
301
39
579
97
536
178
804
265
521
145
140
622
749
593
295
369
455
484
816
241
307
327
290
140
594
652
49
44
502
82
767
987
687
684
270
845
644
87
336
205
923
110
862
806
410
813
292
631
289
441
593
801
307
737
369
873
305
623
140
698
835
126
102
786
383
219
181
612
7
382
508
421
457
404
412
303
901
283
363
613
233
22
890
753
728
811
110
963
799
207
166
103
925
396
202
598
575
386
744
524
776
745
553
271
513
924
350
244
393
957
758
49
602
203
266
373
314
99
585
422
200
201
842
20
275
582
359
626
808
523
761
815
182
921
190
650
406
649
942
60
389
452
983
233
672
893
252
349
314
824
853
147
365
17
76
393
19
114
654
506
988
339
738
973
106
338
208
959
686
50
511
729
584
36
19
461
306
769
111
134
268
167
125
577
417
557
207
403
655
172
892
461
960
983
495
750
414
294
59
344
798
396
823
128
436
967
870
575
996
540
331
715
598
651
384
635
430
348
439
784
407
750
452
354
875
319
670
262
363
987
562
281
354
784
606
90
465
108
136
900
627
929
306
114
708
436
908
559
988
475
777
937
458
718
722
980
767
327
156
908
599
879
130
424
800
667
13
684
933
737
203
517
408
594
405
326
246
977
480
383
423
661
185
899
148
485
49
651
29
205
775
265
514
844
65
332
501
200
561
995
380
119
12
568
610
323
733
896
528
753
568
368
374
10
198
686
545
824
189
508
938
383
292
889
992
511
128
739
562
34
839
339
746
879
662
816
311
962
688
510
167
967
375
80
741
745
436
649
771
316
931
198
492
512
254
749
460
267
234
316
558
66
287
117
442
236
83
923
357
557
551
195
408
372
930
46
605
354
269
149
326
470
880
885
6
805
890
507
96
106
332
588
235
877
993
880
453
994
612
276
524
297
119
652
775
294
116
925
134
984
155
126
192
492
598
378
205
558
72
488
677
161
973
515
148
513
147
8
711
203
723
68
988
532
258
760
334
116
672
863
308
903
801
299
606
786
206
384
213
458
963
112
941
290
822
512
686
447
834
206
671
529
375
350
674
889
81
870
771
789
903
540
443
12
545
788
859
263
680
45
244
360
409
159
534
244
86
694
977
917
438
933
688
474
756
634
93
189
58
117
811
8
884
267
22
704
185
213
76
764
631
81
118
93
250
533
456
985
361
654
814
397
238
504
991
311
578
242
287
11
141
362
237
217
417
695
30
409
585
525
682
302
21
651
316
347
202
842
191
921
645
754
955
171
510
695
902
706
978
754
286
178
737
197
659
560
27
677
694
60
424
31
802
498
732
98
731
564
258
800
128
726
204
88
855
928
44
50
555
194
205
964
873
770
584
442
852
320
320
919
132
832
972
977
463
51
961
783
738
284
909
537
449
27
701
207
989
208
590
121
455
668
921
312
283
166
724
751
572
401
960
380
985
80
132
519
255
822
262
921
581
368
101
354
940
599
704
193
242
760
35
74
924
263
2
667
483
640
421
402
393
989
266
841
586
704
445
934
646
480
987
869
41
68
238
26
831
169
273
46
531
421
127
756
175
996
79
708
409
726
845
713
147
505
888
460
220
364
58
980
73
151
180
407
940
195
356
383
581
697
772
257
883
780
565
875
740
707
988
484
926
349
302
549
336
166
528
229
9
38
576
46
889
611
976
535
585
743
872
305
107
911
712
4
306
844
568
65
88
235
116
516
291
453
958
990
629
384
240
79
586
628
695
749
679
817
112
406
276
317
723
602
563
128
126
603
244
830
978
493
104
802
693
496
343
778
811
821
301
363
735
296
697
411
897
46
861
705
855
496
541
910
584
343
485
897
859
899
620
187
397
378
392
214
61
303
897
202
486
443
322
522
834
405
522
959
912
403
552
287
298
713
706
433
384
72
891
36
490
936
123
45
962
884
723
596
881
650
597
614
35
175
967
38
80
624
667
23
109
695
469
189
462
164
514
608
298
62
237
434
493
244
665
264
99
168
776
595
237
101
254
874
140
387
183
649
16
943
569
771
343
548
947
374
681
989
54
57
403
703
256
903
266
964
29
246
676
571
145
540
91
88
741
675
201
959
828
743
810
726
896
365
646
344
837
748
925
366
599
276
210
944
386
153
918
268
85
692
191
601
931
686
245
174
278
733
75
743
714
219
600
1000
396
304
706
137
556
299
446
39
967
623
796
378
301
103
452
183
995
345
884
445
921
888
550
779
966
796
716
684
762
106
78
743
270
576
168
267
263
644
348
637
175
306
412
833
483
462
256
897
391
925
303
158
700
809
852
438
676
714
754
444
371
185
650
86
45
430
438
797
538
646
972
645
626
824
19
994
982
960
279
721
11
402
374
635
234
195
93
303
669
870
449
507
711
76
392
41
224
576
113
923
154
254
203
627
331
770
444
24
275
451
621
319
516
998
617
852
611
767
289
161
299
313
68
184
334
113
411
5
937
719
364
387
286
490
859
854
424
295
654
953
601
755
696
892
376
408
746
346
321
215
772
352
16
176
861
506
877
557
421
842
244
796
724
74
109
438
931
806
542
706
736
690
445
678
583
339
861
694
503
514
276
401
542
232
878
608
153
812
790
742
399
364
718
663
232
210
447
909
803
943
731
374
13
521
335
13
757
614
986
464
92
845
367
424
235
645
83
987
553
55
915
351
536
99
856
741
954
871
794
493
329
379
167
464
368
716
848
220
360
730
951
209
590
104
927
254
375
302
752
541
917
518
641
992
198
489
936
638
308
906
943
859
885
884
20
558
418
423
727
298
622
620
903
77
747
358
178
635
854
13
38
647
940
332
125
120
173
322
428
874
491
139
922
726
265
435
620
968
771
432
79
652
130
177
531
929
478
323
166
648
327
47
18
478
537
229
245
834
473
280
952
868
27
401
788
73
284
324
315
540
157
164
615
90
630
894
516
771
537
642
244
824
321
398
889
788
393
863
337
657
71
62
148
869
17
932
817
325
927
872
806
638
482
69
852
68
651
78
902
730
909
208
139
152
930
113
86
470
207
282
374
293
867
506
294
395
858
666
924
178
111
935
218
762
177
3
390
421
571
383
349
842
602
189
6
74
394
315
960
800
495
282
190
742
563
83
66
149
173
259
450
54
236
158
881
771
566
87
962
684
63
466
866
837
607
912
822
595
994
772
96
971
967
610
584
566
800
265
869
537
42
924
223
846
240
558
505
977
578
888
46
777
212
299
699
978
151
724
930
888
695
631
173
131
25
70
191
638
86
953
756
837
403
575
664
416
149
439
962
532
357
636
37
247
336
278
320
66
408
70
415
392
454
563
622
74
943
23
250
233
557
155
138
32
250
505
501
470
888
285
285
993
384
186
166
72
27
575
493
509
164
249
303
200
855
279
187
733
139
682
455
237
349
686
260
41
610
115
825
613
885
130
452
201
53
186
665
478
758
301
244
443
263
327
446
918
477
441
329
944
276
545
531
546
441
761
860
581
905
364
567
686
884
36
738
855
304
745
336
292
953
315
689
519
710
947
449
712
58
92
879
170
319
871
915
243
534
675
183
323
811
268
663
243
247
798
714
3
97
371
918
704
886
891
25
525
484
297
455
128
856
623
424
125
703
298
218
673
425
741
735
15
229
568
454
590
610
433
759
122
575
527
502
565
383
226
683
788
924
964
471
878
243
333
547
589
423
696
892
85
933
82
952
948
187
779
834
244
483
812
297
314
567
518
183
292
375
981
587
28
907
317
809
207
219
666
484
314
111
204
858
911
436
897
459
18
691
280
814
203
221
259
537
644
509
2
776
793
715
772
979
50
449
545
568
381
38
804
814
310
275
786
649
855
83
625
780
583
764
116
852
685
594
753
227
224
766
456
629
172
3
647
86
941
648
261
267
59
598
172
105
18
824
712
882
828
954
960
851
670
221
73
116
31
864
141
523
275
565
128
750
659
263
515
24
712
430
668
685
352
588
669
554
826
876
130
541
772
550
949
406
534
175
864
976
424
596
527
102
786
761
447
330
400
941
373
229
434
194
808
722
994
429
405
557
215
774
830
818
784
764
268
428
946
999
422
993
835
719
72
945
582
7
118
707
132
219
727
362
118
105
25
901
42
687
887
275
691
485
932
967
536
411
639
299
790
192
311
904
299
198
844
455
870
671
394
803
897
870
221
477
385
754
470
583
659
351
11
145
202
801
668
917
659
363
951
360
532
495
532
280
440
787
787
800
15
332
394
584
127
640
776
514
738
536
581
574
325
953
431
754
524
756
597
396
333
413
548
274
738
446
134
913
856
583
84
198
708
814
625
154
543
370
821
139
750
734
594
577
376
199
24
880
760
553
754
515
536
63
297
739
776
719
669
619
656
621
551
887
592
58
28
681
710
372
530
247
677
780
254
121
586
554
761
122
385
163
486
350
806
215
567
778
511
850
636
148
345
845
197
12
264
202
701
71
640
67
435
586
384
729
830
776
22
437
97
890
794
83
125
197
842
82
25
436
86
434
949
981
988
885
600
695
637
932
83
959
618
941
390
809
611
569
551
820
841
677
90
821
986
179
112
595
301
847
855
630
975
67
718
362
790
709
878
380
693
352
496
431
933
215
864
629
25
88
217
48
865
550
380
410
820
444
898
673
84
939
420
295
765
52
433
859
282
299
219
504
663
48
335
155
277
609
40
307
315
360
521
539
554
224
284
930
84
175
528
971
624
442
143
405
204
259
286
283
481
575
961
373
616
68
92
807
19
482
452
229
767
764
774
986
554
605
877
952
157
812
860
264
13
130
263
415
67
809
882
534
858
653
325
210
637
664
567
510
854
722
573
20
788
284
360
681
356
695
490
450
735
338
59
343
730
843
800
103
425
404
916
836
184
863
139
507
924
171
273
860
965
106
207
477
765
707
458
127
972
227
199
599
356
813
964
861
215
988
146
868
127
866
46
587
499
982
348
906
178
326
996
392
629
715
824
690
845
325
962
575
838
658
587
914
760
177
254
473
438
175
440
429
286
200
592
463
727
159
288
266
256
538
983
899
792
114
507
80
952
341
305
84
201
700
569
891
117
809
366
279
555
533
876
880
809
78
993
473
2
558
38
683
774
108
630
191
183
766
43
605
564
45
934
642
792
647
267
550
993
588
710
769
765
231
212
902
545
466
270
2
515
393
377
8
977
854
243
987
215
299
445
842
532
200
607
183
762
35
965
512
56
650
212
637
258
255
881
572
972
283
358
425
741
702
635
289
115
609
676
760
900
311
616
981
573
801
561
730
297
289
469
15
802
327
879
488
348
909
182
99
407
649
414
261
837
848
710
284
548
674
304
547
93
616
251
447
206
248
996
107
946
924
145
47
966
547
839
779
440
603
500
102
832
113
293
248
410
551
722
477
826
421
202
204
207
946
592
670
717
259
724
403
804
369
849
355
47
282
838
629
135
247
631
867
916
927
872
668
829
444
243
690
380
25
141
931
62
682
692
764
764
480
657
294
800
927
62
490
477
890
859
458
380
856
116
914
202
964
446
479
950
760
549
868
655
482
484
293
108
928
419
584
220
983
986
655
605
34
959
399
468
168
45
334
883
287
128
915
442
137
562
932
325
311
763
520
453
401
565
568
42
453
773
384
468
420
892
976
64
633
918
156
606
74
257
682
204
8
550
999
728
41
579
740
715
990
346
82
55
150
668
159
161
241
430
611
290
352
18
127
430
496
793
833
40
968
662
624
621
338
47
212
356
584
328
69
745
772
556
667
192
561
524
866
675
803
932
654
538
612
200
821
871
511
364
217
91
295
249
969
785
181
24
145
145
886
869
236
664
500
52
128
880
996
91
130
932
490
211
373
773
536
268
99
633
482
442
893
862
40
804
79
634
408
492
69
146
755
830
731
468
884
526
727
788
882
346
983
382
466
961
993
944
706
99
551
429
364
911
110
247
895
618
270
527
33
613
489
223
200
244
657
111
274
537
649
162
105
115
877
242
768
718
711
857
55
413
178
361
646
548
517
432
210
821
599
175
915
703
208
994
215
268
596
719
363
434
328
403
326
923
583
550
616
948
61
512
408
170
778
349
419
467
735
209
359
614
861
794
190
988
990
68
653
566
441
966
42
393
702
588
773
612
327
625
735
206
195
649
366
870
610
382
60
6
818
874
965
15
435
293
446
741
846
246
25
843
594
469
14
123
909
101
399
325
799
851
578
518
308
283
326
725
330
897
558
16
434
211
864
311
582
443
726
831
803
759
778
798
816
676
981
739
774
121
117
311
464
681
526
937
67
53
790
526
896
578
394
714
373
134
60
741
144
273
45
806
925
705
111
564
109
923
91
799
69
439
332
300
24
96
176
128
411
123
595
104
45
185
592
451
631
121
999
525
562
447
257
600
19
731
593
507
209
996
617
699
832
101
791
41
335
79
439
467
456
87
609
695
29
983
982
979
257
66
321
995
131
154
810
994
991
188
706
310
390
415
553
828
295
237
487
944
267
774
611
185
601
14
779
655
793
643
842
954
205
151
556
391
638
620
804
154
237
478
416
269
891
279
566
82
289
430
783
214
496
118
691
896
881
864
308
173
559
701
510
261
556
146
476
500
161
853
533
165
660
771
953
647
309
144
243
853
959
155
118
368
712
729
914
456
435
575
338
964
799
550
788
614
536
975
272
526
833
913
378
654
389
413
129
920
353
601
407
163
416
254
466
573
315
484
340
593
773
987
40
907
181
11
614
109
599
273
267
447
443
891
377
837
775
285
352
948
822
58
397
890
988
633
270
627
657
180
285
323
483
481
173
663
602
717
915
856
45
958
513
68
497
771
565
780
255
795
264
352
425
183
69
131
490
221
577
524
512
908
912
528
908
380
357
857
753
746
200
828
500
777
164
723
609
367
965
901
385
554
670
252
557
200
167
242
316
40
167
528
78
207
553
43
254
97
677
214
195
714
538
268
494
952
125
288
177
647
274
958
836
764
301
88
772
439
914
731
879
9
652
414
114
996
595
166
55
358
213
158
292
239
672
813
339
281
947
416
506
848
406
302
267
217
514
170
43
962
365
646
131
422
818
701
697
738
929
504
903
806
188
525
716
275
662
114
518
9
161
194
903
361
582
786
697
339
230
702
600
321
120
351
890
913
610
804
965
204
521
539
654
135
87
891
356
690
999
613
369
30
409
22
876
630
616
62
682
677
306
843
393
908
947
889
951
668
400
81
800
706
905
539
615
337
596
906
110
715
463
199
944
305
693
506
583
533
125
272
624
944
396
133
615
900
651
16
170
981
807
31
300
40
493
25
483
63
64
304
968
705
257
585
592
283
412
789
917
159
2
767
539
445
540
262
236
982
621
676
375
554
37
618
16
92
581
629
670
357
940
358
751
838
28
665
51
332
567
839
597
202
878
357
479
850
838
170
36
296
547
757
578
635
971
342
44
60
740
58
281
806
975
9
87
261
777
750
653
178
971
954
97
258
680
726
838
310
130
72
978
623
364
447
327
345
16
812
655
175
322
938
107
457
179
899
448
894
858
281
166
544
732
247
480
91
344
588
934
530
382
245
549
59
605
145
326
174
812
540
960
12
646
405
343
415
517
88
119
363
907
997
73
899
562
219
175
857
48
30
53
945
838
939
237
522
224
169
161
366
308
722
239
205
552
585
66
208
123
468
324
564
736
440
899
792
379
214
190
424
412
733
759
321
367
466
70
73
795
210
247
519
979
641
65
515
699
153
702
161
827
976
62
849
885
430
568
598
265
486
316
4
598
653
74
204
81
780
178
795
531
174
79
729
573
877
853
848
709
215
506
568
69
938
97
194
344
549
411
636
712
556
255
22
38
110
643
660
130
223
362
519
576
262
968
717
453
111
580
736
440
191
509
851
981
844
976
706
697
585
628
128
475
602
48
98
588
459
602
864
364
61
873
914
634
886
133
757
583
301
542
344
327
367
889
70
985
750
474
938
806
947
980
264
402
600
766
399
89
756
534
614
371
441
573
674
855
26
898
553
268
797
929
797
725
402
354
625
440
559
584
435
174
785
252
73
336
14
536
166
95
666
900
400
443
785
409
474
360
703
8
943
681
20
313
189
866
452
620
167
590
250
740
646
236
752
39
673
859
791
141
343
871
403
14
848
257
604
76
588
68
139
66
359
591
722
872
504
50
218
262
292
625
392
788
461
211
56
682
523
701
827
206
29
227
532
244
131
277
761
522
453
718
993
460
821
350
307
816
820
285
53
867
375
115
491
912
892
432
415
56
88
87
222
254
871
940
575
84
304
83
797
206
296
387
649
924
637
580
259
324
840
360
154
298
665
209
425
905
184
144
538
70
117
231
687
162
938
735
657
132
365
198
338
734
619
131
280
116
811
986
118
540
608
106
317
927
981
94
492
737
366
136
374
881
121
626
800
916
763
991
470
58
606
258
70
54
323
302
871
304
629
583
46
119
580
112
675
712
920
625
718
223
148
566
808
654
584
396
633
818
610
142
763
966
336
337
841
866
882
417
452
539
974
856
545
970
100
992
487
647
595
356
200
779
917
973
735
501
861
636
222
295
453
611
395
544
717
870
111
533
479
615
206
710
18
829
916
729
260
360
358
145
965
868
907
421
865
660
76
82
450
108
990
519
988
536
805
426
278
778
985
138
307
398
14
745
830
735
523
908
772
303
602
932
983
551
941
76
183
339
324
353
544
23
20
807
493
140
807
338
225
582
919
440
372
856
617
111
621
728
518
993
393
714
98
62
224
100
389
249
921
88
891
183
10
500
956
69
375
733
886
297
298
657
759
378
824
529
776
573
338
975
322
736
962
507
550
598
53
214
794
781
286
871
643
268
121
908
184
458
711
502
456
738
328
342
524
679
944
242
874
205
933
281
98
176
45
860
59
280
524
46
632
506
170
423
551
772
6
703
6
184
824
234
301
825
861
831
175
705
637
34
797
729
304
193
333
731
575
30
908
841
170
682
336
960
883
324
999
154
351
614
157
702
107
535
618
807
67
327
922
306
986
653
356
380
130
172
854
134
448
105
848
39
157
698
437
961
44
954
603
444
804
85
352
540
919
72
707
548
861
839
508
926
918
238
496
260
235
701
221
263
287
964
21
494
999
943
319
719
450
548
411
151
720
834
261
411
643
269
336
397
833
446
366
911
623
712
891
797
848
580
136
987
346
755
261
747
635
515
170
674
664
879
837
474
918
769
171
782
70
189
804
29
635
816
512
102
476
80
336
74
946
707
424
911
441
571
3
534
515
761
75
984
161
970
755
947
850
431
600
900
895
253
33
43
673
921
903
828
354
969
434
111
333
595
299
473
443
646
179
504
879
464
134
4
532
32
533
180
584
133
112
194
694
33
755
401
828
868
92
597
850
982
53
619
795
829
135
443
902
335
524
666
753
190
69
229
419
60
458
649
449
157
184
446
660
491
768
518
10
269
589
454
984
718
782
37
937
221
662
74
421
727
621
738
425
491
967
466
843
237
939
921
600
111
621
363
819
389
935
187
653
906
898
924
276
482
468
559
957
32
119
93
774
983
248
408
883
305
423
980
119
418
801
197
350
548
355
23
766
343
576
249
580
576
558
282
187
929
408
203
218
835
152
954
310
155
208
637
811
605
654
901
292
427
555
135
190
750
4
409
974
5
631
437
253
558
302
830
934
795
21
67
27
905
208
635
236
549
310
179
802
471
830
904
12
155
554
322
580
461
597
710
831
929
926
542
937
158
706
845
424
685
150
139
603
255
674
47
348
958
282
829
717
625
292
693
872
20
657
278
186
93
710
620
925
84
385
943
717
622
361
267
622
847
239
755
416
569
578
608
863
214
450
801
230
519
737
509
451
508
560
467
863
412
79
925
554
845
294
602
450
706
810
190
403
604
815
782
465
556
78
815
121
52
911
296
431
566
770
442
765
507
504
701
594
988
29
551
409
504
162
657
538
761
543
585
58
788
453
957
341
304
177
274
287
688
758
646
904
825
820
915
255
723
675
619
457
909
346
953
14
446
453
311
621
356
114
166
263
731
662
483
574
659
151
704
691
363
755
963
4
619
146
775
882
672
664
397
420
164
646
591
532
861
544
433
374
75
275
356
771
979
232
326
853
679
650
549
180
629
517
687
382
801
740
176
830
489
159
443
28
893
63
231
705
228
863
899
861
828
429
448
147
488
373
9
841
205
536
500
436
785
276
517
775
674
726
525
627
140
794
694
624
918
323
863
536
604
674
146
491
907
918
265
452
979
20
612
68
901
830
83
590
68
951
85
583
922
851
851
963
308
361
638
397
56
706
329
412
9
999
527
565
872
474
639
846
10
220
934
252
818
170
946
525
329
383
788
550
693
426
543
573
897
863
333
15
61
45
986
539
966
923
513
657
882
228
521
744
846
312
326
182
548
155
16
503
937
388
851
471
719
905
988
131
752
32
455
787
140
970
306
82
401
229
678
459
384
628
282
781
605
942
738
84
169
740
163
91
393
879
431
602
245
691
284
333
792
363
271
45
7
424
385
215
183
909
889
483
150
529
183
878
767
528
723
221
511
872
920
59
323
149
76
111
613
294
155
604
572
633
829
832
874
747
299
767
165
210
621
280
929
786
662
430
969
809
106
324
791
161
216
58
690
79
210
33
693
144
261
668
317
12
641
958
83
526
684
105
951
392
445
371
336
88
578
393
333
330
920
691
396
660
269
888
399
116
256
790
791
119
65
468
789
961
676
639
220
426
75
582
845
615
499
866
37
545
495
283
677
756
577
572
331
32
210
293
122
334
557
801
661
346
842
905
949
917
504
810
515
103
393
475
321
592
214
87
670
15
179
28
862
679
949
677
229
416
307
572
281
457
478
402
435
597
878
983
899
706
493
991
117
564
660
959
837
807
122
171
2
711
70
593
359
977
224
482
527
739
394
636
877
212
124
168
160
594
457
120
678
654
479
330
265
361
928
592
137
885
521
173
584
18
3
289
566
652
494
250
949
570
767
363
630
995
943
416
250
805
110
270
773
422
862
862
483
898
444
291
159
539
787
929
540
978
625
711
826
468
381
72
534
433
214
971
252
676
450
637
399
128
1000
377
664
908
755
483
372
138
631
462
181
564
77
934
3
718
137
384
499
352
838
619
570
906
680
652
992
725
470
416
790
137
361
462
519
518
905
457
929
740
401
118
662
905
379
595
611
650
937
694
857
592
120
452
442
100
830
627
140
703
416
522
938
422
571
84
112
35
304
338
13
369
444
39
415
871
228
153
483
712
984
708
771
653
663
883
531
185
866
397
964
915
687
399
20
309
464
744
948
33
526
910
150
741
415
457
273
535
999
495
118
107
588
832
956
960
317
5
768
308
212
856
964
544
208
709
43
276
260
407
863
51
852
118
676
949
437
620
149
588
933
704
535
89
76
506
7
616
547
960
295
248
83
989
814
960
938
232
804
655
120
67
806
38
255
964
918
224
846
422
650
967
865
156
119
433
114
458
299
946
666
314
568
751
504
950
158
365
232
388
250
401
850
826
821
706
871
289
76
662
793
113
352
898
745
64
57
147
117
93
534
983
146
141
672
680
64
253
591
736
56
341
327
24
933
678
25
432
147
806
705
279
544
839
509
618
141
151
622
319
508
525
199
907
654
166
124
731
857
400
780
790
185
602
695
737
505
540
640
446
565
816
547
868
721
901
663
956
802
991
619
659
665
951
195
723
323
272
448
38
146
899
408
151
500
858
683
345
812
213
508
897
199
362
56
498
843
696
934
600
327
288
432
490
515
457
356
585
340
789
730
882
333
648
567
519
238
295
640
106
873
221
995
59
811
385
866
156
910
173
484
324
661
664
758
745
270
138
980
821
559
228
934
187
232
786
296
194
610
726
751
256
173
616
635
348
268
833
61
928
832
730
154
598
970
91
153
61
974
883
650
505
694
446
40
850
895
187
429
700
186
647
866
275
474
24
713
502
22
338
532
281
673
806
414
712
260
2
83
457
220
680
651
16
173
875
328
210
887
837
51
15
700
776
303
84
374
806
140
697
709
63
98
646
192
967
16
43
651
501
241
788
979
546
711
201
794
310
151
349
121
187
654
82
549
991
12
665
922
792
676
198
76
272
852
150
30
834
465
80
542
20
719
284
552
439
412
937
343
610
935
546
62
334
769
850
694
310
567
397
905
442
170
535
898
810
724
102
992
700
298
161
390
854
623
479
187
136
989
737
605
230
882
364
392
641
702
497
805
11
389
205
681
913
347
833
66
916
145
305
49
490
162
646
345
980
924
311
466
877
685
780
590
953
489
403
598
437
613
911
157
886
371
192
173
393
912
270
23
337
253
892
317
520
991
700
894
303
884
738
406
477
146
40
767
273
413
547
942
917
707
335
584
564
653
557
618
826
238
356
820
162
241
565
912
158
795
755
384
827
220
677
604
862
52
103
648
233
176
244
222
682
579
635
862
465
64
396
75
206
204
139
983
493
922
30
494
26
869
220
747
126
773
882
132
149
84
342
820
336
3
11
698
926
398
914
553
850
467
239
715
872
74
113
917
1000
281
80
310
772
754
104
828
597
240
835
966
382
580
695
310
795
482
553
630
393
707
534
260
264
242
921
851
666
780
427
714
968
463
954
806
449
122
131
162
681
355
878
303
195
325
180
759
399
8
646
609
451
652
275
190
762
773
543
950
959
554
783
526
71
927
219
541
399
263
217
419
99
776
468
448
162
338
95
154
430
322
404
442
327
709
173
921
704
671
234
30
757
721
598
846
779
597
416
159
885
720
583
139
532
627
328
378
418
139
117
594
670
323
342
483
944
531
577
308
392
366
457
470
49
361
872
706
14
741
84
725
679
602
780
653
578
474
286
493
349
448
432
478
151
807
201
164
922
649
597
726
483
194
587
281
890
4
754
791
166
812
229
882
242
216
11
310
131
468
796
233
295
586
724
281
310
797
373
92
95
548
277
68
97
14
544
521
120
753
641
561
193
298
138
888
773
376
907
572
123
651
832
86
822
757
487
570
762
884
134
408
650
85
657
878
814
41
93
587
489
42
473
660
26
278
73
862
21
926
366
154
861
752
510
563
1000
283
479
380
666
593
896
316
499
502
14
55
548
749
267
604
461
173
739
761
321
736
452
54
913
758
542
259
634
555
456
107
522
804
592
962
402
998
92
727
606
889
609
425
780
668
160
186
416
327
620
439
753
734
645
1000
304
161
316
237
540
630
915
866
492
507
49
680
267
534
493
675
447
181
885
942
985
975
49
933
353
471
912
846
895
817
698
233
650
907
221
868
735
856
52
60
182
939
682
695
328
89
188
846
92
237
138
590
277
913
269
411
731
394
867
895
5
583
162
464
497
488
462
401
312
383
504
925
797
358
309
621
744
23
488
588
779
980
741
476
513
505
357
613
62
737
9
761
189
952
245
313
836
789
352
402
79
884
916
126
533
882
33
187
321
603
654
162
775
144
576
805
53
47
649
864
177
816
678
604
591
754
4
666
71
61
364
364
376
793
87
359
786
147
82
101
408
25
942
466
437
806
445
153
159
684
350
115
492
407
798
825
129
98
23
351
814
562
392
805
359
611
580
511
296
240
457
375
220
731
988
742
1000
590
407
689
46
378
224
796
700
451
963
414
285
879
9
624
989
430
549
93
383
518
747
956
804
181
815
755
852
882
437
521
429
806
947
876
668
836
678
529
294
577
509
140
164
698
684
706
955
167
292
716
520
352
109
228
372
246
512
613
196
802
65
943
146
847
634
131
368
313
30
350
51
391
127
329
165
290
592
686
460
814
619
456
580
40
511
86
889
459
519
150
456
37
44
414
738
594
766
469
411
371
631
133
491
885
447
390
566
364
419
90
112
339
834
88
802
33
483
737
405
966
40
179
879
134
603
278
274
314
993
652
139
948
8
42
890
935
359
751
695
191
660
31
567
423
362
494
827
118
496
129
689
497
418
18
403
861
301
25
543
524
81
558
279
427
617
728
293
977
787
434
880
408
132
81
194
939
617
610
586
190
345
868
634
500
90
737
573
349
823
228
100
810
230
572
94
999
573
540
725
260
686
586
539
741
590
383
543
26
109
455
571
544
394
968
601
192
915
932
150
348
718
595
405
585
784
645
394
958
911
55
626
120
168
970
216
396
100
882
681
197
151
807
496
570
145
582
757
856
489
990
74
589
337
524
280
58
6
216
622
91
934
949
693
909
314
344
907
766
250
450
999
484
786
362
659
758
299
997
686
7
662
201
526
854
284
571
496
851
97
501
679
258
785
675
21
215
834
240
244
143
897
778
423
589
494
627
457
472
730
498
493
877
606
246
168
449
715
317
971
275
7
362
190
293
553
985
754
290
528
73
440
455
739
522
523
575
943
385
448
556
293
459
463
941
168
822
679
232
341
896
986
672
338
628
636
623
646
107
92
283
130
851
705
407
170
620
749
3
653
609
818
297
514
858
266
747
729
806
103
38
724
755
151
436
702
421
60
42
52
652
819
227
307
469
7
842
72
202
279
620
406
542
159
73
320
15
278
260
978
731
575
83
564
715
548
336
170
68
675
302
177
51
458
671
664
865
620
106
668
81
807
308
318
363
865
653
574
890
633
77
350
711
975
8
451
666
119
604
574
9
4
697
576
804
891
589
474
705
986
691
386
227
71
230
195
841
429
786
820
289
385
539
110
302
397
678
824
141
549
425
39
955
154
753
865
120
608
188
872
446
571
287
658
487
498
392
503
261
32
759
830
498
1000
236
448
389
926
16
124
175
647
933
509
105
391
290
98
309
825
978
786
694
803
908
570
874
884
771
439
156
489
121
507
898
553
952
127
973
754
635
264
120
648
877
740
428
126
463
729
353
746
76
159
962
424
748
712
852
918
601
336
112
28
72
588
529
654
289
567
99
267
136
750
349
867
372
792
93
735
350
206
571
241
212
430
680
436
631
741
544
285
52
716
923
555
675
191
295
342
338
222
746
364
653
904
390
600
448
526
887
993
501
854
993
223
169
247
781
186
886
151
806
50
486
702
548
413
603
622
308
10
596
405
303
818
143
706
504
34
962
267
46
480
341
470
35
108
628
362
518
908
625
311
824
220
112
952
257
383
526
875
640
829
515
534
75
467
274
240
941
859
449
817
132
653
841
164
749
302
996
626
299
586
475
280
713
628
127
920
909
938
610
883
784
338
626
780
999
637
176
808
765
936
808
454
322
988
686
922
540
915
461
853
137
379
272
330
137
793
509
937
499
306
556
926
25
561
778
896
205
703
919
501
667
304
113
132
440
110
32
442
544
566
533
332
673
541
808
792
926
527
544
821
589
930
818
307
95
327
134
963
365
69
482
783
541
710
416
982
517
199
984
369
337
938
23
383
912
401
186
117
941
222
112
570
212
915
921
298
612
313
751
482
865
736
369
115
376
851
387
19
518
490
39
193
123
963
182
648
335
242
799
902
602
864
318
824
117
507
722
707
930
515
210
769
558
568
339
797
694
660
705
573
268
620
99
113
664
855
393
920
69
557
861
536
832
830
660
865
360
619
407
909
946
115
353
840
712
780
761
546
235
714
197
881
696
919
546
635
501
852
333
907
54
833
96
768
735
473
531
86
447
267
441
879
895
78
818
170
762
449
5
92
150
668
394
989
652
489
221
374
533
118
596
475
316
328
253
982
814
654
223
99
144
382
998
660
741
332
926
976
598
26
735
55
573
428
473
688
432
387
505
399
790
552
104
42
485
655
412
434
53
905
805
107
617
103
621
9
80
201
611
219
465
21
906
105
757
366
467
24
326
968
488
79
28
971
497
373
802
347
582
404
192
78
201
500
77
795
26
296
132
426
806
319
255
265
650
512
168
30
678
142
36
292
368
330
991
658
965
340
347
676
92
128
896
369
629
240
132
61
530
322
564
388
621
487
935
611
172
675
507
24
212
574
133
559
669
653
601
723
868
315
574
272
186
688
815
492
110
752
500
244
505
96
163
21
981
442
175
15
248
753
111
177
394
384
614
199
996
51
720
200
310
385
854
483
495
713
709
556
477
870
657
993
254
648
850
607
103
365
61
942
787
300
810
884
342
184
181
424
875
537
838
13
894
29
740
893
692
132
558
248
788
905
34
709
703
699
395
331
236
499
261
384
464
778
196
202
194
180
891
631
943
975
93
78
666
67
551
654
592
621
915
196
303
113
763
767
750
274
401
555
792
563
604
756
632
478
10
638
944
689
144
169
275
247
573
663
833
826
392
467
975
973
713
700
204
455
666
17
259
768
232
746
614
567
163
721
456
610
630
21
232
827
866
449
156
640
931
874
87
48
205
134
799
64
36
321
151
800
278
155
397
65
179
165
495
220
693
490
876
940
369
971
965
33
795
53
613
845
680
674
941
133
114
412
134
322
244
141
176
35
20
143
401
100
609
143
500
859
527
778
289
812
306
820
482
263
760
561
341
362
57
732
793
143
475
333
972
36
501
102
592
69
300
304
889
395
647
345
650
469
533
947
158
729
101
778
104
830
746
441
44
986
478
333
483
712
680
168
279
801
295
554
320
704
578
949
365
351
363
806
975
888
369
772
398
899
631
582
560
352
777
598
233
107
859
291
410
917
767
864
81
718
354
749
659
210
849
548
350
793
461
618
437
13
821
946
504
480
477
988
491
462
960
409
205
859
469
411
530
451
406
555
966
555
37
799
746
113
850
614
186
612
358
659
427
486
398
731
315
495
857
417
642
95
964
135
721
555
634
722
323
266
887
553
441
48
355
449
570
180
386
878
167
987
344
106
325
889
259
330
9
695
937
166
745
951
648
727
3
606
819
66
650
45
360
623
427
836
737
35
482
196
236
489
278
163
551
634
678
635
764
74
870
822
392
320
431
876
480
540
893
692
579
570
144
645
125
44
593
53
295
26
505
815
95
185
116
181
796
632
937
94
732
452
178
891
847
466
961
268
645
784
92
89
227
184
194
306
206
107
444
256
613
995
894
81
500
516
31
34
346
258
445
993
115
259
252
592
665
868
895
734
648
262
152
379
17
193
579
927
299
274
170
900
22
575
102
464
256
256
268
32
601
396
988
648
144
811
372
230
907
42
960
137
749
462
835
299
586
592
129
391
930
230
999
331
884
408
863
593
24
635
25
179
80
228
340
145
224
444
37
125
113
974
304
294
703
705
256
240
88
475
572
26
335
37
293
875
44
177
226
692
581
436
958
428
82
575
953
252
28
559
55
309
90
53
112
703
59
403
913
403
827
67
302
542
600
286
662
985
508
72
565
531
936
939
463
359
848
522
216
653
726
219
267
795
784
541
40
829
852
476
278
661
726
487
551
899
978
53
750
835
261
428
750
705
714
118
553
965
591
119
737
796
344
936
288
103
328
771
560
206
245
237
26
487
465
721
947
929
42
634
9
360
751
428
669
645
446
608
868
583
434
882
644
968
311
396
559
331
674
744
571
366
969
633
379
592
34
182
884
926
219
941
418
295
979
360
434
476
776
735
524
255
453
234
401
393
995
295
931
665
943
387
672
557
401
443
448
334
524
39
58
688
981
918
997
748
650
35
461
909
50
82
950
602
521
350
877
740
923
742
571
257
259
736
973
292
569
714
997
549
423
269
656
34
65
306
712
679
373
292
534
493
967
154
778
586
414
796
309
936
647
218
54
665
608
268
101
548
960
16
127
584
51
687
787
296
635
612
736
192
612
309
692
22
88
620
934
24
96
479
712
679
282
163
75
58
570
195
892
517
193
303
304
384
926
414
607
63
902
744
672
354
148
179
752
647
890
379
349
476
153
414
340
164
271
305
817
88
500
428
503
939
496
653
390
213
374
699
695
636
101
262
129
893
416
308
65
899
14
451
756
430
278
353
732
847
474
555
350
805
753
187
394
267
450
460
475
890
156
648
403
489
703
673
923
870
962
425
554
112
316
823
401
718
275
405
690
92
857
699
590
579
512
412
606
253
912
282
654
571
155
444
586
43
633
707
345
518
663
769
746
762
960
284
945
76
745
750
6
999
536
867
864
916
866
938
788
279
463
700
291
655
616
959
491
607
794
685
945
280
961
25
344
401
101
920
853
550
499
128
734
407
790
395
833
155
574
704
517
997
522
376
490
331
209
528
606
151
493
929
912
803
350
931
186
39
102
40
801
277
527
594
460
214
288
486
246
833
983
431
150
418
284
206
404
330
272
969
855
988
301
531
889
669
860
339
457
24
449
152
376
622
374
969
624
548
930
5
339
950
402
409
38
896
503
794
622
476
727
133
484
962
514
649
670
612
802
99
173
103
896
125
852
310
995
450
512
820
386
647
803
660
108
345
121
330
810
611
506
457
376
356
261
527
94
264
899
126
147
707
115
950
944
394
637
640
138
470
348
132
80
568
511
641
796
400
767
676
794
911
303
804
292
399
947
67
75
849
594
224
371
840
869
526
908
117
211
673
819
838
245
141
283
940
529
76
80
49
826
922
622
954
461
349
74
201
156
243
863
735
266
999
469
583
553
54
346
264
351
952
162
555
563
965
190
274
758
697
572
881
117
396
353
154
104
905
165
822
281
827
570
55
146
228
60
910
251
979
500
560
410
468
170
677
540
390
266
670
734
379
960
648
739
103
990
680
504
804
932
391
235
483
411
243
546
840
644
533
918
132
670
28
26
390
775
358
280
414
766
172
162
69
143
664
55
488
348
567
365
783
916
355
226
603
35
854
735
734
139
933
880
185
389
378
760
97
284
229
492
388
32
205
92
421
167
517
206
877
464
363
595
22
121
661
647
323
965
492
931
306
908
773
764
123
631
717
536
398
398
251
296
96
178
53
9
569
575
525
605
652
105
901
973
823
683
692
508
692
180
833
566
722
988
980
511
466
909
895
557
648
66
236
706
126
661
995
116
476
290
749
392
571
216
182
62
685
797
973
600
580
498
666
795
475
850
863
585
444
48
289
916
271
876
528
914
621
488
737
654
595
930
621
599
848
253
199
471
726
921
301
280
728
770
132
70
716
717
933
894
160
787
699
920
182
167
413
440
128
654
272
800
866
77
66
675
135
342
896
261
699
928
855
294
357
544
207
172
527
738
431
416
117
520
827
405
782
116
233
860
605
464
818
228
960
821
570
722
25
829
474
8
929
412
839
223
439
433
506
143
604
890
763
925
736
334
690
333
232
209
575
213
693
538
203
185
160
236
290
225
662
982
132
960
871
770
861
786
42
900
900
264
963
978
746
368
290
880
397
246
928
727
982
258
823
448
110
385
595
986
550
891
671
406
749
715
384
967
273
536
940
803
617
70
174
833
366
956
731
72
81
350
772
657
168
859
46
602
583
514
609
748
225
275
287
683
66
276
607
723
69
578
131
713
37
761
959
618
595
175
471
884
682
199
158
749
738
49
871
119
84
73
251
740
566
78
648
237
286
64
472
796
923
303
633
405
34
977
868
452
712
355
753
775
580
873
858
556
77
241
105
134
677
885
812
758
584
133
954
104
630
36
128
260
924
402
945
992
540
847
16
124
777
591
119
231
922
470
895
669
18
865
604
721
659
578
351
265
235
715
895
313
12
197
396
854
680
834
391
679
138
517
353
472
944
152
571
850
538
716
18
238
50
709
498
610
184
441
642
526
371
506
53
869
787
743
305
256
643
239
741
729
165
741
960
13
704
32
332
326
634
348
280
393
93
492
937
867
945
970
883
239
706
31
26
461
352
662
634
765
136
541
346
829
484
349
787
581
456
728
168
767
129
661
62
669
27
709
592
983
409
573
774
730
263
22
125
20
706
241
106
498
686
987
528
980
103
728
128
202
636
413
460
977
849
313
468
958
674
451
946
203
739
200
798
982
40
112
21
900
463
345
956
370
620
763
561
156
222
968
59
500
548
244
212
800
487
778
814
335
577
688
957
250
318
912
803
582
784
583
474
264
366
553
882
165
321
557
48
589
137
607
45
139
770
224
279
412
790
680
382
435
984
875
394
847
9
731
856
526
73
359
922
745
912
174
193
116
97
281
593
360
847
661
114
338
700
171
7
470
689
671
676
775
951
693
749
295
497
234
57
951
880
372
961
786
983
528
287
57
813
938
755
815
117
312
913
123
386
935
329
801
54
132
650
216
775
946
13
299
592
145
528
438
771
521
891
415
460
153
895
89
131
226
640
179
419
378
943
193
969
111
688
860
780
562
496
734
76
476
569
916
983
180
875
667
483
922
903
479
161
480
371
745
864
355
202
96
375
780
606
426
494
674
98
781
477
589
414
466
203
168
866
541
890
225
876
445
35
550
998
903
7
436
44
686
96
857
468
137
66
780
895
659
690
374
951
642
965
257
426
268
642
815
407
153
95
736
579
95
372
353
292
995
727
142
123
960
912
26
186
581
514
5
614
378
424
196
253
126
644
867
416
1000
122
218
840
834
223
929
58
320
474
527
290
467
410
131
216
546
616
178
795
162
672
612
67
443
26
221
112
404
158
307
375
729
237
30
884
789
526
737
353
276
491
829
629
93
493
173
777
925
833
195
238
165
961
503
152
61
803
303
110
235
940
441
899
734
467
337
753
74
732
624
471
541
736
369
940
227
620
481
649
655
989
62
826
762
69
873
357
448
920
766
573
789
636
729
32
438
14
29
15
490
100
135
395
38
42
509
460
754
829
671
367
12
137
802
209
333
977
106
913
962
982
817
34
651
335
952
325
194
195
616
490
692
66
404
684
123
524
161
895
546
421
701
862
653
373
134
990
565
447
257
364
886
582
781
988
455
118
974
778
640
819
705
462
145
695
881
186
32
172
473
97
661
394
247
589
36
803
509
577
958
723
150
203
173
626
188
891
300
182
91
631
655
848
616
330
807
199
185
791
579
710
828
356
751
347
553
8
110
864
749
232
110
964
280
276
462
121
825
816
248
634
487
287
38
128
902
815
590
575
618
375
585
200
430
471
728
750
581
175
995
670
146
237
2
256
108
381
498
215
573
393
65
852
728
104
866
624
859
669
855
280
548
997
667
452
653
81
76
549
921
302
734
553
977
966
878
675
93
301
376
104
243
616
418
486
535
462
590
354
835
761
645
144
22
59
874
919
973
304
475
118
883
485
749
202
693
994
386
568
483
640
37
176
249
241
28
507
146
933
742
406
776
397
97
593
207
314
237
742
263
198
611
876
747
180
789
382
860
242
557
818
811
609
543
1000
620
980
979
906
250
809
47
573
952
103
955
609
774
281
128
260
206
600
893
146
481
223
211
839
825
166
505
293
630
302
306
156
141
618
280
103
909
307
815
930
685
150
627
171
238
248
83
410
73
224
275
55
138
90
378
119
504
861
578
78
951
412
364
194
794
729
153
107
923
163
643
293
744
704
706
363
10
332
693
627
633
337
774
51
59
144
62
288
327
326
196
480
515
565
188
736
787
512
70
143
860
894
323
54
27
744
93
24
921
40
681
199
512
687
544
44
33
387
898
878
29
337
202
617
175
856
271
938
837
6
538
305
15
22
322
918
500
395
207
636
762
744
154
102
256
450
636
25
200
379
298
389
404
413
324
458
890
594
850
829
715
406
318
623
424
320
383
325
559
50
489
710
699
72
774
657
868
185
741
662
513
984
19
269
663
446
195
241
661
668
762
469
911
71
960
622
669
498
672
292
21
844
374
258
853
923
339
526
308
282
551
695
791
179
99
84
150
92
331
624
895
162
541
809
784
299
254
136
456
449
598
941
447
367
703
983
62
614
469
969
28
524
442
162
976
837
477
527
547
574
687
957
303
197
73
429
61
300
216
956
18
535
642
80
481
666
466
89
519
775
470
777
34
368
542
933
864
160
694
210
478
789
659
670
506
49
756
362
160
144
784
979
71
191
881
222
276
807
466
488
15
97
749
395
934
438
101
295
657
570
955
17
693
748
527
869
397
583
758
674
196
229
801
730
548
322
362
84
593
266
633
954
193
506
18
385
851
358
624
298
556
369
695
631
684
197
362
806
614
645
627
510
930
976
988
881
765
648
359
148
269
208
291
810
882
848
524
251
24
812
704
813
704
331
113
185
977
658
523
961
107
612
922
485
154
312
242
600
24
74
418
482
865
425
236
580
128
843
31
811
401
439
64
531
195
659
904
854
246
952
275
708
942
734
812
166
727
935
933
32
733
503
470
764
512
519
884
209
443
677
422
793
650
508
814
876
59
97
136
604
74
578
531
153
265
345
754
182
804
645
830
910
626
125
275
818
659
93
410
549
413
357
222
957
762
523
613
252
209
543
420
835
872
164
711
176
45
685
634
473
879
990
287
292
419
530
299
826
222
784
253
229
983
794
971
116
866
576
644
759
650
559
215
162
33
581
996
850
608
262
887
895
181
455
296
857
917
401
446
934
747
56
383
20
767
971
171
186
334
486
221
615
833
166
440
913
205
70
613
719
50
701
661
864
399
88
362
103
343
126
483
620
27
952
316
338
311
282
370
616
678
653
762
299
677
597
25
766
190
998
455
9
185
901
661
10
146
931
582
616
250
863
529
664
816
168
29
191
860
869
71
364
596
401
704
547
142
999
123
496
557
196
765
931
839
270
243
158
345
837
609
593
226
889
960
101
771
678
399
152
545
29
837
904
607
807
574
811
330
338
692
463
589
54
378
877
904
63
953
135
147
863
702
222
454
313
135
468
938
901
523
331
759
648
276
407
281
569
593
769
27
826
25
859
755
823
237
917
271
39
587
904
949
159
480
302
630
912
894
930
274
480
636
529
6
395
448
773
916
860
487
608
960
753
692
398
390
165
433
179
93
991
847
803
718
360
869
483
161
300
49
142
569
596
325
131
132
286
614
377
62
295
361
611
953
139
720
100
812
828
447
726
886
549
952
579
127
595
396
658
814
47
410
787
932
571
795
223
354
36
929
325
955
619
329
118
530
327
848
113
536
780
922
254
875
519
887
575
897
386
765
286
180
839
659
486
26
752
618
990
818
611
243
76
723
67
618
302
752
265
823
217
795
124
364
937
378
794
669
540
33
1000
763
950
595
407
259
471
746
649
538
400
21
348
166
912
432
292
572
954
278
464
77
319
352
640
169
526
641
66
762
371
127
756
208
845
265
467
248
257
795
317
767
810
492
763
193
781
511
452
346
639
680
640
345
396
473
129
981
861
281
201
844
951
494
618
160
952
627
73
400
843
47
648
238
750
991
849
712
172
208
986
705
363
706
338
669
960
731
27
421
620
700
392
818
406
427
195
681
162
631
561
277
710
613
498
88
685
214
549
260
385
687
673
685
443
368
439
413
574
977
673
226
534
920
600
985
541
489
466
51
621
911
711
993
570
121
187
25
946
446
356
87
368
894
401
954
849
617
277
766
714
569
196
976
720
641
991
914
705
84
661
417
540
336
185
141
63
850
121
371
66
875
331
738
285
81
137
69
60
474
270
508
106
412
469
535
315
927
493
668
610
97
971
795
601
398
808
301
911
333
955
963
370
329
751
353
613
366
847
1000
107
172
713
39
525
381
525
453
153
512
868
419
571
370
267
790
492
864
346
722
890
318
501
429
898
748
324
743
300
17
523
173
924
664
596
591
718
733
120
64
783
381
778
809
617
493
782
567
430
179
981
313
715
347
551
546
147
920
328
182
96
954
760
548
809
538
153
656
911
378
195
399
507
149
362
405
405
71
336
123
334
642
38
528
390
520
543
629
126
16
363
385
579
819
175
437
90
124
321
837
485
420
590
506
456
305
824
615
469
515
947
755
325
68
304
536
693
372
846
956
754
650
983
931
490
265
513
658
507
568
683
202
172
949
365
687
375
272
666
836
458
853
575
561
612
137
450
691
870
791
288
181
907
918
962
697
650
981
429
743
113
851
594
734
923
547
751
234
970
618
542
403
58
445
558
413
756
371
962
665
605
401
519
836
119
537
541
323
36
131
919
691
423
370
599
81
615
39
574
100
489
454
486
628
250
899
762
833
626
737
733
179
483
506
781
58
380
453
539
548
181
203
226
832
151
628
416
887
889
614
800
85
276
525
73
367
549
313
531
207
68
944
440
793
318
896
619
932
788
72
893
352
645
952
786
175
299
695
174
617
284
247
3
660
589
455
229
176
390
219
1000
22
52
285
933
705
311
978
151
644
766
547
251
632
149
6
692
842
451
108
63
469
612
338
449
477
21
617
510
468
455
361
525
322
537
117
145
659
96
722
688
277
650
449
628
139
897
497
772
819
270
110
225
93
953
68
740
892
42
18
187
768
55
888
772
161
42
924
192
271
757
936
373
774
670
438
732
975
431
299
883
828
21
643
465
305
903
763
308
898
865
574
910
308
658
803
213
801
965
744
171
748
765
646
18
590
839
378
751
774
393
502
82
542
622
180
191
354
165
61
330
491
714
413
790
615
306
906
300
539
235
977
86
470
414
453
456
727
242
725
84
252
956
579
352
349
423
157
657
518
773
926
194
715
817
498
527
761
590
902
901
981
52
135
268
140
268
770
74
473
952
641
821
609
467
594
906
16
830
537
774
406
51
544
646
635
234
965
268
643
427
42
105
179
679
103
525
65
575
128
748
277
724
436
708
67
424
902
883
435
926
642
277
675
1000
915
1000
129
99
906
827
795
564
230
827
757
2
38
121
735
726
766
405
171
443
367
529
545
895
134
344
480
108
554
152
650
711
739
151
943
121
688
531
411
633
377
958
712
976
132
950
702
376
606
280
160
979
785
222
834
803
950
171
949
551
641
471
113
554
162
28
427
763
110
386
768
254
404
628
441
781
354
143
594
965
868
892
644
885
73
427
870
972
641
239
349
477
939
481
41
426
239
720
466
789
634
905
172
897
520
189
110
176
595
799
152
580
260
919
798
290
219
21
538
187
964
818
356
428
175
77
972
440
305
245
151
598
297
949
473
258
915
361
147
566
634
569
195
383
585
117
22
795
706
565
807
375
623
368
207
173
287
432
985
718
745
601
151
202
855
117
167
611
457
805
317
445
835
684
61
320
76
107
43
741
740
822
256
266
329
225
685
983
657
185
924
382
836
969
311
586
96
877
431
279
147
484
247
431
98
856
929
645
776
236
388
69
461
195
862
488
376
755
596
619
119
341
487
225
541
84
853
68
77
845
500
97
138
309
627
447
887
235
429
330
590
720
881
441
745
705
189
664
941
920
230
759
204
652
588
458
386
818
769
411
510
293
772
42
693
501
675
607
273
479
37
853
607
994
349
269
129
82
140
150
354
270
304
443
520
421
907
221
786
602
623
787
497
224
158
751
683
275
622
145
306
858
841
883
798
117
865
488
293
293
526
355
815
153
100
76
776
762
96
953
953
399
684
633
272
99
400
347
50
954
135
300
724
319
967
891
5
44
511
665
193
491
758
880
389
737
110
719
496
390
667
94
871
499
961
550
551
288
108
910
752
610
688
50
833
128
626
697
654
824
175
394
146
476
390
441
238
10
273
117
281
959
976
600
892
63
805
38
957
674
532
16
651
936
542
963
821
172
59
878
218
949
278
867
402
620
490
468
361
175
950
802
369
271
289
169
971
837
854
957
912
839
638
31
788
235
567
313
143
420
942
288
670
158
561
988
180
61
255
40
676
8
609
618
521
400
188
391
744
873
497
525
161
259
926
726
923
314
46
638
321
87
272
698
989
478
578
979
306
194
820
245
205
308
615
50
34
661
577
792
102
388
855
397
225
128
48
283
326
101
670
339
964
657
675
369
352
690
356
895
295
490
611
806
152
328
801
242
652
327
372
81
433
211
535
61
629
670
612
555
962
990
879
468
988
960
870
551
136
356
260
35
635
234
864
781
449
555
162
445
692
376
318
468
760
525
727
473
486
268
959
42
129
287
97
696
260
709
411
297
644
202
357
197
128
599
840
627
183
562
400
995
340
538
819
418
611
28
237
376
601
780
584
945
561
83
80
52
600
399
442
164
395
124
501
494
35
594
331
530
847
768
948
699
197
601
966
619
91
24
452
785
798
663
768
133
810
612
766
674
72
845
116
265
190
137
937
848
610
280
412
468
472
145
72
874
464
462
997
966
302
276
392
483
430
657
27
138
84
809
847
35
729
429
599
108
742
65
222
857
958
102
5
220
890
666
470
703
254
462
678
675
728
549
654
956
71
301
733
274
795
868
291
754
178
919
255
832
43
243
963
473
429
45
733
945
415
726
143
777
631
460
73
720
781
437
113
941
208
524
943
229
307
712
483
707
310
806
227
226
971
838
977
172
784
660
100
758
321
37
308
164
68
615
887
397
363
839
645
22
430
914
339
996
776
724
267
543
861
931
550
35
874
792
222
958
626
112
659
39
379
985
180
546
949
826
755
270
333
816
213
202
186
203
75
699
436
930
586
274
6
461
840
155
463
303
601
501
166
58
195
122
569
813
155
140
229
551
508
481
330
229
258
46
541
611
66
269
842
779
139
752
429
327
149
586
802
127
806
742
569
731
392
221
285
957
524
543
95
638
667
156
237
609
497
189
159
266
906
448
869
494
367
548
909
692
533
824
176
830
612
898
397
429
440
700
471
898
757
364
357
432
269
357
545
432
484
180
788
229
4
472
22
550
30
797
594
626
578
455
547
121
581
620
957
683
450
346
870
306
32
618
364
42
744
604
558
289
727
633
560
152
202
131
360
702
212
575
799
216
115
955
282
768
620
771
718
961
572
247
425
848
376
202
149
253
8
314
333
743
935
258
508
213
888
761
220
520
526
884
600
967
418
387
575
508
139
297
338
180
614
282
644
672
796
826
32
444
933
746
701
876
973
204
241
26
713
367
403
535
339
324
819
91
196
816
258
52
667
830
492
491
523
263
563
66
244
68
218
169
911
267
973
484
324
363
926
496
73
232
388
914
276
384
371
640
716
398
988
676
798
505
52
195
655
731
456
788
710
91
186
369
495
382
555
495
680
499
591
135
81
45
628
999
616
288
570
300
182
731
386
148
547
711
733
750
616
187
932
201
775
548
202
950
716
653
237
978
659
31
603
727
523
177
851
171
800
651
781
472
451
532
901
115
329
498
325
230
983
895
945
297
237
952
684
498
252
329
318
547
855
77
354
360
501
497
425
557
360
852
875
198
304
24
430
259
489
849
762
597
972
834
198
387
293
441
789
230
843
862
601
519
925
960
549
481
799
844
492
118
176
619
417
492
88
318
897
371
99
996
654
693
410
300
614
423
568
55
323
850
266
853
903
844
159
959
949
223
577
913
520
520
942
524
799
673
522
513
94
146
709
362
526
422
16
537
408
792
707
954
519
676
117
711
823
608
376
329
377
191
446
313
804
6
68
170
866
450
537
480
543
853
610
316
440
548
976
264
282
135
340
563
216
471
865
170
348
64
903
116
326
930
772
782
78
570
640
93
921
449
987
356
926
736
619
667
907
60
881
250
301
74
117
627
760
510
211
177
70
58
127
747
438
864
699
877
44
811
146
533
201
380
869
807
92
95
968
37
926
61
378
484
193
418
930
226
621
474
137
995
422
814
161
369
413
117
137
423
358
832
994
709
262
850
727
368
869
746
310
964
323
802
630
921
522
827
129
16
469
465
319
76
882
998
524
775
945
349
516
524
715
355
401
619
547
921
537
393
845
302
139
485
785
438
498
71
878
356
511
763
522
656
377
517
455
516
601
967
164
660
694
98
339
825
267
879
5
966
387
953
744
210
457
260
445
288
346
363
162
419
302
87
657
252
184
824
980
929
563
116
783
248
543
116
844
677
370
940
102
156
92
758
108
842
557
856
85
257
5
396
138
983
691
533
884
88
91
238
382
868
717
941
162
913
685
311
24
664
315
444
985
17
997
78
608
417
383
510
497
134
230
35
441
455
574
132
680
982
840
745
786
527
76
226
922
47
914
927
811
31
670
177
143
467
934
85
815
120
6
820
781
978
202
862
292
267
847
885
163
70
43
445
513
279
624
935
802
88
451
31
436
207
807
642
450
556
506
969
907
343
797
148
403
181
714
464
861
161
971
832
32
817
674
406
423
129
113
289
77
182
519
7
658
764
559
486
855
374
700
363
575
601
228
991
569
208
506
141
509
313
302
281
204
693
918
25
996
157
845
565
317
689
526
206
644
922
698
739
442
631
643
595
898
607
377
180
826
296
745
215
437
642
181
508
997
286
650
857
767
285
169
568
667
929
108
281
101
217
945
343
853
427
127
239
9
592
832
176
68
421
71
354
329
673
180
558
968
275
159
981
52
413
703
733
818
5
615
133
391
187
901
51
237
68
28
198
755
413
720
948
280
544
875
365
491
608
695
527
194
518
605
738
704
324
712
505
724
612
908
318
566
57
979
245
114
270
29
633
893
902
94
665
53
15
223
599
402
812
306
553
864
915
455
696
845
922
231
817
642
275
903
330
195
867
647
56
875
587
481
293
305
242
819
974
527
781
345
451
207
299
633
13
691
177
349
766
308
236
440
227
426
60
723
34
742
927
714
579
456
663
291
65
818
51
177
426
533
590
741
443
384
906
874
45
835
725
84
745
593
367
877
48
787
218
157
120
904
434
154
207
910
377
624
358
430
956
487
661
295
399
320
895
608
329
589
674
312
752
604
47
770
636
507
903
590
375
11
938
547
508
639
772
960
587
944
347
234
467
13
846
976
528
346
755
315
734
371
418
935
484
831
174
638
227
134
758
178
409
746
867
783
250
365
398
788
353
883
119
547
63
709
521
606
383
166
296
461
396
146
792
990
412
706
562
732
752
601
832
311
57
533
66
534
421
154
863
472
54
858
917
510
776
918
156
343
654
88
924
614
613
138
339
420
350
309
899
193
444
977
838
888
576
350
729
611
875
545
434
946
23
917
152
461
487
110
950
974
323
569
500
180
510
835
762
11
367
510
440
483
191
311
907
36
567
733
223
723
916
221
287
764
419
607
942
53
34
43
180
204
475
400
604
750
463
398
609
92
31
659
456
749
969
883
195
509
761
734
926
979
936
416
525
726
852
366
502
382
433
333
677
524
439
286
759
972
95
382
221
613
276
353
563
665
604
198
665
635
758
651
50
515
855
220
984
186
487
61
323
37
112
412
445
159
574
34
696
89
832
217
626
16
928
988
7
50
793
829
597
14
172
561
914
366
273
165
424
62
941
282
316
352
443
156
533
966
951
681
33
159
552
39
442
307
978
752
158
729
912
665
378
821
43
960
166
451
350
959
452
409
67
72
811
409
647
970
676
801
632
702
149
874
979
516
706
281
814
554
462
273
188
339
978
612
583
270
479
224
479
814
743
247
245
5
887
309
456
447
511
530
134
670
929
288
842
837
976
283
804
629
9
260
671
265
414
271
937
862
588
76
133
842
876
494
286
654
381
385
836
73
827
320
616
451
64
697
91
873
755
863
458
775
902
320
901
726
786
577
550
795
770
746
114
663
891
254
571
886
185
12
33
87
303
833
485
855
262
354
612
729
809
882
774
85
874
684
979
508
653
111
797
727
800
6
831
661
581
124
161
652
443
96
723
462
555
401
498
104
880
232
129
215
289
585
397
238
34
945
31
48
999
586
105
178
897
968
687
455
801
989
823
97
34
807
41
211
484
559
924
144
390
446
506
851
22
354
414
71
16
681
783
766
179
290
376
82
738
323
588
795
536
759
293
498
674
787
621
615
492
514
237
772
897
781
880
61
960
533
144
565
334
712
804
516
806
587
500
103
915
656
412
176
251
974
843
807
173
142
55
62
689
722
35
702
141
359
518
697
149
925
322
229
597
842
573
101
664
677
419
183
441
258
567
855
919
201
87
313
26
703
56
940
595
19
967
580
432
589
59
765
311
329
287
202
877
730
427
583
370
747
626
438
448
679
549
851
783
695
708
284
343
993
306
201
498
404
36
430
935
66
763
883
870
293
559
943
807
989
910
279
498
94
192
627
646
730
527
86
496
973
463
239
255
725
939
947
303
383
850
252
52
296
716
66
801
664
71
227
301
369
991
431
188
384
898
983
468
340
566
836
861
702
685
332
175
273
494
788
744
819
875
353
753
103
502
910
968
287
974
738
421
463
723
8
158
38
217
22
236
434
617
965
718
827
374
282
167
50
83
67
482
526
984
757
973
780
93
915
424
885
748
510
855
977
590
920
641
593
421
554
180
248
701
295
361
970
588
823
533
801
996
853
226
72
993
238
328
224
917
416
173
671
429
643
835
271
502
989
918
835
867
161
543
464
505
884
448
72
454
497
328
979
505
925
12
742
162
946
559
431
209
573
728
111
87
726
657
472
376
661
519
371
228
534
38
940
196
292
726
849
152
382
489
116
92
380
238
933
670
525
209
943
551
175
2
794
203
771
535
826
113
267
806
592
626
337
649
156
560
245
864
498
544
757
812
829
60
409
332
754
729
855
290
940
807
514
617
573
431
110
948
91
238
625
186
337
887
671
371
615
422
873
412
802
651
419
993
544
864
814
133
41
205
148
662
646
861
457
723
294
716
738
189
916
799
490
82
489
925
435
105
15
359
696
251
460
745
103
743
741
240
450
358
269
951
741
539
882
974
316
242
413
374
532
295
305
598
480
572
986
762
700
161
631
975
466
338
567
420
552
3
996
22
109
18
720
182
665
679
549
880
229
84
319
677
755
326
703
737
280
348
494
633
595
126
124
446
924
49
427
591
858
382
132
195
810
519
510
335
384
888
183
768
256
926
675
364
199
290
605
136
875
578
114
204
815
647
652
149
750
117
656
152
699
759
555
410
793
913
748
26
272
583
716
338
847
642
339
187
188
345
837
83
65
403
138
935
908
434
842
487
657
329
365
102
34
744
848
346
947
980
159
866
735
442
192
46
874
937
189
696
54
430
707
955
924
510
348
538
192
587
663
489
937
652
946
961
635
39
800
974
974
336
337
206
391
562
741
817
205
450
973
916
403
295
606
875
793
631
300
808
290
773
676
537
435
284
73
280
63
964
82
729
958
169
927
702
521
258
689
981
597
540
34
737
89
927
257
139
542
127
576
924
19
122
440
729
932
268
816
18
753
273
337
882
732
427
277
939
433
813
75
652
781
204
651
22
817
361
863
435
751
148
586
619
163
80
357
194
887
534
766
324
930
542
843
673
721
307
950
917
935
102
444
68
667
789
789
545
251
949
440
295
734
38
729
388
722
179
382
938
490
687
96
668
669
980
410
118
485
250
299
891
295
880
298
438
502
126
567
605
700
972
117
230
16
586
979
257
950
962
657
264
241
653
458
893
885
184
802
709
634
105
196
53
278
733
630
53
962
354
34
579
102
915
610
779
598
247
781
842
768
340
601
491
941
656
164
419
438
925
47
624
792
509
48
471
485
222
448
916
205
70
417
351
737
951
651
122
133
948
638
101
304
238
759
52
880
827
268
211
834
264
362
521
294
242
388
118
900
694
192
887
465
917
953
891
803
117
859
757
246
253
911
660
767
568
140
854
860
189
423
52
137
993
553
261
861
939
572
198
801
578
592
693
504
987
74
516
514
801
181
346
929
266
859
182
550
742
267
88
999
99
548
497
633
284
673
467
160
516
395
858
13
405
911
454
476
718
484
550
396
114
187
751
307
241
699
353
73
668
31
672
127
810
400
161
24
752
903
729
311
508
876
632
520
935
714
254
647
354
925
738
272
576
217
39
377
873
581
683
400
545
318
127
488
681
932
269
231
126
612
730
785
219
397
917
527
794
634
566
36
233
389
211
491
430
23
989
942
927
931
758
553
820
62
591
495
211
651
962
298
297
516
304
407
207
887
670
770
895
461
487
802
708
18
843
13
935
150
380
654
87
604
911
816
601
570
809
916
835
245
133
650
577
788
758
532
248
989
583
536
757
299
920
99
853
16
828
178
734
539
967
42
258
718
220
496
677
79
76
513
653
522
979
96
923
353
689
694
367
645
220
416
432
849
905
585
540
178
74
923
743
282
401
412
19
378
14
866
931
305
24
247
415
808
635
138
770
229
283
431
992
661
847
722
998
767
198
266
472
787
369
663
60
501
275
349
96
295
119
397
546
980
369
321
275
37
483
757
70
5
499
72
430
880
289
578
558
925
11
102
203
407
617
185
543
398
516
77
935
603
949
6
489
291
774
972
956
530
851
675
11
258
500
456
733
267
643
234
61
460
265
301
281
351
272
608
513
461
833
722
740
461
340
176
620
883
439
485
283
602
617
426
975
686
535
135
617
378
810
344
519
26
112
629
930
674
595
135
206
585
406
832
336
899
65
524
983
841
117
669
105
708
511
167
352
388
708
981
32
373
717
101
999
66
841
522
758
894
420
839
430
570
969
970
606
407
81
243
40
339
26
429
177
827
318
26
651
491
658
921
622
153
175
470
47
684
136
310
849
463
803
518
104
252
288
149
159
933
310
72
298
340
375
115
537
487
989
746
173
919
217
921
276
838
120
828
445
972
981
190
57
136
787
808
941
804
42
139
731
164
560
980
797
15
952
589
601
250
359
298
833
674
781
456
182
257
579
38
816
691
415
718
286
952
589
543
726
404
914
623
770
117
806
531
360
735
481
951
512
3
44
998
7
856
159
309
84
198
375
389
973
512
224
623
497
830
830
444
20
121
492
596
594
326
301
672
276
280
405
844
204
557
346
319
15
365
702
387
718
938
698
630
643
202
526
214
752
246
943
704
188
101
878
405
159
157
716
653
165
459
609
59
936
34
563
827
726
921
703
450
479
229
589
968
161
334
528
289
660
50
730
941
727
995
839
163
556
142
62
969
401
469
227
14
661
845
369
953
445
5
619
213
69
68
421
15
499
430
934
930
190
634
231
932
38
371
407
228
343
350
428
918
849
165
380
884
239
802
884
873
833
452
125
910
809
365
337
877
619
508
269
299
264
369
552
471
56
689
724
26
894
405
786
542
507
49
612
402
630
183
379
585
346
930
191
619
943
850
529
139
472
756
816
502
500
178
683
371
295
504
628
860
850
209
856
603
217
903
484
371
558
712
999
289
581
934
62
475
140
803
21
837
727
400
802
456
327
900
997
678
210
205
316
497
120
651
796
93
228
408
689
894
334
681
966
513
484
444
886
251
568
192
776
241
607
334
1000
475
408
912
800
436
489
258
853
613
789
280
962
733
888
133
867
813
718
813
687
453
659
56
979
605
86
451
418
349
520
689
381
726
908
58
227
535
406
894
873
139
370
114
724
450
16
391
878
949
119
955
230
489
682
876
593
614
82
717
15
774
236
379
691
265
72
138
79
645
392
92
432
992
566
650
324
330
788
204
624
305
94
815
336
533
16
209
621
485
628
891
936
268
317
36
843
615
173
290
980
263
758
609
869
129
354
168
626
17
962
392
842
138
336
187
957
473
827
691
968
851
873
753
568
953
548
573
730
965
506
81
267
600
547
938
5
915
242
159
451
473
644
224
127
117
173
394
770
767
962
686
653
896
405
310
693
337
589
818
25
256
443
845
327
928
762
546
887
558
274
886
388
506
623
505
319
342
210
422
244
569
176
852
842
258
979
503
29
632
776
649
189
770
22
271
346
695
555
297
285
308
251
684
14
828
657
590
500
731
167
534
544
693
625
530
526
731
149
956
834
888
958
375
354
899
137
574
480
626
525
926
606
362
415
96
225
823
369
731
809
793
589
691
753
133
275
351
907
408
247
300
325
549
324
178
612
416
917
728
834
937
20
464
352
233
157
764
676
74
865
734
205
897
881
692
649
153
421
397
141
928
564
360
318
745
319
326
119
13
398
945
215
85
423
141
74
785
983
750
987
836
981
295
913
321
315
24
901
698
954
748
283
613
273
504
468
849
894
136
723
48
390
880
548
310
496
711
817
762
70
352
483
506
393
159
92
929
860
297
347
32
942
314
179
606
236
804
608
947
312
901
833
326
31
641
14
666
55
329
463
727
780
206
403
79
726
353
434
515
385
434
234
907
346
715
930
488
464
682
138
884
905
528
843
704
213
334
151
612
399
811
218
595
519
806
566
138
741
201
823
52
676
714
681
577
111
106
671
815
575
743
145
101
897
983
430
834
689
826
410
385
39
540
331
297
709
79
169
640
959
6
43
537
364
297
295
263
557
585
15
885
957
10
653
688
462
718
176
472
91
267
825
384
579
282
798
744
55
966
136
546
108
596
921
297
954
139
583
638
336
617
560
338
812
350
484
723
701
655
825
333
236
342
65
823
784
734
766
192
502
413
221
455
575
632
242
506
193
524
353
382
963
63
738
878
88
575
600
611
728
539
990
503
870
786
200
171
760
304
887
145
333
845
822
443
522
620
784
610
763
910
292
446
728
151
741
624
818
380
85
172
135
552
924
966
327
561
844
477
234
644
417
685
984
616
542
869
620
247
456
554
866
606
279
777
493
487
71
396
578
356
101
682
349
195
544
647
910
111
153
312
412
424
704
364
889
440
679
481
597
489
574
48
675
79
453
118
904
677
407
801
52
299
584
272
438
364
94
262
357
341
286
50
715
348
564
444
175
653
799
91
753
201
23
644
393
374
604
329
766
436
618
954
106
219
21
255
302
37
694
159
375
987
692
991
155
781
800
408
84
600
628
175
972
855
961
819
424
758
410
5
683
66
294
10
89
927
163
729
326
93
384
59
274
905
645
781
739
390
585
341
632
98
598
912
509
246
203
131
878
334
676
287
70
987
57
994
62
539
754
289
350
912
161
607
212
556
684
583
408
806
657
630
750
197
437
334
623
633
915
820
866
100
601
528
418
256
703
23
376
195
522
937
182
775
902
297
792
801
998
143
479
512
580
247
925
721
160
274
892
542
491
286
431
44
325
927
726
140
790
255
124
938
752
504
731
687
726
124
552
492
115
986
838
803
417
660
51
912
168
380
368
627
491
162
65
746
964
220
759
235
369
597
926
146
240
533
517
616
547
51
979
102
847
653
282
75
139
679
488
121
63
117
241
507
557
393
783
325
642
258
370
190
182
334
525
858
842
349
800
824
680
14
286
574
619
34
224
612
692
108
999
348
714
432
95
402
675
155
121
939
160
844
465
610
311
787
22
381
584
983
568
602
232
492
68
359
36
485
379
950
593
782
835
407
694
664
32
172
663
85
36
123
40
503
697
574
142
779
885
394
928
286
980
46
372
702
965
25
267
804
479
214
816
156
612
180
592
414
9
122
293
808
543
310
672
273
52
530
898
384
11
652
547
830
472
577
683
107
400
230
508
121
343
486
911
709
527
187
519
923
744
654
528
946
702
425
306
278
802
423
611
789
769
238
556
540
491
193
336
258
392
362
803
363
173
819
757
418
903
503
590
549
564
942
542
413
188
69
162
245
969
200
197
503
166
852
279
264
657
918
645
435
755
508
129
3
688
706
131
577
531
81
120
108
413
143
759
502
963
406
672
743
612
475
863
25
980
985
922
918
498
196
493
897
540
519
741
594
879
586
845
227
398
347
460
298
563
274
847
420
519
482
76
492
813
573
432
376
57
967
991
60
715
712
586
807
783
692
598
931
965
420
699
236
294
862
422
349
726
574
506
796
779
78
213
693
769
703
275
660
760
549
808
110
891
546
510
598
884
304
653
823
396
755
388
557
519
293
408
888
291
690
519
876
202
173
684
590
722
556
248
688
121
598
865
273
547
260
738
92
447
520
322
908
641
311
88
468
450
437
621
631
289
579
894
245
540
524
998
984
128
149
536
399
669
560
908
697
705
111
287
353
563
202
770
646
17
277
715
873
680
542
230
85
476
830
341
917
576
727
276
31
905
652
95
811
889
146
430
328
481
605
64
344
594
94
953
505
387
521
958
465
294
38
927
618
189
596
653
730
762
321
195
135
738
599
275
207
474
969
121
86
839
662
238
904
361
171
923
408
279
593
90
246
406
768
561
383
400
974
556
873
778
631
332
707
650
581
993
994
318
970
528
535
669
919
305
363
932
570
868
573
664
361
750
863
543
486
540
44
502
202
380
725
243
476
530
79
559
213
671
61
536
415
939
969
592
416
906
145
129
975
153
876
345
991
62
360
398
381
404
727
66
398
320
320
759
350
227
700
648
688
796
958
42
934
784
382
720
476
779
77
780
104
439
922
454
685
760
328
396
664
82
553
436
896
785
447
777
394
416
490
749
278
597
131
800
321
235
816
220
19
851
338
684
672
589
318
539
179
148
198
572
486
732
598
826
685
988
420
658
936
203
176
415
779
975
235
413
644
64
628
293
895
977
559
171
162
636
937
868
611
152
93
579
570
77
856
320
992
53
810
519
381
773
951
22
180
304
182
131
944
915
473
338
511
95
485
781
666
803
458
36
109
691
388
872
934
463
806
661
583
185
967
461
634
138
443
255
190
759
292
807
173
536
759
142
986
320
860
690
504
845
481
373
462
674
402
66
187
531
297
201
322
211
239
89
455
189
587
447
318
641
153
771
966
402
883
799
280
262
127
342
233
356
774
378
818
755
67
900
478
149
230
441
610
547
720
173
848
798
797
947
125
174
921
947
755
744
242
353
155
112
832
509
576
781
659
440
56
81
361
13
462
215
234
225
788
522
441
739
196
405
750
348
970
506
309
355
612
322
888
825
598
153
842
24
319
981
190
794
95
255
15
518
426
650
857
446
653
820
789
599
218
813
321
46
855
207
150
239
968
347
524
415
226
439
873
668
218
634
283
96
313
903
548
33
408
243
159
27
189
158
210
945
370
467
491
673
523
345
927
168
872
134
619
504
188
108
339
341
683
175
43
179
726
333
12
92
259
118
990
120
603
143
692
998
512
228
840
641
985
765
15
623
512
479
912
941
57
418
940
753
835
658
488
589
679
827
896
6
241
172
951
487
880
500
37
248
127
607
175
257
106
163
307
99
666
278
861
935
134
507
246
506
333
638
551
655
111
237
357
337
467
830
818
22
661
837
144
683
922
178
746
946
667
454
180
840
867
482
930
389
14
150
590
51
480
355
959
487
592
867
417
570
710
391
981
795
450
674
653
541
874
75
965
387
25
734
358
531
406
774
888
926
352
159
898
302
362
874
166
636
875
417
284
941
970
953
71
996
922
213
734
805
589
324
715
618
961
995
982
963
955
493
676
621
572
357
717
621
21
329
88
93
138
616
535
278
941
616
947
517
359
974
814
582
798
251
584
598
22
317
224
248
285
990
564
646
152
852
23
559
609
96
929
769
766
249
859
384
80
244
753
762
898
901
458
801
231
633
715
695
76
556
707
744
301
305
405
997
692
531
876
241
625
648
265
306
505
635
983
202
260
334
615
752
854
356
922
629
820
741
324
68
818
799
297
825
718
772
861
292
58
257
110
126
538
445
307
111
337
338
734
853
577
461
743
958
678
89
342
725
501
439
398
940
63
87
23
966
392
406
630
497
675
699
338
484
658
780
839
684
409
741
713
727
637
627
796
782
826
743
945
763
567
483
670
203
410
789
930
950
6
925
822
574
518
279
183
333
105
9
293
208
368
63
746
489
484
789
476
829
406
210
661
129
664
721
27
903
799
964
885
86
896
157
561
424
775
208
794
751
481
193
588
611
262
643
795
370
907
837
863
532
497
677
313
119
359
652
965
530
123
83
675
998
118
479
563
227
294
588
277
165
877
800
643
717
120
353
609
34
849
529
935
247
320
931
530
593
716
7
76
874
133
689
392
67
944
149
647
176
99
749
432
877
401
307
229
348
543
666
909
959
99
979
217
194
404
92
646
228
52
898
290
838
892
614
909
750
40
293
737
575
276
417
381
367
469
327
19
321
273
47
360
404
316
7
552
11
781
696
454
496
995
41
816
332
278
897
974
531
979
183
390
479
264
215
16
556
813
141
584
207
215
886
223
804
724
6
442
783
242
821
441
373
606
851
688
193
842
589
999
223
909
805
265
300
184
362
303
219
281
353
57
182
890
523
499
530
161
64
765
551
139
212
683
759
686
938
827
614
549
380
564
706
614
465
688
30
536
875
664
783
602
519
49
281
860
453
909
7
751
406
186
843
863
557
559
465
374
552
251
186
505
827
557
469
791
970
932
477
960
359
224
19
43
621
65
499
18
24
193
690
616
968
251
983
855
763
722
364
468
819
615
420
802
762
719
721
748
463
304
532
563
733
489
131
866
643
181
898
614
397
828
880
606
183
861
781
77
565
639
249
892
830
429
930
702
764
843
135
188
594
898
703
965
397
176
30
164
891
424
885
701
995
778
190
61
650
917
147
182
136
350
559
601
232
950
886
779
274
839
191
160
29
763
89
699
545
436
158
815
829
129
325
301
44
491
894
213
588
752
649
300
891
976
36
596
808
689
771
11
288
461
885
141
163
496
868
471
83
920
12
157
490
128
533
436
935
890
654
21
351
930
986
615
76
661
397
734
714
518
549
387
800
103
654
12
521
328
872
469
215
39
863
789
617
407
598
856
759
862
256
382
610
141
169
519
82
338
610
774
669
915
518
33
704
139
857
326
481
213
210
621
220
990
787
203
8
402
810
390
590
319
24
95
225
663
459
175
972
188
684
795
283
424
22
560
123
705
309
876
699
270
839
715
189
649
216
562
171
104
254
743
864
205
569
831
800
829
270
988
187
644
478
48
686
774
556
312
174
161
531
271
276
820
617
549
118
928
510
841
292
622
826
888
29
23
982
417
278
675
843
756
581
32
712
856
926
398
414
22
256
764
104
243
359
987
108
845
501
626
645
711
943
972
226
895
117
717
434
916
525
259
897
141
404
900
559
576
867
891
990
694
958
677
792
272
558
838
527
558
435
106
89
757
525
128
363
798
556
68
281
705
593
72
354
342
60
201
221
866
304
440
914
165
860
972
864
678
222
587
720
310
991
488
39
844
173
363
134
345
961
434
979
809
616
685
171
798
324
819
891
810
692
52
207
414
563
377
835
630
575
556
187
346
135
723
144
935
121
912
940
867
604
34
169
397
996
381
158
883
707
754
843
438
504
554
395
672
940
84
297
503
22
800
922
709
321
196
748
520
279
939
811
620
421
499
593
946
771
244
317
443
377
814
45
995
942
437
570
369
920
968
614
269
107
559
472
622
839
928
292
905
882
301
23
571
180
372
646
159
305
444
25
596
645
335
906
574
560
67
320
241
12
26
233
58
49
981
333
612
698
686
708
586
426
791
241
225
785
618
261
203
107
117
952
323
985
439
676
842
761
886
560
763
710
574
174
549
202
731
510
341
318
682
887
24
267
239
668
907
858
820
438
998
26
576
920
796
433
398
338
71
951
665
77
512
183
365
314
435
435
203
473
426
331
124
914
706
103
218
157
129
667
564
174
321
843
265
790
909
320
125
637
397
204
270
923
900
287
659
577
232
53
232
82
806
648
412
991
996
328
522
729
418
638
935
866
968
309
53
882
730
635
890
309
641
920
831
303
326
238
760
551
116
696
806
458
986
947
761
285
828
888
43
145
876
138
845
82
388
710
733
675
65
280
343
806
571
281
835
283
894
933
108
574
576
848
219
293
747
407
121
910
470
920
815
31
724
685
789
420
849
539
177
752
500
916
833
546
714
170
814
808
199
90
434
892
288
660
921
869
530
319
92
144
927
381
327
701
220
848
156
208
260
732
304
38
536
163
199
596
466
548
131
899
152
895
708
807
381
254
175
415
259
485
186
166
289
33
240
881
895
348
678
511
946
957
643
464
509
182
22
214
931
511
417
838
955
368
222
615
754
238
400
25
939
861
206
663
659
243
604
407
992
674
927
217
659
863
507
705
582
626
967
394
599
418
820
364
785
448
822
305
690
400
465
152
919
30
678
139
655
582
858
788
681
216
844
67
66
920
554
292
86
359
813
736
442
108
647
372
199
559
771
921
993
277
668
55
69
906
457
394
714
949
326
849
978
225
74
358
666
508
760
918
882
986
703
582
510
986
554
861
679
102
215
343
910
72
38
669
183
986
14
378
652
23
883
710
980
280
121
740
812
811
246
559
459
873
40
971
196
720
398
215
301
119
233
969
730
950
535
600
974
136
102
482
276
769
760
177
314
915
350
998
217
206
76
300
885
4
288
842
10
240
609
266
935
143
231
226
96
383
375
933
733
506
418
558
673
436
196
291
833
930
745
718
90
785
83
25
959
958
492
977
645
764
236
527
442
475
82
548
405
355
587
134
488
311
950
611
387
975
708
366
888
164
565
242
311
980
934
563
679
787
987
911
720
940
858
772
841
455
559
585
931
359
327
871
683
582
823
310
643
128
837
420
107
508
3
616
218
648
367
800
212
650
808
455
373
719
909
277
914
578
275
47
272
262
445
538
570
316
434
9
800
333
974
176
44
744
390
548
183
577
164
862
435
715
322
258
510
306
810
831
519
402
723
644
705
318
593
929
819
454
32
385
92
321
814
67
643
28
281
736
855
336
939
121
621
269
108
133
849
96
330
617
256
580
963
603
394
799
396
392
957
643
814
823
627
692
754
172
134
56
471
906
587
153
160
313
692
66
969
815
207
605
127
324
272
265
171
233
463
91
179
390
876
669
237
221
956
515
788
577
338
791
560
52
824
889
732
16
857
353
476
292
262
57
789
476
200
888
336
190
340
246
753
173
74
852
699
670
541
247
67
165
69
481
786
186
902
658
644
76
854
903
749
11
429
379
865
595
225
528
227
793
241
789
860
231
828
955
271
870
313
487
316
689
655
918
390
984
11
246
964
114
521
425
54
278
583
299
677
452
512
242
537
492
42
456
785
341
495
983
172
124
76
188
59
477
486
645
552
934
938
597
320
671
884
155
571
970
149
139
60
102
119
682
863
803
641
551
651
328
498
887
89
174
408
293
184
217
804
563
304
954
138
593
646
16
264
956
422
360
880
50
67
658
157
22
155
202
916
785
241
423
199
598
343
385
195
106
393
427
639
154
447
984
790
290
152
507
620
155
741
382
463
42
150
430
781
442
984
715
532
659
669
241
627
735
25
597
38
319
290
610
978
957
94
943
120
883
465
111
366
123
964
641
698
508
599
219
963
168
972
498
680
330
223
718
400
291
337
177
361
800
915
215
395
912
816
751
896
624
55
931
130
733
651
113
461
683
901
486
426
853
924
393
231
566
266
408
557
816
995
196
564
362
187
63
139
598
634
552
405
425
457
156
461
965
678
770
164
666
216
914
930
617
91
574
287
152
545
469
83
114
320
527
277
306
659
377
600
284
907
972
801
553
67
737
762
791
309
341
558
452
146
996
258
100
218
294
725
565
835
2
174
646
489
716
227
687
38
64
278
856
844
629
919
829
146
974
767
606
833
201
628
857
607
984
698
188
834
787
893
57
488
339
291
303
631
354
643
229
242
832
694
929
920
550
978
521
737
90
987
90
257
342
677
533
401
911
534
976
679
127
533
709
336
452
816
962
690
72
248
765
818
975
533
776
596
16
574
111
254
376
781
58
888
271
962
990
227
43
781
797
318
998
86
447
242
563
745
202
551
7
362
840
396
139
751
775
681
750
914
436
395
737
278
748
927
598
41
334
977
321
440
552
884
851
457
622
405
159
600
300
789
185
796
740
315
401
753
493
151
443
115
257
843
480
465
274
197
484
34
539
868
854
40
544
880
358
241
104
755
340
893
675
386
613
777
181
587
1000
555
247
871
87
820
679
461
936
333
159
182
908
307
547
471
178
966
57
669
518
432
159
450
542
37
513
66
697
68
281
352
363
388
542
614
636
900
867
323
599
169
131
71
720
384
252
192
93
698
613
858
225
565
595
117
798
441
167
996
168
502
120
506
255
183
45
630
363
852
352
805
726
714
456
313
249
926
499
384
796
831
720
599
196
350
26
463
246
565
417
525
974
709
464
738
603
31
623
330
114
103
182
210
103
193
356
118
606
513
547
260
121
671
664
29
338
147
870
805
805
459
882
821
138
970
53
56
816
832
148
985
634
563
926
844
221
567
309
53
153
617
802
733
257
439
34
724
449
201
558
440
585
353
147
141
923
586
637
864
627
682
289
850
839
592
967
1000
879
238
261
180
256
677
677
925
921
144
291
130
713
140
114
293
217
953
365
536
304
884
728
699
134
402
788
834
412
10
577
913
18
347
651
314
43
135
938
886
640
795
559
313
677
692
213
984
197
30
948
428
142
434
240
56
407
798
79
871
29
541
108
588
439
700
559
309
957
784
945
39
480
182
278
80
90
963
198
537
65
326
871
511
595
461
946
530
404
49
473
390
53
766
920
996
237
986
974
356
688
919
946
925
21
81
200
772
852
350
164
805
302
569
249
682
695
486
825
109
131
330
116
400
685
520
739
678
42
588
258
752
729
471
346
629
673
870
470
862
454
96
859
382
74
727
26
779
378
95
628
573
130
433
157
793
658
875
45
559
282
258
711
18
604
998
236
264
928
122
702
616
82
754
723
118
238
839
224
698
274
788
948
237
378
288
513
20
763
37
445
157
826
321
21
294
532
160
254
728
150
15
46
441
111
665
196
323
133
298
589
59
557
842
21
893
549
26
290
944
348
869
483
248
835
963
572
663
253
796
938
408
121
960
336
612
653
742
16
534
700
560
599
235
697
52
962
221
826
886
300
670
294
293
298
59
256
207
768
869
159
314
171
232
713
49
522
173
537
350
237
296
708
325
177
175
97
476
22
55
512
462
95
169
997
42
513
57
196
985
763
630
540
908
757
257
225
922
783
499
276
205
236
758
880
437
621
595
653
873
838
568
32
734
424
849
326
238
323
681
21
62
650
147
23
192
697
876
415
42
281
316
284
407
968
400
266
197
801
354
498
87
435
747
686
107
629
530
199
906
199
388
623
41
74
753
806
720
620
638
934
360
59
867
943
51
991
472
12
361
118
246
250
844
241
50
552
768
492
601
724
675
217
18
90
654
648
111
542
21
31
764
496
569
562
25
994
733
778
204
286
813
919
31
346
771
519
717
935
590
325
382
98
764
355
900
195
561
903
731
577
408
900
417
777
374
519
346
625
958
229
143
970
536
900
486
19
38
637
968
482
717
735
896
638
926
653
754
170
453
304
444
12
739
101
831
739
443
895
158
446
468
933
464
404
885
151
521
993
768
823
41
663
345
239
325
626
845
492
298
500
353
332
859
571
813
888
207
410
773
664
692
154
423
549
691
522
934
47
88
697
306
142
948
525
468
790
35
210
92
958
586
7
139
20
550
734
2
69
405
725
419
208
695
506
591
764
431
671
834
653
436
766
146
610
982
458
140
554
602
773
296
44
184
152
793
882
566
351
756
836
6
964
426
79
761
499
669
898
713
82
404
752
905
265
768
954
994
551
837
879
15
874
678
82
64
962
500
401
491
351
49
286
874
30
183
607
517
684
425
256
736
245
5
495
171
445
726
160
187
785
626
498
331
177
641
507
290
734
239
846
79
791
83
413
530
214
123
960
314
370
510
290
482
519
985
163
229
910
543
69
507
653
10
188
88
276
513
88
527
395
918
379
647
892
765
647
388
171
503
788
829
809
956
941
228
588
333
918
752
232
831
693
164
53
49
708
146
590
644
90
121
330
589
334
627
305
835
203
919
829
181
840
936
551
511
729
323
657
809
60
257
241
583
468
928
350
566
169
132
431
948
735
398
182
582
232
761
211
395
639
436
963
419
376
792
315
132
362
962
714
393
94
804
348
236
131
731
704
162
125
326
811
229
287
9
578
731
954
638
970
126
790
402
406
170
540
50
167
324
392
464
914
134
995
27
69
976
100
628
553
28
889
728
1000
435
131
285
145
862
17
255
10
298
345
391
268
615
719
632
270
770
245
859
633
37
805
488
534
535
884
402
577
831
796
504
728
282
561
72
772
76
597
202
381
709
201
826
854
55
821
474
895
353
614
447
986
580
319
502
536
439
100
684
512
375
110
563
73
29
960
650
453
685
583
601
505
115
941
617
311
65
460
7
588
442
957
853
500
934
851
546
942
814
827
66
494
867
60
818
292
329
554
466
893
65
113
237
417
363
138
498
290
711
748
233
882
326
741
901
234
346
928
594
544
613
948
86
343
105
917
4
437
181
981
387
669
787
437
797
525
534
846
331
486
411
216
152
921
105
413
427
493
830
409
761
494
343
185
523
75
974
614
738
518
151
161
857
913
774
590
522
391
421
154
529
873
949
629
444
393
166
546
788
757
694
829
984
985
783
150
995
444
936
547
829
695
891
579
924
499
459
23
903
44
29
227
402
307
226
596
605
932
21
574
517
113
533
143
281
749
748
207
688
494
128
51
505
791
532
984
688
633
666
420
543
109
721
714
70
681
827
464
797
441
839
7
708
405
212
906
400
904
691
747
887
584
579
74
418
402
957
717
602
342
952
379
348
959
170
230
145
173
121
914
227
849
199
139
181
581
614
917
15
284
516
70
822
914
228
445
763
887
864
185
375
11
230
159
889
357
527
429
403
979
512
644
583
655
276
439
674
209
859
240
211
638
956
669
818
425
756
551
700
36
798
475
722
814
65
694
322
203
614
269
148
943
462
292
249
274
961
524
402
754
518
699
240
9
628
493
224
732
822
416
920
210
499
910
451
384
240
7
388
557
850
667
912
397
718
573
13
879
701
243
349
843
11
506
778
284
930
320
52
304
23
773
816
567
187
225
363
213
934
870
920
93
581
380
248
393
31
502
911
771
589
755
470
156
955
63
259
330
364
966
930
481
316
503
343
967
197
7
560
194
363
217
258
810
714
648
598
155
400
362
34
829
525
721
122
348
348
257
183
519
125
862
259
555
817
120
591
250
157
761
121
924
634
447
215
549
965
232
445
746
899
698
30
127
528
597
835
786
653
980
877
785
261
807
299
946
105
924
703
495
851
35
907
162
734
834
453
854
846
973
802
598
62
724
51
494
809
48
311
884
517
536
81
254
840
275
893
212
625
449
105
878
96
634
455
120
868
828
921
258
153
770
790
41
965
896
209
220
569
103
142
673
699
393
724
88
686
484
983
117
578
589
196
915
716
735
334
360
120
426
778
857
479
168
9
957
920
279
586
826
997
379
553
678
187
160
984
392
303
345
182
178
560
95
280
966
434
824
710
876
232
16
910
219
784
859
359
210
591
13
444
523
243
473
758
234
480
782
661
287
785
672
465
946
603
389
574
850
534
690
823
59
476
256
37
5
278
725
690
791
838
473
949
632
821
573
821
768
681
148
661
435
734
710
209
259
48
711
82
420
190
892
952
745
652
501
950
908
152
445
941
414
8
37
925
953
992
256
794
747
446
485
430
405
958
974
898
23
656
407
865
360
262
445
382
135
344
958
877
964
633
351
340
2
861
222
868
356
501
787
850
199
941
190
702
439
363
855
231
849
532
13
573
838
401
775
111
480
93
560
920
216
324
927
234
338
274
288
663
932
970
847
679
176
616
505
248
393
774
802
404
962
768
165
829
403
247
294
737
777
258
197
374
194
53
19
625
92
568
642
541
687
818
725
802
711
613
960
898
950
658
186
190
442
305
71
985
494
196
567
835
83
82
733
570
648
298
705
463
351
338
750
549
587
276
537
726
481
461
24
931
287
37
711
907
334
796
59
771
455
988
983
283
464
995
707
670
36
698
201
166
377
900
969
855
965
190
167
418
590
749
678
645
882
739
496
375
33
104
286
781
17
244
135
316
133
785
830
915
114
379
906
569
486
345
682
388
664
336
693
225
243
440
715
190
473
693
605
768
597
153
581
420
844
958
706
290
827
284
983
262
440
749
436
790
134
948
38
703
303
932
669
258
456
153
853
646
448
324
340
673
604
515
143
653
444
733
894
971
953
224
589
275
795
212
4
727
778
128
579
338
484
338
970
767
452
779
521
459
895
66
603
40
814
694
896
127
155
537
351
190
838
653
168
848
40
666
835
804
541
797
372
529
152
443
672
754
98
8
189
95
832
57
555
243
333
522
897
750
367
946
284
372
422
614
481
914
393
731
771
302
437
774
807
854
742
784
217
37
891
813
881
566
20
19
856
130
768
406
118
519
414
43
11
448
862
163
133
220
193
547
592
672
915
831
533
474
933
793
713
472
982
539
156
254
340
471
625
199
740
861
360
174
13
125
263
427
555
369
105
75
535
949
950
920
507
63
237
161
253
997
924
47
996
487
184
221
301
306
185
793
682
920
735
368
967
912
805
86
764
818
550
560
87
964
595
613
333
666
567
703
978
581
607
907
166
640
624
376
343
704
136
788
211
986
544
588
274
324
461
510
615
138
850
729
57
328
596
743
247
212
789
901
98
278
772
8
376
76
398
649
10
979
226
21
38
620
663
391
80
860
832
225
502
411
349
844
42
445
918
751
498
539
503
943
196
46
388
616
710
408
369
623
50
839
222
115
392
710
475
353
60
483
173
619
104
393
288
783
312
731
2
517
127
94
731
273
295
126
604
42
232
696
548
279
3
471
327
126
312
234
459
956
852
553
471
154
443
250
542
334
432
762
156
252
466
284
814
382
706
659
548
997
587
63
536
789
83
379
941
399
317
984
961
634
936
115
356
336
141
815
304
377
122
372
457
205
721
297
208
840
196
895
487
595
209
86
731
952
511
851
265
349
19
778
475
967
389
648
745
588
598
164
324
189
322
566
164
150
384
739
310
905
709
964
719
596
962
345
326
919
358
886
633
533
459
423
158
748
996
498
100
737
661
650
692
578
890
595
568
891
735
602
488
329
173
599
856
226
314
541
546
585
243
799
985
85
90
638
456
772
193
304
360
507
283
623
675
562
331
592
777
190
893
796
469
233
761
203
132
207
969
106
814
167
408
367
819
245
524
370
302
311
283
163
606
428
752
401
374
634
166
635
141
162
416
603
120
303
154
616
362
225
489
707
383
287
371
563
934
623
338
913
86
541
183
185
702
756
794
149
451
513
761
932
507
767
207
157
82
277
862
355
231
967
381
403
226
162
907
110
405
299
221
496
809
69
845
809
84
63
229
430
920
264
87
869
437
47
12
927
907
318
893
22
822
452
228
334
644
868
793
671
687
613
45
371
280
120
953
161
779
826
349
524
319
302
183
174
457
847
40
25
410
288
52
242
894
372
992
968
697
276
414
413
790
101
908
120
840
844
449
932
686
439
519
871
858
44
138
173
359
750
107
589
669
546
836
306
706
940
565
280
255
447
511
13
382
492
362
467
813
570
906
939
603
609
68
884
377
223
653
266
727
375
101
582
265
301
481
866
865
152
138
402
983
318
135
714
577
293
21
414
819
91
870
904
640
328
272
630
944
444
631
832
446
812
156
883
182
367
899
249
329
948
873
142
100
277
664
802
800
677
385
223
445
874
560
167
390
530
587
109
26
943
599
382
520
315
780
203
863
80
243
56
875
562
350
962
227
409
719
396
837
239
204
284
375
553
536
188
862
503
855
56
505
844
781
404
182
494
668
202
333
481
362
429
660
412
503
834
419
993
141
732
876
450
561
6
628
223
299
396
275
645
508
499
801
664
236
234
954
131
436
623
314
146
821
10
869
674
842
392
697
149
946
386
210
812
893
827
179
867
964
71
681
26
764
502
738
157
931
57
319
985
985
280
350
125
436
569
493
267
437
10
95
400
665
590
998
725
645
877
705
616
947
126
36
331
660
194
187
523
249
736
384
964
331
321
633
650
907
104
61
225
441
279
520
707
217
937
750
462
440
604
408
474
182
942
513
375
265
257
844
265
108
942
873
555
36
71
488
95
819
760
907
851
515
431
84
670
919
662
395
17
975
608
108
538
141
213
438
187
955
537
121
65
261
369
159
826
543
263
618
413
576
163
898
76
929
628
734
896
465
550
295
972
641
356
322
377
192
635
769
592
789
563
891
626
778
468
919
746
192
262
615
530
565
927
112
779
980
975
603
515
713
549
821
694
923
291
999
241
178
52
895
383
24
576
834
635
270
311
185
54
509
107
744
771
871
65
254
31
374
282
814
738
254
260
535
997
766
941
515
829
420
111
629
637
293
939
321
925
193
973
48
668
705
870
843
645
855
356
708
111
54
87
910
183
6
677
450
368
467
874
200
953
866
880
328
928
673
347
173
513
869
986
747
761
457
64
297
540
863
801
68
607
846
213
27
246
249
367
858
343
390
120
184
358
461
802
126
185
92
193
795
578
290
685
685
683
884
369
699
890
15
732
472
524
985
867
346
374
371
27
380
874
855
907
921
694
738
864
137
643
301
529
684
752
582
755
715
307
62
293
915
260
442
171
167
776
567
306
246
192
633
142
633
77
780
469
794
326
422
637
639
358
541
600
622
214
410
226
603
399
634
819
18
440
537
179
113
575
299
451
39
379
448
320
388
619
567
833
556
623
653
569
909
835
122
398
587
322
48
699
725
749
658
698
705
750
981
683
946
189
25
826
910
938
454
58
623
391
12
652
702
475
700
542
770
360
661
45
98
475
450
201
891
37
639
715
909
195
525
257
358
95
535
773
346
566
799
747
134
180
986
70
322
23
830
642
375
497
130
185
198
817
180
413
563
685
64
516
749
517
340
492
326
369
848
713
826
378
694
416
667
856
232
941
544
745
980
872
784
283
598
162
52
821
786
984
619
869
964
543
950
908
278
508
628
363
598
264
358
523
904
767
935
564
597
277
806
836
959
948
149
713
847
431
960
255
385
230
574
205
98
263
611
609
229
568
381
398
819
355
433
950
413
328
836
324
791
454
282
230
332
763
412
923
273
493
996
811
986
292
813
969
381
810
826
643
20
909
262
186
354
412
355
29
454
336
224
348
478
250
655
915
149
663
882
51
547
868
984
616
622
268
49
358
648
866
752
151
777
359
621
276
357
971
862
55
757
90
959
521
160
270
124
229
899
724
438
146
428
715
307
746
836
235
611
34
976
544
526
327
877
659
791
25
460
5
604
245
651
899
624
944
443
445
237
521
27
449
34
83
708
478
651
864
824
687
660
251
155
994
134
180
40
821
256
678
432
284
567
74
598
220
678
376
866
349
433
818
220
503
798
767
251
256
825
984
42
901
39
449
586
712
993
267
472
98
276
584
924
894
220
107
986
255
568
928
466
860
76
940
172
556
991
734
697
183
365
366
769
130
533
550
398
553
485
998
744
403
939
466
837
670
730
191
490
838
937
121
53
413
153
211
514
181
762
714
630
559
2
625
177
111
64
767
720
100
75
765
50
28
25
81
288
37
166
926
305
750
98
617
557
432
136
558
943
329
913
947
995
236
225
932
189
217
566
978
858
737
713
801
921
73
150
471
282
703
997
234
180
262
541
83
126
835
80
979
971
416
175
964
102
306
67
870
70
593
655
352
971
154
735
157
79
40
204
600
533
301
336
547
117
736
749
838
753
486
520
553
494
603
897
97
88
274
1000
461
719
86
687
255
231
323
649
879
952
727
37
88
637
513
285
170
358
856
990
470
658
402
777
395
332
751
82
838
414
631
166
466
996
815
102
204
192
987
524
761
747
48
456
252
301
275
347
520
302
467
666
968
271
32
421
238
773
894
558
745
234
553
785
681
724
694
17
88
864
618
71
949
318
395
300
882
913
44
722
889
857
412
394
541
625
380
66
819
298
720
59
603
879
55
471
21
190
984
468
224
508
163
88
662
311
153
636
761
585
841
649
156
793
728
959
954
408
814
404
398
117
359
641
258
704
787
972
122
608
962
175
533
395
913
530
46
244
272
904
171
619
216
331
629
133
311
416
817
520
130
994
581
350
215
350
464
880
544
952
523
374
159
704
682
890
224
996
562
898
510
599
524
963
481
558
747
969
729
98
402
209
205
819
469
21
463
592
191
681
892
799
228
549
377
238
928
876
570
687
287
741
769
844
257
55
411
107
673
909
963
552
634
867
947
952
133
425
948
491
546
626
872
297
681
759
826
537
996
537
682
366
948
709
418
72
621
527
150
467
482
762
956
390
294
792
997
717
521
154
228
860
956
515
975
990
142
655
209
915
431
312
428
911
56
209
668
575
681
416
966
363
560
655
836
95
489
157
532
680
39
978
508
237
380
725
93
270
405
338
230
814
523
143
296
129
204
412
542
927
257
862
962
4
203
312
469
246
656
945
434
126
39
329
35
732
197
784
834
325
749
706
313
325
958
406
711
617
396
924
345
972
743
773
577
279
901
844
462
788
452
765
702
284
605
310
103
802
927
260
906
765
300
838
580
222
973
250
701
424
181
889
469
454
886
237
448
838
764
662
90
756
876
364
917
827
782
83
106
706
336
313
270
908
675
183
316
119
553
461
716
775
439
89
654
408
826
509
214
658
299
672
436
385
700
885
142
222
34
74
769
650
13
712
459
378
320
875
337
725
646
465
894
961
176
945
248
603
565
286
597
798
863
324
534
77
377
101
221
499
445
622
194
497
111
995
58
586
612
290
680
807
651
852
579
812
635
604
441
852
949
788
442
648
833
312
934
787
848
280
891
917
90
889
977
295
349
603
880
234
108
312
28
271
112
51
433
499
235
69
282
895
418
594
62
21
323
578
91
670
281
680
389
236
991
809
55
763
715
570
968
935
677
891
402
138
453
335
612
602
737
984
321
556
312
720
98
719
904
794
887
457
581
739
280
327
183
938
988
289
412
779
445
996
61
517
778
62
588
676
741
653
552
69
903
977
235
512
535
153
19
883
140
719
795
403
509
479
493
864
665
349
881
182
424
881
180
645
708
286
956
941
511
441
325
411
334
899
742
663
467
718
206
842
834
478
990
459
582
355
567
480
889
522
567
257
956
767
554
808
954
199
895
30
913
732
898
331
663
230
212
3
325
491
593
790
655
126
921
471
414
963
989
527
483
138
408
19
40
368
360
799
968
695
409
87
507
644
298
498
294
837
464
949
628
811
29
915
14
838
562
348
759
865
198
737
503
299
690
877
383
854
997
301
302
513
477
416
939
822
625
285
515
596
967
416
841
661
639
282
537
62
8
556
704
570
118
19
727
193
856
969
743
854
905
312
711
552
125
266
634
736
703
829
942
403
703
882
646
584
132
448
762
731
360
114
578
871
450
894
763
804
874
205
848
51
741
866
187
317
761
461
598
215
236
298
432
791
515
570
589
353
949
214
306
441
697
789
11
425
998
934
20
585
624
57
167
81
336
769
258
170
176
78
422
308
432
551
936
450
717
671
62
521
498
881
619
380
542
285
552
488
674
626
591
970
390
19
695
271
819
590
515
535
143
784
617
629
202
500
399
379
515
593
114
453
625
466
722
277
239
616
675
535
364
80
66
173
202
652
565
178
47
945
248
398
688
269
93
389
815
943
947
274
759
954
707
567
893
544
387
812
418
614
959
76
708
343
878
213
495
598
743
558
234
670
213
545
684
319
178
882
7
427
437
722
759
249
97
866
343
571
23
187
235
41
783
516
492
392
24
380
499
203
310
16
648
103
448
165
629
856
251
474
233
870
925
680
864
633
577
416
184
826
87
449
622
260
69
106
366
436
118
960
824
230
278
571
772
37
994
158
628
301
520
965
900
279
455
330
630
664
583
58
179
458
27
509
295
921
991
117
626
678
715
89
478
695
927
937
734
456
676
630
774
234
528
805
787
704
59
872
865
173
885
16
556
269
320
615
668
627
829
406
725
568
166
927
980
251
29
105
704
122
738
368
764
383
785
309
359
571
113
447
579
877
303
24
704
670
40
127
520
955
726
66
664
166
224
639
434
540
962
825
296
593
670
147
764
319
37
878
34
480
958
879
519
138
438
623
784
14
607
77
629
500
120
923
77
290
464
408
802
872
420
946
403
698
294
140
102
444
796
210
971
311
177
75
745
958
789
3
322
671
108
890
211
553
322
3
290
748
31
892
39
97
436
228
872
548
490
802
394
536
77
531
792
375
453
793
354
841
246
479
772
332
249
893
992
957
96
259
607
54
995
825
446
902
377
76
497
651
369
240
774
320
118
108
65
115
151
581
376
557
277
291
937
347
557
138
417
415
787
37
756
542
184
448
569
697
544
504
875
364
787
440
248
136
4
82
192
514
154
368
534
894
582
313
171
228
143
330
953
887
865
507
597
782
714
502
35
325
153
715
449
275
54
683
469
795
533
830
54
32
69
910
620
233
854
228
776
75
583
486
756
265
436
975
663
878
884
73
977
967
386
112
110
836
817
312
861
797
927
941
926
859
930
274
506
592
128
821
799
306
432
732
473
760
226
846
550
225
277
849
727
790
312
428
748
134
82
332
359
824
284
38
747
73
765
809
880
655
607
931
530
76
282
506
293
458
983
477
600
329
683
741
587
938
194
964
437
437
327
477
156
82
202
875
871
682
962
220
718
912
656
303
809
493
228
31
486
948
8
749
60
837
576
131
635
518
525
176
565
240
806
934
380
73
184
491
257
510
754
906
177
812
901
159
484
918
466
22
376
950
394
736
290
367
234
329
376
707
49
47
218
448
134
83
662
305
306
573
6
526
96
549
256
446
660
603
766
485
355
571
520
354
260
114
557
620
499
848
680
674
774
452
274
724
42
817
179
40
755
483
816
939
116
974
647
913
314
550
866
741
670
644
408
456
902
678
738
761
916
544
427
522
339
366
688
758
991
591
209
499
83
246
668
189
838
766
168
276
698
577
448
331
853
540
100
679
819
96
447
515
181
706
860
723
505
19
679
467
127
335
702
369
146
922
243
671
176
697
960
706
185
491
613
75
919
910
772
400
516
879
939
639
408
150
430
347
845
881
703
568
637
479
546
369
116
845
383
513
732
538
484
111
355
133
881
776
835
881
760
354
838
830
339
810
258
463
872
789
241
147
193
206
927
217
247
301
381
898
613
173
441
953
883
855
574
861
773
810
429
156
398
565
77
509
325
110
575
616
792
593
161
976
17
736
541
912
966
382
960
617
620
277
674
255
715
486
94
566
570
371
486
447
95
603
709
685
152
490
282
313
783
507
549
381
155
895
761
190
168
292
798
752
175
974
149
335
426
403
827
49
824
417
112
725
967
740
672
554
921
52
590
930
135
888
654
717
216
944
818
956
100
463
670
735
305
547
958
380
690
341
455
328
127
714
694
278
339
372
994
759
504
939
994
373
761
199
893
790
808
6
867
101
426
651
773
702
376
743
682
6
70
65
31
477
295
783
879
866
42
847
34
238
942
570
771
57
245
250
924
839
642
616
340
736
490
637
141
537
938
451
254
260
24
692
169
868
494
807
501
649
277
451
312
751
295
153
188
727
657
194
987
249
186
514
952
72
932
694
670
725
961
71
850
755
591
740
423
265
895
646
181
964
422
928
530
288
698
981
526
129
246
867
456
712
141
759
272
409
807
387
913
457
481
327
536
896
136
166
858
497
38
691
961
480
69
756
257
671
586
308
891
80
678
333
320
20
11
970
864
121
754
304
131
431
370
672
881
8
285
544
358
50
541
93
220
534
368
456
562
352
584
568
162
353
371
537
332
205
700
825
574
268
335
464
124
904
844
168
860
326
735
308
365
742
63
36
213
426
116
1000
529
493
449
923
996
110
394
298
300
344
950
420
391
929
759
886
35
260
961
161
469
974
31
899
786
526
123
606
113
306
711
363
812
408
81
721
59
73
1000
563
807
647
486
368
519
259
942
777
709
792
587
608
983
477
936
221
979
950
830
881
177
324
700
81
904
463
81
85
751
304
422
524
624
141
182
527
730
542
750
260
745
382
256
941
762
689
760
363
357
308
148
174
28
623
957
222
348
89
883
814
416
975
969
376
397
815
231
372
891
602
499
406
804
660
535
38
383
714
199
496
206
989
586
747
188
799
283
364
431
348
575
961
473
280
615
8
625
260
662
423
123
636
811
586
529
809
695
553
659
111
411
510
927
353
71
867
524
453
512
337
67
696
225
620
667
659
959
157
502
677
940
415
809
138
652
137
679
668
652
46
470
58
647
855
35
977
54
277
910
672
394
21
278
700
326
243
968
307
625
83
692
325
913
628
540
421
808
390
896
740
703
640
96
479
957
815
678
68
804
989
720
204
343
137
564
479
446
569
649
271
949
144
24
412
343
974
625
964
767
515
269
684
357
397
383
664
581
364
90
38
907
951
581
861
871
369
352
583
524
36
722
239
95
389
607
748
716
237
446
666
461
526
28
592
876
579
603
966
854
7
104
642
544
92
659
699
101
202
489
822
38
978
870
903
404
103
831
865
599
837
161
392
310
11
3
58
356
748
474
740
149
851
947
943
939
526
789
212
609
560
711
421
853
913
293
765
150
458
460
813
843
153
394
221
640
326
298
494
338
771
585
812
538
468
928
331
965
793
959
453
140
369
610
801
597
764
260
461
734
407
795
707
118
566
997
879
991
532
646
285
584
731
358
641
606
694
408
372
557
444
526
389
16
537
630
823
636
280
240
596
739
828
808
280
470
187
424
360
965
905
119
81
737
401
538
871
510
575
40
390
424
62
2
213
953
99
699
875
854
379
981
737
478
299
597
339
869
928
949
576
114
686
678
939
110
778
523
746
404
385
98
291
650
375
743
695
796
918
830
627
970
98
516
991
932
162
583
339
82
665
178
474
287
835
374
409
584
359
648
24
123
782
669
615
824
288
673
705
881
474
603
432
278
896
607
126
624
899
893
441
738
166
916
335
173
34
436
662
868
410
513
937
69
554
672
718
246
514
428
707
784
716
593
758
130
688
4
842
694
1000
863
604
396
157
902
181
298
643
311
838
916
770
323
78
359
859
363
287
241
109
469
998
540
635
819
981
51
622
421
427
983
555
629
833
251
50
292
290
689
297
267
425
25
234
605
202
419
714
942
666
493
115
263
45
54
482
569
182
457
361
9
570
394
831
922
740
642
466
537
941
674
849
60
518
994
186
738
12
438
911
404
8
263
997
871
537
548
201
618
130
979
82
233
898
157
261
502
589
697
628
694
435
570
191
901
309
303
230
394
557
522
765
39
978
733
545
162
366
233
824
414
137
507
796
436
502
360
379
770
605
466
811
470
89
509
455
564
414
220
318
298
366
374
461
622
746
910
667
768
468
213
548
614
14
906
598
202
578
641
969
807
882
505
430
366
249
685
683
722
723
646
609
632
757
526
652
890
842
54
142
890
476
178
879
30
442
959
364
245
596
176
502
885
942
330
718
237
520
350
335
778
225
17
150
618
132
281
299
376
661
888
603
240
387
230
208
470
799
7
324
148
109
192
253
335
214
618
543
38
388
964
2
251
904
675
79
994
313
635
281
148
957
404
851
534
947
150
565
790
710
970
432
226
159
270
257
284
488
257
550
965
177
722
440
76
992
590
960
54
376
107
659
711
167
292
239
690
774
550
653
512
194
335
558
430
288
270
455
138
419
92
619
463
490
894
42
139
43
849
391
913
300
127
50
148
552
558
891
436
914
873
45
414
146
527
308
782
135
336
880
50
628
715
893
511
738
223
224
845
499
137
968
417
554
820
930
873
420
691
870
620
444
447
888
84
635
767
770
152
800
626
244
838
995
822
413
282
848
861
240
986
853
955
601
663
917
152
371
878
366
897
907
141
499
782
443
963
517
768
388
973
206
678
284
521
126
211
32
221
356
71
354
633
453
244
669
158
951
905
392
18
574
747
549
281
174
898
374
470
845
449
241
752
334
780
858
571
625
414
323
969
806
282
557
968
978
280
768
342
140
618
676
578
360
421
852
96
247
832
276
666
24
775
936
484
199
317
453
718
497
724
435
717
335
250
558
267
710
949
798
60
666
619
249
413
2
173
388
419
919
661
587
38
892
602
57
567
813
925
694
702
755
231
709
661
81
582
854
710
64
764
180
146
846
800
867
748
739
935
17
614
395
43
619
736
596
29
891
250
225
302
788
486
290
502
949
826
176
756
114
462
659
829
768
66
603
958
43
690
885
802
655
212
280
350
749
604
564
781
220
312
656
55
196
290
7
479
81
90
156
86
626
520
109
280
722
892
305
787
463
27
840
2
556
994
744
749
461
556
26
863
895
453
918
202
735
381
543
238
187
526
282
481
292
605
152
454
269
57
615
710
742
474
162
10
357
376
358
548
264
276
814
161
697
83
947
675
108
358
525
110
306
672
454
930
65
797
672
427
631
425
443
399
466
638
10
906
396
645
900
106
774
959
725
391
239
59
677
763
363
873
153
240
185
690
694
671
258
592
905
569
715
860
627
232
321
392
555
261
168
495
810
202
272
657
780
91
73
154
706
63
109
732
732
97
616
294
197
471
661
63
323
967
82
343
690
561
911
208
321
882
460
147
203
272
853
131
799
236
632
807
448
220
445
913
684
782
536
419
88
746
378
367
765
75
883
402
567
827
736
87
354
659
777
994
678
56
883
177
122
534
516
190
8
755
789
815
45
15
100
896
415
169
914
518
636
555
57
390
636
238
913
612
899
884
96
764
125
649
297
413
250
120
287
810
333
599
203
34
833
310
525
204
358
395
728
538
450
256
686
315
734
506
874
498
888
170
834
407
536
503
410
415
383
222
764
453
14
630
554
214
822
661
780
263
273
269
871
259
523
8
838
291
193
589
539
932
491
474
739
79
545
245
185
893
690
847
32
415
270
941
773
572
57
811
106
31
973
278
838
940
322
448
717
593
356
419
479
614
233
1000
114
356
427
234
721
448
326
455
1000
666
976
72
325
111
581
344
103
329
717
233
98
196
182
235
678
483
459
223
631
601
301
824
195
998
865
232
614
97
206
665
143
918
357
422
260
493
382
762
756
435
626
8
273
625
938
258
254
808
700
202
337
622
364
311
256
718
27
939
821
901
705
342
363
734
102
104
63
919
502
594
827
681
404
119
10
899
683
949
471
883
85
475
548
797
435
640
994
831
147
117
521
765
953
319
137
350
500
476
306
194
849
659
578
628
373
240
350
933
862
642
850
356
5
906
994
961
475
243
208
76
844
421
826
31
463
388
287
452
442
20
622
193
801
29
706
555
137
774
387
405
653
37
480
330
354
474
376
234
248
968
806
84
966
608
832
730
104
849
645
128
535
77
652
196
328
274
851
877
762
670
94
677
203
437
2
876
253
207
219
183
399
450
625
238
25
533
36
972
283
142
940
562
719
437
870
313
7
281
400
502
46
405
455
910
774
808
378
598
794
680
535
287
905
292
694
499
910
556
761
95
619
708
258
980
926
226
253
742
523
224
981
737
524
66
71
39
886
770
756
905
829
220
241
136
589
427
213
544
399
773
641
596
426
425
371
571
748
317
395
443
699
10
236
868
733
494
834
423
414
409
548
468
667
177
121
972
156
560
286
847
347
163
443
558
744
224
938
477
22
793
251
476
518
337
441
821
883
246
752
347
889
578
3
358
250
301
794
776
920
437
788
592
124
165
711
25
575
930
720
861
534
223
237
124
67
574
894
806
513
235
124
250
272
484
481
497
148
792
64
31
471
280
167
252
11
215
925
322
291
986
581
223
635
385
451
223
349
735
687
730
55
821
641
971
288
288
759
457
275
515
115
384
151
377
578
155
70
226
78
78
612
405
795
883
628
680
128
317
425
429
309
996
569
376
220
659
81
268
697
840
613
9
455
806
398
246
984
546
38
967
293
489
102
438
79
424
104
921
632
728
178
244
433
86
956
510
771
718
189
622
678
559
791
65
34
925
802
366
979
85
731
59
443
640
191
543
647
111
683
66
508
536
786
871
577
8
698
894
848
253
329
446
268
721
4
222
46
202
302
358
324
590
211
178
495
369
272
541
809
858
58
112
378
143
269
183
320
461
130
614
254
548
339
537
217
88
442
244
721
813
315
91
246
857
210
61
768
762
550
58
840
245
361
983
574
792
299
560
826
597
867
447
421
791
349
947
567
384
625
194
906
930
347
645
144
971
446
686
800
977
754
670
528
290
238
162
201
227
991
711
596
978
540
575
471
775
200
636
274
447
970
814
334
916
989
164
522
843
310
298
807
981
489
715
482
343
770
775
435
76
936
163
682
321
173
128
49
466
416
507
808
731
869
128
206
379
474
533
620
732
669
481
483
754
841
237
397
535
316
465
566
306
236
765
824
434
265
224
590
643
869
652
117
783
965
652
41
128
889
641
746
839
577
850
618
786
162
991
262
746
234
945
762
762
58
833
144
333
533
579
624
64
495
871
721
768
440
272
676
856
17
867
462
575
391
837
397
360
188
300
528
406
780
336
971
33
284
975
327
57
322
804
105
844
124
151
120
120
365
403
540
747
376
465
150
308
55
487
248
224
774
823
780
916
510
352
441
96
449
207
550
555
788
490
980
132
516
24
865
168
217
636
902
148
343
962
569
89
836
227
221
927
271
214
288
583
539
995
80
429
948
683
94
537
832
723
859
526
977
849
531
337
917
415
191
39
168
649
940
958
611
82
482
602
423
831
541
150
560
901
991
189
758
866
485
581
294
421
105
233
947
892
550
15
28
426
376
295
587
868
63
277
312
150
965
815
552
708
294
134
607
272
601
995
564
19
858
409
768
419
709
67
398
280
111
98
448
743
801
284
5
336
217
365
257
95
895
598
137
854
816
74
448
371
543
3
976
362
844
275
742
479
464
275
349
851
849
632
237
550
557
663
972
792
75
136
454
196
879
786
598
697
126
378
748
421
127
23
578
698
341
681
562
640
632
342
281
839
271
327
840
873
81
995
453
706
232
181
759
5
287
938
277
446
791
259
896
713
704
556
726
988
392
995
918
760
915
960
262
935
8
579
279
194
403
627
85
147
183
159
828
435
169
98
970
341
268
716
54
65
473
958
714
476
616
602
505
558
741
287
660
343
551
202
829
113
787
392
564
693
690
701
46
401
969
979
667
364
323
125
65
638
43
12
729
255
628
486
805
759
943
410
420
222
855
320
195
712
944
371
301
593
289
309
741
811
175
221
189
6
602
443
601
283
807
211
112
437
327
56
949
610
88
476
709
694
831
178
450
655
328
187
303
260
379
75
113
862
677
383
25
119
953
501
2
245
690
228
886
280
991
521
982
352
456
401
234
215
88
963
864
63
88
692
445
164
158
216
257
47
819
927
790
735
785
966
977
276
975
118
450
646
950
749
17
887
746
942
376
237
754
142
459
959
440
457
646
891
982
848
390
788
348
649
585
590
956
990
105
221
140
27
743
410
430
150
274
461
412
39
533
118
779
219
507
683
430
734
758
852
799
325
525
629
345
163
607
517
342
763
354
427
349
184
194
162
45
112
535
71
268
573
598
692
919
133
895
431
354
838
210
754
328
869
953
562
608
204
16
21
642
870
970
49
3
770
141
409
371
418
2
302
481
835
614
520
561
736
704
262
652
73
546
778
594
240
81
396
856
507
998
395
177
798
899
539
727
676
245
662
400
889
409
978
101
186
645
667
402
119
897
622
146
963
886
786
601
536
542
496
372
95
533
251
614
134
58
752
978
883
603
345
884
267
680
26
21
353
493
471
393
592
72
488
611
354
695
632
102
505
250
543
804
706
627
297
309
351
31
429
194
805
610
120
101
1000
262
902
241
814
62
612
136
170
366
807
137
533
689
367
923
343
792
764
226
603
289
993
445
799
448
279
8
467
754
993
34
268
211
412
850
864
208
836
474
452
738
703
398
372
45
424
245
212
539
282
777
527
723
617
643
175
470
744
398
361
378
637
271
922
661
27
61
431
492
337
727
412
268
806
844
642
524
188
688
249
407
185
336
92
614
337
750
300
397
25
191
407
649
250
561
731
150
486
194
432
282
428
106
878
171
182
762
373
659
516
865
885
168
865
944
228
902
284
301
783
603
145
472
385
264
968
444
793
345
780
659
892
660
728
878
836
971
59
139
739
763
789
291
306
897
895
417
294
568
584
956
75
516
348
839
713
888
948
544
65
332
147
900
797
135
29
96
423
763
350
828
847
103
229
987
280
816
677
142
186
763
447
627
619
860
45
426
917
814
95
594
800
452
265
895
310
485
882
700
935
9
236
229
228
748
580
418
3
952
503
537
673
547
228
678
654
755
217
670
873
416
209
133
456
493
158
296
130
883
935
415
28
21
359
848
733
982
266
152
887
933
884
336
674
117
845
944
194
919
136
383
853
933
153
275
106
622
507
820
804
705
543
440
74
60
916
328
858
26
643
480
870
67
204
116
932
174
369
827
364
175
506
85
783
916
791
784
342
221
191
981
35
794
910
10
708
806
698
369
461
644
610
640
680
966
754
934
295
574
553
7
475
426
413
533
842
920
421
484
33
79
154
89
294
728
99
32
403
172
305
624
451
293
839
428
265
753
762
417
208
194
621
12
86
24
855
301
792
751
171
355
182
157
484
254
182
726
38
20
551
712
714
424
856
816
964
207
873
108
970
932
862
442
790
544
683
420
260
457
917
740
482
937
11
298
91
744
379
660
753
444
596
605
132
483
160
546
873
11
864
249
250
780
222
294
189
627
227
99
136
126
125
511
239
595
1000
497
149
304
760
150
411
744
517
618
657
299
153
69
570
43
602
311
32
502
633
775
110
940
41
684
174
385
658
559
48
925
630
707
108
208
933
458
683
176
427
583
243
924
909
832
467
81
326
542
481
221
532
178
706
260
313
367
732
875
602
534
66
305
53
813
456
542
166
938
886
22
380
762
498
971
758
532
676
946
404
991
903
479
870
842
323
836
195
329
453
544
482
660
480
516
19
447
998
47
987
72
466
297
248
967
214
258
928
485
572
797
820
444
85
747
507
197
165
377
29
522
319
98
103
398
199
434
184
686
216
86
196
395
288
440
477
624
407
57
130
678
529
444
565
464
80
94
722
668
263
631
714
726
459
268
752
444
803
258
189
418
63
997
965
8
186
150
782
261
433
651
971
313
987
368
267
634
366
783
243
720
740
643
21
783
872
791
382
113
503
612
927
442
252
544
638
416
832
981
539
236
466
748
129
825
343
993
156
377
439
278
56
325
398
732
969
75
674
561
520
620
222
177
36
420
474
380
667
941
657
297
723
719
912
68
252
382
377
717
314
411
622
714
795
763
448
839
516
197
145
151
256
26
918
121
193
122
866
610
375
113
44
588
426
878
967
264
270
432
320
168
852
86
526
617
945
941
849
465
169
385
858
113
857
240
429
272
541
886
191
927
788
396
631
235
917
334
880
449
689
997
243
584
943
644
76
214
59
49
196
39
792
733
770
88
488
187
268
428
216
314
798
198
884
782
358
768
42
773
664
103
760
410
183
500
627
548
436
220
681
417
874
930
102
284
587
221
236
246
918
375
230
791
77
427
779
153
685
605
58
668
405
988
130
693
443
509
643
184
606
612
92
98
612
372
846
872
637
806
882
9
195
815
377
728
865
972
787
688
509
445
585
987
535
996
916
735
947
300
295
13
437
3
922
83
504
523
659
759
347
622
453
755
561
577
778
931
99
554
811
318
337
35
76
628
499
621
381
157
931
221
273
529
320
945
892
760
433
520
897
411
703
403
301
542
860
155
815
460
745
502
563
916
965
203
366
266
673
523
586
175
140
606
712
785
238
507
922
676
7
806
301
316
902
173
379
226
570
89
685
705
16
701
202
961
780
227
916
837
294
88
673
281
166
417
737
29
853
847
935
183
201
743
420
594
173
623
639
966
32
579
616
894
852
959
67
474
177
332
196
757
281
984
205
585
479
963
29
808
133
638
489
640
298
691
644
127
764
854
919
243
180
874
975
528
36
225
850
117
616
886
55
54
474
551
822
276
653
154
772
8
37
136
106
665
475
166
242
89
314
608
97
81
143
812
804
609
105
149
540
399
971
789
799
958
880
477
85
857
45
854
488
517
993
898
525
812
496
633
213
652
127
865
989
185
566
119
711
80
746
318
287
834
901
964
537
388
621
355
802
580
371
134
938
895
761
183
803
53
811
605
809
214
595
675
148
233
155
158
649
112
948
709
841
819
431
138
349
798
880
187
965
632
242
921
431
922
324
927
83
32
67
548
948
488
128
553
218
333
952
757
542
592
375
351
669
884
98
747
547
48
183
872
275
360
760
113
76
542
199
517
417
459
455
841
431
64
586
927
90
197
207
431
260
201
605
816
312
379
757
546
558
891
84
530
942
952
896
41
590
895
894
667
223
850
720
468
816
245
462
970
918
585
819
26
940
962
939
692
558
237
61
285
796
109
360
111
722
805
364
160
954
794
179
411
718
164
827
240
814
331
404
395
87
5
471
168
911
956
244
193
237
930
148
961
487
501
691
128
337
792
123
16
195
921
521
63
236
363
513
465
144
278
159
89
618
784
541
294
385
563
402
713
641
113
372
650
760
615
503
530
26
975
936
599
507
272
269
143
962
198
322
291
236
181
402
170
545
987
494
261
677
775
778
908
331
762
328
69
262
383
644
516
448
643
239
634
294
494
278
173
406
993
875
468
65
276
75
344
250
916
547
567
246
959
608
101
72
840
84
379
602
183
486
400
430
771
321
814
397
539
915
809
193
384
485
805
587
304
671
382
838
630
649
287
562
656
436
326
240
511
722
544
862
753
32
347
47
163
148
68
285
18
975
27
652
318
162
148
373
777
757
533
238
879
316
488
524
696
356
950
63
617
475
322
395
883
954
220
806
261
724
837
369
421
875
176
802
110
514
588
358
156
595
979
490
385
299
747
434
741
829
720
739
460
2
716
514
315
538
291
502
357
907
622
212
845
14
833
435
75
938
556
565
927
325
22
802
142
493
694
965
247
71
8
899
488
253
565
652
172
618
296
995
163
257
485
749
24
191
902
823
742
63
112
938
889
753
58
261
3
205
811
824
394
419
175
827
455
206
200
916
652
786
860
841
275
205
23
604
804
485
183
198
133
627
258
263
670
228
592
428
34
751
744
642
755
950
80
214
370
90
85
880
865
904
938
495
629
720
194
70
621
1000
499
888
36
157
304
565
217
403
308
559
308
688
786
304
458
16
904
781
849
77
140
84
202
610
831
566
402
492
415
620
566
957
422
552
896
25
339
545
159
680
204
83
191
146
50
970
939
113
896
465
734
717
560
866
637
519
706
577
696
573
412
180
547
758
577
288
958
870
696
440
422
104
351
968
446
268
73
133
87
415
130
308
916
615
103
760
57
800
923
829
601
202
762
514
99
200
839
944
424
991
814
577
141
220
105
949
536
190
113
393
14
611
426
156
400
346
398
863
938
479
376
105
696
383
127
587
886
404
433
474
683
314
607
356
536
42
709
984
874
910
857
321
815
711
976
730
77
93
339
888
852
650
636
498
112
810
730
845
813
179
586
811
359
27
669
59
625
87
822
145
288
187
638
959
625
465
795
982
977
482
490
820
532
295
622
559
550
377
996
549
920
527
329
55
253
149
342
128
570
448
237
118
595
344
961
909
611
264
644
980
703
957
700
773
768
133
140
457
495
265
800
58
742
854
54
920
375
807
447
556
901
38
812
462
806
465
707
473
195
36
637
800
902
224
423
511
414
167
751
181
380
932
959
309
801
29
865
601
855
32
869
879
850
300
700
735
207
962
66
323
113
480
527
175
64
47
69
471
436
1000
514
108
380
396
790
529
88
891
299
458
684
888
311
192
912
328
618
340
988
106
403
782
81
843
24
986
137
183
440
248
481
46
395
106
535
805
316
304
625
149
943
846
364
982
682
804
315
941
882
466
300
286
659
619
949
235
829
623
185
190
323
960
649
1000
929
508
443
662
962
727
555
288
473
429
893
441
905
612
251
217
478
567
804
78
5
575
766
550
433
546
95
35
798
164
650
301
769
530
263
293
696
785
599
204
931
418
834
223
874
210
430
650
314
464
27
484
680
803
163
212
547
65
92
777
131
906
859
223
152
123
162
985
902
660
361
835
301
707
920
275
219
372
623
866
955
271
855
208
493
265
85
216
156
145
215
288
130
285
436
461
91
332
700
637
604
893
939
188
761
253
709
451
976
715
896
417
79
700
144
953
485
438
988
680
437
691
186
839
65
881
553
358
754
940
687
19
746
726
782
691
744
578
277
259
239
397
49
169
957
331
430
414
327
758
814
439
690
101
663
768
1000
777
652
745
250
357
148
208
832
659
949
640
79
466
777
999
418
249
38
166
603
207
541
119
410
945
654
629
808
494
979
823
875
665
921
605
330
165
854
367
772
123
953
491
819
712
478
576
798
981
72
638
762
381
462
561
775
576
969
852
172
840
341
550
582
636
766
320
487
754
471
465
365
182
692
88
398
730
218
287
16
369
273
312
271
968
389
407
953
551
627
437
485
493
705
266
625
975
82
784
877
777
628
529
645
133
366
124
628
571
543
770
87
817
473
305
622
777
67
436
337
50
686
96
15
32
225
567
686
943
641
467
894
354
205
291
751
22
295
268
744
250
734
786
996
671
870
494
978
531
670
561
612
989
25
477
435
843
980
921
940
335
314
800
711
993
918
945
699
553
94
60
453
979
641
980
168
435
925
43
483
160
909
954
396
52
893
621
514
807
877
491
971
91
720
373
619
261
439
274
410
800
389
567
757
329
934
159
412
637
196
431
535
397
764
872
901
949
469
69
129
314
961
631
947
117
603
545
702
643
716
615
69
584
980
796
775
667
42
248
575
655
826
215
8
132
678
360
634
372
537
529
817
73
938
200
927
860
455
196
774
307
416
114
49
60
207
200
88
598
456
839
585
163
955
617
441
331
865
774
785
279
250
964
936
179
751
671
318
923
512
867
72
180
974
461
485
941
524
261
510
632
410
502
564
25
284
524
776
525
761
294
646
483
941
497
79
267
50
32
288
213
656
942
595
453
255
346
964
241
525
190
596
144
240
757
600
565
651
194
854
821
620
7
925
57
882
364
590
697
881
303
85
126
548
527
576
360
140
448
837
513
495
214
844
31
837
165
396
760
993
449
980
457
628
150
323
211
272
560
803
461
666
789
784
536
336
905
318
973
630
534
54
209
485
1000
743
699
547
56
887
707
358
455
180
988
474
206
56
55
936
899
747
847
315
219
51
788
21
592
450
844
415
332
720
430
584
893
877
703
478
473
747
466
27
554
981
503
557
972
228
840
221
749
43
389
150
576
14
350
890
144
191
315
121
857
736
442
385
529
697
403
376
698
717
554
336
140
829
885
114
474
727
581
380
931
618
941
318
199
396
218
78
756
154
966
57
833
354
798
611
376
920
222
358
132
949
135
151
37
748
820
16
615
401
799
187
719
813
592
253
458
544
349
648
218
502
167
126
183
134
579
763
618
341
117
389
620
778
224
688
804
625
91
183
116
687
994
78
773
349
622
618
332
594
732
42
656
249
811
621
767
954
250
622
211
837
19
343
409
151
680
281
658
653
276
74
65
4
200
510
84
387
60
464
462
430
668
284
971
743
124
700
114
758
526
627
81
370
956
148
666
811
129
867
452
169
800
161
346
536
943
444
558
521
950
790
111
83
859
853
738
176
47
361
615
20
637
266
193
285
968
105
415
581
274
810
11
321
226
2
424
99
372
190
137
692
135
171
141
249
714
997
472
890
601
408
761
937
138
115
317
850
27
379
834
596
74
971
408
961
466
729
640
947
39
161
791
448
391
880
686
25
186
602
585
143
619
220
741
412
53
694
969
952
352
184
38
624
574
115
428
977
927
545
936
835
398
821
845
152
306
766
680
375
937
858
132
753
791
751
740
186
615
180
605
706
151
17
58
252
583
543
439
216
695
196
732
552
903
722
708
51
826
265
601
768
876
551
910
386
671
529
490
370
887
457
369
180
659
769
87
919
551
710
539
605
768
447
81
918
440
156
898
671
827
976
500
508
170
529
263
491
101
547
87
270
74
272
86
975
730
410
973
29
324
187
2
316
463
530
731
411
634
917
365
209
213
699
205
274
123
930
110
217
736
203
836
635
890
485
833
942
826
702
373
719
727
230
135
491
626
369
214
207
637
792
267
28
486
536
741
899
891
468
511
578
124
661
352
902
833
83
42
107
98
485
583
598
374
184
781
112
862
785
318
406
769
128
40
293
121
641
745
115
183
382
5
52
464
776
48
217
884
498
635
926
529
435
8
296
804
548
978
856
535
479
522
798
16
487
850
190
350
295
269
785
453
511
892
382
503
433
399
418
912
404
299
477
226
684
795
131
390
692
451
198
630
191
406
44
149
976
46
295
190
657
610
764
310
633
890
870
498
466
111
469
342
176
960
329
915
326
772
476
511
457
952
884
174
818
276
568
588
88
225
839
158
222
293
773
163
737
710
187
323
12
837
647
782
327
948
658
330
481
936
161
140
704
246
391
648
616
158
91
900
20
683
951
972
286
417
46
507
697
648
327
918
784
867
470
285
867
715
198
768
824
25
670
571
311
398
212
209
206
824
898
811
383
427
76
926
202
311
28
794
603
976
313
807
956
209
425
742
712
954
198
684
572
935
226
311
785
213
802
349
10
88
502
246
340
932
223
548
43
333
930
443
238
275
897
876
411
614
334
101
30
698
988
182
607
11
106
980
580
841
401
779
865
886
46
867
322
788
193
699
277
579
287
323
242
358
80
166
646
374
285
154
937
763
450
161
593
257
95
71
947
664
811
192
24
643
87
324
639
24
567
667
396
567
523
788
353
598
297
323
346
