1000 100000
895
610
914
141
114
700
113
242
534
603
748
678
487
338
15
591
635
795
841
832
61
423
583
936
330
140
286
802
540
260
632
210
107
36
25
850
872
515
886
555
172
194
603
852
984
349
400
323
240
151
791
468
318
713
298
414
318
402
17
443
18
547
5
769
515
441
864
696
108
873
901
632
643
85
2
968
63
704
754
975
476
844
201
719
219
340
263
505
812
213
26
447
247
386
816
200
760
718
625
393
783
720
92
487
173
411
627
789
717
20
34
250
833
621
806
646
894
420
379
246
521
478
970
539
689
770
176
824
487
471
916
141
885
251
709
865
741
934
24
626
667
273
855
126
5
125
75
543
543
140
682
465
250
733
940
93
655
388
23
658
654
865
541
979
589
197
546
302
560
999
249
35
992
520
881
437
509
798
920
888
739
352
65
421
131
396
186
225
131
247
116
775
406
848
126
562
851
667
134
372
544
407
988
30
24
265
532
930
900
657
655
703
55
718
138
723
491
327
843
145
237
177
703
179
296
149
432
753
310
750
205
127
736
641
767
777
544
15
448
514
378
136
645
727
790
463
925
877
578
177
170
835
76
683
39
709
950
705
51
218
675
489
600
534
173
948
704
33
196
412
177
970
989
228
321
76
686
100
204
47
458
504
739
67
373
877
736
81
646
922
350
777
453
155
142
388
324
894
351
67
462
982
548
423
398
198
579
632
259
88
152
544
670
44
998
153
400
229
891
22
707
891
806
772
30
855
91
854
628
774
645
415
416
950
281
862
2
916
259
333
602
259
793
535
125
582
508
825
22
721
866
78
896
766
659
328
666
201
779
720
502
784
579
829
60
631
918
595
347
401
438
929
612
999
572
480
910
75
872
381
24
261
266
241
244
328
355
537
635
825
425
237
493
53
576
638
759
795
747
248
53
518
241
651
647
422
138
753
189
35
37
14
204
747
826
249
180
945
884
696
846
79
385
185
537
112
573
410
97
32
980
310
63
89
816
556
875
448
75
151
811
48
821
382
839
245
624
994
850
649
967
40
942
769
690
639
452
792
71
539
918
38
236
191
850
79
229
246
744
947
230
1
677
555
912
940
213
524
197
21
623
4
130
297
350
424
340
763
503
884
742
584
756
183
566
875
434
318
501
732
180
973
407
885
67
496
273
969
142
402
165
407
957
797
474
616
844
399
978
526
603
824
765
266
38
260
425
438
353
903
550
11
938
112
43
828
290
295
74
710
264
506
880
592
261
417
502
173
869
544
398
865
974
802
20
947
564
2
549
181
690
233
426
631
646
702
326
650
157
346
789
980
486
12
621
776
558
183
919
492
620
559
421
994
316
658
790
399
92
402
353
257
187
690
711
869
620
440
368
449
163
854
219
242
947
945
516
795
69
1
591
404
694
288
434
219
685
944
496
704
465
842
192
127
714
833
192
504
136
511
784
461
714
536
763
49
361
279
53
182
132
323
373
484
924
479
894
866
144
146
268
29
450
635
709
178
661
972
40
523
549
374
334
22
872
177
167
856
356
277
604
279
439
308
535
375
748
852
984
327
521
836
731
183
172
152
917
200
789
163
578
731
40
365
47
388
476
61
990
864
166
718
999
881
77
906
392
959
26
731
486
317
234
421
483
216
264
789
256
885
228
775
721
14
348
188
41
104
259
276
883
272
229
873
666
727
519
564
325
160
929
875
103
858
73
573
481
570
247
79
453
623
467
37
59
143
647
49
708
679
746
500
947
995
66
102
502
751
996
183
143
659
531
622
815
561
205
889
767
484
272
176
62
271
302
859
805
917
402
605
787
801
272
468
343
515
334
2
541
515
259
122
819
759
188
716
318
193
897
414
147
439
158
753
108
93
234
950
810
827
222
364
942
874
569
787
546
14
298
646
536
500
750
721
919
272
493
959
121
246
83
358
915
280
973
555
450
242
430
913
45
628
852
656
913
38
734
119
935
301
629
548
87
689
20
404
882
296
105
831
796
20
128
201
21
160
384
711
851
911
164
864
206
703
250
621
353
359
853
966
876
487
926
277
770
753
30
136
131
315
31
892
422
640
887
421
103
201
342
524
681
552
502
455
763
625
471
94
76
994
837
153
567
644
202
367
469
818
522
595
355
543
842
498
579
102
631
465
399
546
843
42
893
175
124
433
611
612
825
887
901
406
943
950
1
429
154
304
506
996
191
447
582
90
641
611
317
829
553
319
632
144
12
888
395
290
561
481
410
993
168
83
256
634
778
837
598
128
171
409
696
222
907
724
281
323
286
603
890
361
323
589
315
988
875
915
353
106
190
766
509
724
485
192
532
264
27
672
558
240
877
412
804
915
878
220
936
968
79
365
317
359
888
972
277
447
447
713
32
967
951
731
464
760
53
188
704
953
179
371
345
120
36
223
700
616
422
412
518
444
77
665
120
158
20
819
7
113
85
298
15
711
558
99
903
587
962
914
667
459
984
916
271
492
550
234
716
991
979
397
971
762
590
960
231
618
97
579
117
551
997
455
9
635
903
62
375
598
217
347
796
844
345
71
540
188
439
118
708
565
587
322
508
181
161
946
314
724
468
558
462
523
992
60
841
834
727
646
528
461
55
575
297
219
946
79
412
225
396
702
847
663
17
151
320
19
150
581
61
24
240
426
479
821
234
823
819
223
686
37
295
605
60
119
300
804
678
604
428
65
729
851
860
97
911
515
51
144
581
474
139
474
862
420
759
48
309
842
122
705
609
104
681
366
922
67
424
460
523
53
969
460
435
14
587
623
953
959
609
678
907
233
435
722
347
417
354
381
40
19
860
191
8
873
700
59
572
873
24
615
854
781
354
682
886
430
628
261
7
788
508
58
87
661
421
319
663
25
446
138
627
504
539
616
51
891
735
866
283
605
528
607
503
449
117
725
75
994
996
574
34
397
35
976
491
827
541
747
608
187
785
530
73
185
493
572
976
67
827
86
788
226
577
626
388
941
452
793
684
692
970
650
367
949
429
887
591
624
459
149
384
162
936
86
184
100
925
171
606
379
180
518
927
480
966
398
217
324
230
912
186
915
980
274
419
58
114
772
397
935
120
73
894
253
819
501
970
162
667
851
990
127
286
321
730
12
805
816
760
313
901
521
670
613
923
197
136
325
979
213
964
477
62
938
379
505
90
856
897
120
15
528
933
598
362
49
907
137
603
533
838
522
66
785
199
569
862
161
185
44
444
264
803
523
662
107
785
345
443
517
53
53
200
748
764
837
659
502
398
965
743
750
770
986
467
928
679
424
458
908
679
350
340
119
823
29
616
587
825
577
993
295
284
447
440
696
307
95
827
826
454
10
500
168
401
47
254
579
488
598
50
824
980
517
279
28
141
67
677
27
964
847
515
377
560
569
181
356
158
76
405
226
982
947
202
592
993
76
991
453
650
589
73
905
112
94
461
556
428
168
203
231
196
173
58
170
837
871
377
207
322
684
514
638
728
625
683
820
828
231
416
590
576
924
437
100
915
1
1
757
166
203
77
890
226
559
523
766
20
17
901
739
835
857
754
922
729
995
211
379
924
47
192
362
975
470
613
891
673
110
396
836
908
168
782
25
904
141
931
786
638
940
848
550
714
496
522
325
434
113
184
584
84
474
176
598
162
677
711
812
572
401
144
492
554
176
863
829
113
747
643
182
113
865
689
904
417
827
240
948
599
363
254
552
82
543
379
540
220
63
74
737
137
77
841
515
469
950
395
571
804
823
153
810
270
885
49
711
76
134
279
676
645
139
81
135
921
347
391
386
978
969
3
611
122
63
614
18
437
808
961
883
561
796
328
559
642
84
75
313
255
313
972
656
730
448
636
487
125
158
443
858
105
39
505
479
27
554
461
340
611
403
796
743
301
210
846
976
842
956
581
432
190
488
30
775
571
798
479
968
214
895
613
630
361
280
902
895
287
106
116
793
92
675
398
573
248
978
278
458
154
30
523
775
652
615
70
396
118
584
179
292
723
193
150
57
424
932
640
727
484
3
196
742
620
587
213
550
170
54
226
559
877
661
886
357
436
430
110
708
56
519
626
106
45
7
627
580
524
19
598
526
327
292
405
527
37
635
764
31
292
459
343
200
24
454
91
128
712
949
821
722
980
359
237
44
816
328
718
131
898
595
332
642
646
228
828
476
33
320
993
689
794
62
909
127
292
77
30
300
880
326
836
534
463
535
321
619
164
976
328
807
662
905
867
961
949
671
523
616
886
324
636
153
386
72
444
320
291
365
861
392
601
65
215
498
91
164
242
729
119
448
441
949
94
533
998
787
484
196
473
327
806
427
225
314
321
553
546
589
283
477
631
802
429
577
620
265
571
247
981
848
193
819
783
796
649
471
692
287
518
941
380
403
469
767
283
519
84
877
623
891
111
899
135
736
995
527
590
756
440
887
574
992
913
625
28
281
105
491
634
850
853
340
998
714
993
326
978
867
594
759
169
188
660
105
621
581
580
307
191
821
444
837
994
616
544
719
947
354
339
925
152
337
80
580
915
242
183
415
45
17
316
603
830
482
952
325
487
655
812
991
264
291
820
995
152
153
331
321
817
245
545
5
640
214
154
625
587
547
952
628
116
523
6
998
651
975
366
179
126
338
572
907
266
251
322
569
460
779
391
266
382
21
931
768
915
531
442
600
22
476
7
109
814
229
162
468
962
661
116
876
232
220
429
698
234
137
87
522
679
555
23
596
280
669
621
825
243
239
75
590
962
495
691
535
555
804
495
394
691
453
108
885
459
328
79
615
664
674
296
212
666
969
705
688
838
282
131
863
299
770
565
704
671
63
858
798
462
590
786
625
460
292
854
749
232
537
208
691
627
448
566
968
597
582
842
561
101
641
225
610
594
735
672
682
317
664
317
173
836
745
763
43
143
529
975
725
244
353
374
677
332
23
257
537
363
991
830
782
129
174
340
32
341
615
985
727
327
796
936
469
975
798
500
211
753
370
783
633
872
670
376
194
112
524
16
809
187
490
384
759
214
505
173
429
616
969
543
724
7
215
557
248
111
283
470
80
677
160
884
528
605
856
378
521
703
441
866
762
723
746
849
20
856
243
239
352
959
451
874
522
200
914
692
954
215
886
417
827
145
689
276
996
41
396
951
753
318
789
716
806
777
620
899
862
828
135
29
109
236
402
147
687
810
404
435
81
684
960
171
466
929
303
898
67
533
826
735
842
492
206
271
737
723
10
772
483
575
237
617
731
938
118
685
608
864
865
615
537
228
255
999
429
773
227
847
648
876
400
962
425
403
348
21
169
520
398
841
636
109
291
176
499
700
842
106
950
176
577
117
632
736
927
899
112
574
976
933
401
415
683
140
851
67
502
763
307
973
719
838
484
781
11
525
488
422
857
795
880
720
911
972
9
942
99
850
570
812
156
28
650
242
790
180
966
287
203
538
340
574
431
47
810
590
620
920
590
302
524
824
226
994
717
556
59
760
92
51
899
111
908
311
296
942
397
124
734
817
237
917
579
832
497
842
933
329
536
584
58
246
937
34
931
579
629
47
476
410
491
187
677
587
445
412
230
261
197
651
367
930
877
771
376
626
741
222
933
872
264
888
780
848
94
141
592
91
308
850
742
860
551
182
879
835
517
716
514
649
587
498
697
667
222
406
799
551
946
331
50
268
989
108
470
564
403
786
785
384
367
830
222
715
559
307
297
456
2
440
122
529
616
550
310
761
248
901
706
126
319
4
754
853
420
783
271
769
745
22
570
622
638
171
251
2
370
398
478
710
956
597
223
174
661
31
492
799
696
456
936
712
774
775
349
540
121
640
73
532
911
390
169
988
793
874
688
204
277
47
754
821
841
490
979
3
204
561
313
598
343
603
178
394
878
367
700
37
448
405
886
108
655
313
776
580
37
203
419
450
871
752
562
587
860
921
468
830
262
70
666
169
822
670
891
133
852
101
27
283
42
32
188
553
650
752
161
779
127
352
814
367
169
41
248
176
89
737
317
287
682
863
667
694
82
318
48
846
90
561
481
825
9
879
382
443
287
502
374
791
371
279
945
512
282
631
122
322
303
706
874
488
427
196
816
206
619
874
994
667
762
490
957
738
667
154
211
890
124
57
675
895
310
705
362
433
218
474
567
771
67
960
961
113
226
90
471
536
896
269
647
419
470
919
652
318
486
523
467
168
460
321
321
682
976
790
187
495
754
916
27
408
108
616
235
731
930
645
837
385
300
791
627
795
436
892
142
115
218
980
273
65
973
27
783
989
230
952
924
612
607
593
663
446
26
624
39
253
808
116
369
611
589
308
626
272
824
115
711
656
13
780
612
855
612
271
956
929
439
792
341
68
910
410
901
55
527
262
651
710
904
42
70
139
336
890
747
161
866
264
197
685
711
404
544
921
546
814
893
670
139
969
689
540
90
812
709
459
415
116
392
916
507
298
631
565
806
390
984
942
428
805
223
552
214
702
124
350
513
699
46
500
726
729
17
634
700
191
441
26
694
630
765
678
266
258
210
491
875
77
439
570
212
632
767
80
883
59
997
195
143
419
742
414
297
744
790
441
770
287
846
551
813
960
156
986
337
45
858
162
968
251
552
152
357
22
549
901
711
74
945
122
462
699
923
42
119
603
878
39
923
963
516
605
657
619
326
924
423
97
71
595
734
938
617
662
59
832
741
750
540
995
961
988
122
586
829
313
64
277
903
832
94
780
743
275
619
270
548
29
227
764
499
497
299
721
457
754
602
169
896
354
17
563
916
671
968
875
27
599
805
199
724
884
973
422
674
880
23
422
337
421
483
226
944
849
932
99
331
821
789
33
567
96
220
356
30
771
344
213
505
81
770
111
860
492
327
70
906
607
783
440
675
635
730
996
89
993
76
29
792
799
8
967
940
579
48
577
533
40
365
457
634
590
14
837
898
83
528
369
643
162
577
230
914
271
152
623
370
487
384
452
341
866
91
494
894
590
802
222
985
693
460
626
149
334
574
928
255
88
934
51
122
835
735
761
642
229
694
866
232
232
532
418
390
950
791
951
545
420
619
539
174
540
136
798
147
257
355
173
461
975
152
941
805
708
24
433
433
606
5
139
996
554
206
393
448
302
339
295
417
32
883
508
508
210
909
861
287
648
994
255
101
906
606
930
900
583
920
426
123
910
755
196
908
148
469
692
736
264
895
688
23
627
207
209
138
376
903
959
485
147
137
406
727
262
909
331
597
358
179
19
495
995
164
277
691
907
619
207
329
96
399
212
937
159
286
25
375
776
206
883
40
365
434
948
36
930
244
129
853
284
991
883
933
480
734
214
663
435
165
663
478
416
506
182
353
643
800
6
959
77
43
309
841
579
888
108
396
685
304
148
903
118
270
346
56
572
821
112
306
676
335
987
106
695
720
68
187
151
172
509
554
925
759
959
743
261
628
315
866
207
997
237
539
678
416
774
349
249
268
994
803
943
717
617
692
18
17
390
617
126
741
574
473
914
912
742
230
402
425
891
399
730
438
59
503
795
137
790
866
172
310
173
665
259
417
955
14
690
73
338
296
401
900
367
367
991
770
786
477
376
575
296
899
487
493
937
252
302
296
498
12
716
389
833
854
505
630
936
291
705
985
769
790
784
995
822
204
33
738
559
590
306
335
364
352
313
284
377
124
901
30
71
936
745
375
868
433
377
369
976
677
532
380
497
891
182
267
730
4
330
286
850
239
732
430
753
253
953
118
943
367
590
224
337
162
227
330
286
674
96
51
4
801
931
109
18
370
467
730
703
278
389
313
827
476
941
338
477
236
853
909
206
973
168
88
131
18
152
333
455
881
982
706
93
907
336
114
955
989
850
856
449
50
608
961
490
806
750
246
549
919
393
97
537
96
115
83
880
500
185
885
365
573
870
463
526
722
633
965
865
719
925
25
969
386
913
758
26
380
464
813
871
888
308
299
440
845
642
342
249
556
894
504
139
90
290
311
973
754
28
67
871
342
593
94
558
646
190
233
542
482
888
226
246
785
63
851
273
821
733
799
29
15
334
623
212
656
773
194
821
491
477
857
757
382
646
830
981
11
198
756
22
580
865
445
362
501
213
62
15
417
467
416
838
483
247
87
37
547
499
403
753
504
868
393
428
472
767
414
551
477
961
612
545
258
397
554
66
563
163
21
194
805
518
190
593
195
142
125
469
779
440
334
69
675
692
643
385
578
75
814
736
181
993
775
588
997
183
137
595
736
189
815
987
707
567
57
434
959
842
28
187
899
246
779
433
59
227
741
230
81
348
774
579
780
271
487
218
235
388
187
888
347
287
260
98
397
541
113
314
708
725
62
205
170
579
122
250
628
387
765
159
350
662
604
3
307
517
509
806
188
633
756
436
987
402
27
43
790
857
934
893
900
816
780
751
816
855
92
878
7
876
664
179
482
761
492
240
621
169
153
320
519
889
504
329
534
877
821
612
962
850
128
446
124
2
194
883
30
367
550
624
79
333
288
651
797
226
207
525
677
142
827
118
514
260
247
946
941
532
637
667
636
612
108
804
347
623
45
423
179
716
100
305
826
919
883
500
589
87
46
425
889
341
655
384
269
981
581
616
692
93
266
230
902
23
867
443
795
47
749
488
310
999
614
864
475
385
799
27
354
809
580
719
993
208
948
557
162
311
691
296
531
390
528
90
648
748
758
753
807
50
412
624
169
41
971
236
367
839
236
982
171
81
628
340
236
375
556
339
872
201
848
630
781
225
712
60
853
699
396
838
665
232
561
781
255
367
431
126
363
39
564
473
354
770
76
99
372
261
533
176
608
416
784
100
811
411
159
98
939
357
290
277
760
710
441
141
312
427
913
77
789
774
3
155
367
623
693
356
495
120
62
474
618
385
754
543
412
635
493
272
866
478
733
610
635
531
42
343
811
302
269
536
464
718
259
375
535
720
896
36
388
445
309
252
65
335
996
882
300
342
760
249
18
891
377
906
311
231
238
165
232
188
156
46
561
687
15
493
56
861
945
755
971
559
839
193
913
317
810
210
234
309
101
461
705
612
589
328
625
256
166
579
910
844
45
204
781
62
241
462
859
891
824
809
947
260
646
524
421
39
752
836
929
335
527
588
72
733
442
203
94
387
756
84
8
781
242
16
360
848
113
171
580
669
763
103
658
732
941
800
947
944
423
639
797
123
600
970
894
569
606
952
488
865
491
511
225
927
689
715
980
691
180
848
533
310
625
652
573
306
448
949
836
102
422
34
565
425
504
511
395
721
567
595
427
206
448
700
977
553
991
302
190
131
903
803
926
952
970
753
499
211
255
676
260
3
892
857
428
844
237
611
457
270
61
881
633
505
939
494
482
759
968
92
905
308
413
185
58
151
875
465
527
685
555
209
621
939
875
259
369
360
114
176
694
742
379
17
497
173
461
310
877
808
747
214
862
779
96
100
305
233
172
502
882
494
56
123
836
868
265
784
358
313
422
978
298
986
323
508
388
514
602
875
121
950
626
174
532
867
685
430
954
262
113
681
648
21
295
450
623
310
839
564
490
613
833
631
215
706
991
411
341
4
195
368
391
281
588
514
280
235
968
557
66
27
5
172
375
747
410
57
885
79
183
215
794
927
514
556
979
649
422
241
909
984
857
474
709
246
908
892
642
711
114
798
715
469
896
361
355
932
849
170
860
361
228
711
303
747
582
362
636
126
118
134
115
68
224
7
391
563
248
278
664
208
714
570
643
673
839
87
865
502
135
564
952
637
721
757
450
396
173
361
26
809
439
953
881
206
440
588
971
320
108
544
829
537
43
574
109
232
670
557
359
692
526
89
531
385
893
495
505
131
397
109
666
176
866
993
623
410
442
63
853
146
679
105
797
624
78
253
856
537
45
287
790
615
235
822
628
268
335
573
54
462
4
137
380
231
952
316
174
897
902
336
489
699
219
707
176
730
174
941
163
993
998
287
583
361
543
531
32
949
227
553
406
548
914
346
258
295
424
855
6
8
468
30
625
469
157
905
862
147
665
99
949
251
584
766
481
331
277
534
578
417
260
376
977
823
831
26
754
728
704
917
319
858
653
24
854
301
696
254
944
76
287
982
659
450
885
539
61
278
29
274
18
254
691
167
745
453
897
57
492
565
695
849
1000
726
293
96
456
130
261
33
950
413
921
441
314
104
275
390
610
703
974
947
192
838
971
686
741
367
87
235
962
311
702
849
520
874
415
935
42
331
484
626
48
951
176
622
193
515
384
106
341
10
119
346
840
608
545
691
568
999
504
308
80
60
4
20
914
190
664
86
773
646
820
630
963
107
690
835
120
525
353
529
824
693
836
845
324
504
7
260
471
197
292
265
794
913
592
579
895
166
994
682
670
530
891
362
170
633
656
20
94
545
197
439
300
494
97
929
950
940
127
572
239
166
985
575
37
146
845
450
756
81
544
644
591
651
282
236
487
673
294
972
951
422
750
745
605
637
370
859
242
583
647
65
606
305
279
343
650
361
245
618
876
389
464
608
453
289
788
557
259
750
843
782
40
262
669
524
426
372
686
6
666
225
663
226
778
828
678
533
667
167
818
49
497
944
306
348
153
573
919
339
291
66
815
962
89
716
554
759
787
64
585
541
632
725
880
297
866
249
86
210
694
737
931
98
874
970
950
139
127
535
776
710
393
937
478
599
9
495
689
766
917
965
906
115
397
193
437
188
825
860
743
140
418
707
81
423
527
477
432
644
697
861
411
53
381
709
840
263
757
146
329
870
750
6
829
111
909
830
581
508
537
810
615
461
324
155
623
545
550
298
29
363
598
798
710
404
240
687
68
949
799
372
59
841
896
672
759
47
494
737
272
105
733
15
261
543
256
475
21
759
921
816
13
560
516
515
365
23
886
829
442
919
95
878
704
167
98
926
561
337
732
11
987
51
698
588
544
148
501
112
905
516
179
940
690
441
536
193
183
293
376
346
728
701
425
43
283
11
895
193
607
183
734
683
662
434
247
748
493
469
802
228
39
142
732
593
29
824
691
537
699
240
685
637
925
97
586
762
394
730
866
861
654
876
440
172
879
544
936
544
343
866
457
725
170
372
266
675
281
272
211
690
181
535
486
614
369
994
132
540
7
866
31
66
30
652
733
449
199
554
548
938
662
278
338
237
743
231
681
766
419
189
257
770
351
946
343
473
141
927
656
359
535
110
124
365
751
815
716
64
335
975
39
115
728
612
765
158
449
145
286
558
934
578
863
430
296
506
819
667
228
491
834
517
170
872
211
84
526
875
706
740
830
643
785
817
821
99
490
403
986
450
515
203
665
432
935
844
921
744
383
972
493
944
782
850
263
952
207
470
895
761
640
3
277
766
629
686
427
873
206
796
847
457
308
164
671
631
22
467
296
833
570
785
233
206
681
625
563
195
710
384
865
691
378
993
691
629
740
738
72
560
933
110
78
931
492
404
314
724
993
749
542
906
920
368
996
111
503
690
578
223
456
655
508
637
493
630
474
81
700
475
757
313
238
619
13
554
645
480
52
865
802
950
322
477
318
892
565
436
994
485
654
550
97
84
269
186
895
255
471
875
462
18
399
524
800
999
302
335
1000
420
104
20
10
605
400
539
826
336
186
501
614
578
173
909
820
70
270
189
431
471
231
976
164
790
157
519
339
664
602
380
542
88
610
962
411
59
888
791
351
486
480
644
640
38
141
485
619
550
772
924
841
972
435
130
78
276
46
464
315
219
705
631
913
502
41
377
393
988
101
212
686
304
439
328
942
307
839
80
528
390
157
275
513
359
351
259
642
347
11
492
516
938
546
524
42
964
940
796
262
899
199
590
476
787
880
266
297
603
314
604
723
84
44
127
393
912
4
491
658
231
704
560
117
291
89
229
742
35
84
243
176
609
256
394
856
825
438
166
589
833
329
176
343
938
565
847
281
893
161
611
77
378
666
353
232
281
566
587
493
893
697
468
200
67
557
838
197
609
801
977
59
184
7
514
350
946
932
769
323
525
617
549
142
735
977
907
785
861
842
127
698
416
545
449
24
261
835
502
918
482
645
712
320
753
654
315
716
400
608
215
291
709
291
974
866
510
712
668
476
450
770
776
353
683
322
390
427
940
408
133
843
15
229
366
176
635
196
576
554
362
579
600
924
114
495
577
141
519
333
47
888
869
1000
960
704
683
461
56
184
505
534
230
274
800
853
968
941
285
322
239
271
167
602
18
709
357
669
620
121
388
205
565
436
59
702
846
670
751
638
983
254
558
894
556
63
59
890
573
693
297
858
589
25
805
520
19
368
930
481
409
501
875
737
650
225
373
699
39
133
585
675
219
162
58
579
615
606
192
733
50
774
351
261
326
205
319
644
884
388
96
396
610
75
212
155
850
464
213
130
997
13
482
68
629
46
777
698
734
952
62
487
775
763
559
295
738
304
245
775
430
822
358
127
957
368
462
163
303
403
939
756
155
123
233
421
917
462
389
418
530
548
805
335
301
563
622
590
48
239
919
254
382
969
704
216
448
853
251
377
386
62
897
924
564
137
820
865
682
947
167
325
245
478
638
861
24
965
530
715
852
531
968
6
641
957
880
775
573
127
569
991
812
302
401
326
666
381
335
890
279
112
114
767
367
268
748
355
258
62
749
498
538
285
445
29
715
133
933
897
613
168
741
313
328
537
68
316
743
693
983
4
785
45
364
532
251
577
563
927
323
925
93
939
245
602
1000
452
375
905
728
903
653
62
31
168
981
517
617
745
902
413
797
359
109
736
107
542
143
158
144
319
652
505
374
950
980
264
566
630
650
799
606
129
26
75
317
265
386
511
891
612
178
76
584
909
682
13
463
877
60
609
465
121
538
850
38
817
692
590
66
861
965
610
682
127
896
213
855
106
488
297
447
712
390
260
932
720
400
822
480
919
185
780
543
904
864
366
749
967
649
194
461
437
67
844
743
855
601
922
5
897
526
822
559
212
371
331
647
909
19
271
260
885
707
46
940
129
669
200
669
817
726
858
491
987
257
950
175
831
237
929
545
572
762
494
860
25
862
530
643
952
721
896
211
15
292
654
485
689
147
445
876
915
417
922
298
676
751
681
234
905
876
862
946
853
792
30
732
600
750
993
733
90
2
855
73
336
525
859
438
872
42
551
753
277
412
178
836
747
855
147
24
339
712
458
850
605
874
620
966
323
201
77
23
675
827
894
17
585
13
767
83
451
203
373
628
296
532
920
52
14
577
115
373
240
169
6
640
617
379
254
95
589
329
427
77
466
387
274
895
829
396
293
793
357
868
846
211
72
962
579
12
398
987
757
116
340
828
471
24
478
862
335
174
720
8
235
167
20
975
346
277
460
991
137
536
951
547
929
457
792
207
605
472
361
586
828
476
50
305
148
924
165
446
916
656
756
741
320
799
790
778
23
359
365
374
191
915
750
905
490
567
703
873
654
42
171
31
958
432
701
992
881
4
898
192
1
782
626
893
821
468
221
548
609
208
130
580
848
400
781
126
601
25
105
880
969
601
326
104
54
48
665
45
290
698
777
142
692
242
187
821
536
119
957
673
253
62
4
905
408
13
333
78
674
444
659
271
921
714
969
184
766
641
276
71
510
701
181
677
924
521
137
629
591
937
132
549
701
343
499
934
127
796
590
155
581
380
197
812
234
353
97
57
541
695
894
365
315
477
40
941
804
116
142
820
782
959
18
319
887
256
697
627
708
430
922
728
622
392
336
904
24
343
42
264
976
30
543
970
588
682
83
249
131
677
606
766
310
188
342
915
49
763
256
399
420
363
737
128
516
114
42
249
261
927
980
845
455
210
629
228
596
48
760
723
844
594
203
648
86
763
729
169
633
855
418
442
465
654
540
425
681
459
893
695
383
541
132
684
576
36
73
924
728
141
379
183
263
459
855
565
64
46
467
106
352
637
146
179
871
672
487
783
143
709
95
824
158
973
792
368
41
98
185
310
323
384
149
269
2
668
662
539
185
447
428
128
546
954
259
897
779
362
270
890
496
761
558
904
557
105
505
198
31
665
389
694
19
74
616
979
830
434
191
212
389
196
614
982
136
109
2
355
538
648
783
143
756
637
382
510
147
707
608
920
256
414
180
582
807
583
442
672
113
916
654
819
373
72
523
797
480
969
122
594
856
211
499
828
519
67
432
744
610
352
946
314
249
867
165
896
798
604
913
722
581
341
968
574
782
251
711
417
748
616
994
411
377
540
614
490
552
907
218
540
274
458
849
598
777
376
816
416
451
515
21
732
294
745
113
80
44
249
737
774
955
875
644
627
708
120
196
741
565
194
321
855
141
816
295
833
195
174
171
720
933
24
426
245
370
632
199
954
538
890
39
582
838
838
684
923
132
495
174
953
479
464
413
911
822
898
993
122
630
754
742
778
734
857
131
358
786
981
522
253
41
113
219
94
300
725
994
199
140
753
446
86
236
301
419
472
367
3
304
705
263
279
778
804
892
852
828
63
760
508
806
757
575
331
326
171
95
35
598
764
304
365
873
653
384
890
881
322
10
570
580
99
469
189
662
618
171
898
643
664
588
165
604
499
804
569
144
667
528
690
693
743
529
541
408
137
719
239
931
466
918
583
801
814
418
288
54
984
639
271
946
667
997
13
239
631
526
50
187
76
751
540
56
253
93
107
771
848
648
928
611
499
164
900
770
987
54
393
305
948
86
424
404
330
818
250
432
448
601
966
968
525
581
175
577
324
31
465
68
346
859
622
818
899
831
720
405
595
329
1000
340
642
763
762
942
209
941
921
1
148
366
963
498
471
195
460
452
121
950
134
391
137
458
660
434
262
233
333
477
456
396
651
816
662
448
27
7
132
797
837
974
582
47
242
64
425
397
149
861
655
373
23
450
441
96
279
401
627
73
511
48
495
139
334
440
204
20
441
177
926
970
438
45
425
420
576
987
430
562
30
926
90
230
608
675
517
129
856
109
709
727
623
185
948
853
347
715
385
252
496
228
691
15
632
516
664
665
22
917
225
741
589
974
956
791
567
750
930
777
735
182
363
496
83
610
739
548
589
585
169
152
826
481
770
522
440
551
217
330
991
648
871
70
328
992
963
768
221
822
42
837
398
248
462
130
627
229
492
931
778
196
147
442
424
722
423
249
474
877
539
573
811
849
92
49
23
856
527
458
413
240
268
955
452
532
708
432
83
135
686
86
370
70
933
643
895
613
772
977
524
575
579
390
664
464
202
77
658
924
363
38
340
509
329
891
311
119
825
527
12
31
3
35
584
940
117
247
741
543
899
461
215
959
114
65
391
680
841
94
401
711
800
478
644
77
481
972
155
739
433
971
156
126
646
102
357
318
315
640
491
233
881
904
93
460
526
406
804
146
244
646
133
248
514
382
525
109
810
145
200
641
755
452
312
545
615
356
558
76
976
724
217
650
696
402
214
388
982
808
860
658
617
98
83
330
570
392
394
468
528
280
478
551
420
213
799
678
696
689
275
929
337
150
555
223
5
641
231
791
133
188
618
542
826
931
135
676
157
834
616
656
102
164
9
235
651
157
441
283
274
845
275
434
458
961
885
189
35
562
759
975
198
930
261
448
405
70
889
756
808
10
158
919
751
585
146
759
707
841
328
940
264
204
710
600
308
651
605
81
124
909
774
821
134
188
661
349
482
729
166
399
372
468
534
930
18
378
166
867
773
756
754
310
720
757
326
272
704
410
602
186
961
735
700
769
240
946
95
117
397
831
884
115
395
65
939
2
661
614
733
735
445
633
540
737
880
295
46
733
349
403
447
253
32
796
774
462
196
454
585
451
614
635
566
503
685
353
505
183
201
974
120
206
708
448
824
122
328
261
718
339
398
162
760
9
543
320
520
149
106
408
927
311
934
770
626
371
88
353
63
110
840
521
357
937
978
980
761
665
669
931
948
189
743
739
478
326
613
403
905
634
958
548
188
531
727
990
442
694
410
962
537
157
109
159
536
750
602
350
534
506
766
494
460
329
330
504
472
876
238
522
73
608
203
499
79
858
538
755
676
597
829
509
123
266
275
672
166
823
402
575
531
323
33
40
676
865
182
98
750
895
306
466
946
707
33
214
311
597
548
100
502
903
322
120
221
976
130
454
686
364
508
735
35
422
144
819
994
406
642
109
471
913
459
219
694
805
54
161
471
461
168
197
816
862
597
61
693
832
665
949
807
347
266
147
571
947
679
585
626
652
642
276
706
401
575
321
560
710
496
102
369
172
267
599
835
951
149
216
73
35
162
319
714
374
646
593
603
195
829
894
491
724
345
965
514
392
378
510
896
362
564
166
73
502
524
538
73
846
299
123
687
608
989
403
48
958
515
557
313
623
967
101
438
842
946
89
723
129
757
426
635
632
771
871
410
132
708
485
81
380
132
169
36
231
767
621
731
239
797
539
926
437
958
411
20
578
383
184
137
131
360
353
561
564
505
536
692
550
763
990
135
512
487
922
764
814
387
109
573
118
832
717
352
244
566
544
969
412
268
548
103
349
331
558
871
29
378
552
383
427
316
437
436
713
154
798
187
208
189
376
567
959
901
188
96
857
652
420
906
185
524
347
934
423
314
760
259
980
784
14
103
400
716
61
931
996
4
285
818
574
528
417
236
855
364
329
457
710
246
583
746
105
590
57
736
145
417
372
105
653
274
127
963
610
685
117
311
158
130
316
380
699
696
775
287
359
116
920
231
896
98
11
548
676
352
742
965
921
953
669
231
653
572
128
260
978
591
649
787
722
565
683
179
738
312
633
118
85
702
273
6
656
635
836
712
484
68
167
715
532
212
54
415
733
880
755
502
173
712
485
782
727
941
525
989
547
706
919
522
901
676
264
740
126
967
171
254
237
513
662
463
232
286
649
58
451
381
230
919
644
209
404
330
262
992
512
699
61
975
920
386
701
419
579
456
879
250
98
584
257
903
814
639
750
218
512
220
595
234
990
610
320
644
1
2
372
998
604
667
285
218
11
685
916
197
134
685
648
779
73
394
9
202
191
416
9
749
571
620
959
359
870
488
995
982
776
495
401
730
150
502
790
182
524
415
593
469
7
373
348
32
184
18
13
406
15
903
127
393
605
303
110
354
718
176
614
423
360
39
113
266
720
353
952
652
597
664
591
513
892
370
375
675
806
445
848
901
245
158
699
415
744
799
645
12
799
1000
357
761
950
911
322
520
648
242
46
473
772
594
728
133
301
344
204
853
565
44
260
592
890
675
240
526
174
481
710
542
977
841
774
959
530
370
369
902
950
241
388
630
881
32
935
222
924
86
285
389
283
383
171
603
496
856
337
535
152
57
267
368
575
283
225
142
359
126
221
879
546
430
443
777
900
825
396
154
351
731
482
18
520
297
136
256
599
823
444
495
386
663
193
176
963
264
742
310
727
153
592
312
347
108
438
134
657
890
264
454
878
314
345
452
369
610
50
890
710
412
14
314
887
101
618
678
727
217
726
634
3
489
984
880
823
242
577
861
224
444
427
231
345
848
403
270
475
537
422
864
484
354
42
599
934
324
353
894
377
659
155
154
848
818
64
820
609
896
543
282
548
310
711
459
702
405
1000
92
658
389
255
867
46
484
480
442
143
449
246
823
594
374
458
810
974
847
304
437
700
526
172
657
437
163
465
124
348
391
646
666
321
815
976
969
17
287
623
227
763
766
12
759
93
665
120
806
100
668
267
836
210
971
802
178
638
680
980
227
498
912
722
866
333
367
700
299
969
948
735
968
240
471
792
826
511
185
271
590
976
980
453
693
836
692
547
920
829
599
350
712
770
203
980
401
388
683
480
235
765
572
452
872
152
616
979
414
211
373
122
889
350
476
152
152
714
929
900
77
869
610
81
651
349
405
996
846
849
134
593
134
761
294
14
39
969
365
670
38
950
885
593
625
842
4
174
846
885
988
695
608
261
777
954
244
520
131
748
502
354
273
441
461
60
766
624
251
254
48
865
605
171
293
330
57
840
694
255
167
693
566
827
120
291
953
686
158
922
221
985
656
164
234
217
214
745
321
57
424
384
700
437
95
219
364
505
534
272
766
848
238
798
551
797
346
11
713
894
979
692
587
221
670
107
95
773
514
843
181
900
118
296
28
690
254
475
308
330
887
553
518
738
910
900
280
82
983
379
921
324
602
618
43
938
564
975
533
405
799
374
522
104
704
889
822
310
592
258
693
813
321
195
75
588
515
371
987
130
557
242
897
91
69
761
685
498
131
718
36
749
920
985
762
672
773
552
642
126
984
108
388
957
575
842
957
755
455
429
899
777
742
11
185
516
839
758
257
616
242
325
855
365
63
553
150
644
307
415
968
910
51
156
285
109
374
815
78
565
858
607
237
312
775
286
172
412
343
477
114
599
425
573
981
70
179
260
337
206
802
283
218
314
298
642
508
753
492
524
69
544
835
407
40
232
913
570
456
530
970
173
660
547
613
237
213
151
1
94
201
978
676
977
884
198
328
570
333
724
346
740
646
232
842
203
159
537
174
808
814
809
672
979
184
723
915
656
236
802
182
835
455
902
891
581
710
558
580
243
889
825
692
837
353
565
435
645
119
299
56
624
773
831
494
831
840
765
803
906
332
457
224
528
67
202
971
393
477
447
132
186
979
569
489
417
734
462
646
835
61
474
236
649
406
698
608
789
792
685
39
232
606
343
15
406
290
21
509
121
520
363
704
958
864
843
904
219
884
24
133
254
467
216
280
793
770
778
132
249
243
710
393
989
302
186
20
789
814
586
237
893
933
794
595
758
849
980
570
478
790
356
549
789
192
584
404
369
170
666
684
543
212
574
885
454
751
431
756
446
770
178
58
496
405
760
586
45
758
948
40
389
458
407
109
69
643
612
94
697
196
291
6
555
211
725
945
297
387
621
87
289
397
615
361
605
934
804
598
571
794
264
37
479
213
421
353
503
24
570
795
993
126
684
629
861
500
507
71
236
586
960
175
37
967
31
551
865
829
905
541
593
857
115
677
885
774
327
172
985
63
675
816
498
884
45
336
8
434
957
43
26
955
685
909
270
512
350
357
181
478
676
1
270
408
532
78
311
293
218
923
233
367
143
134
745
724
878
817
240
338
982
699
160
541
947
355
43
46
898
916
755
767
353
981
903
602
415
137
440
705
265
685
359
205
320
629
905
237
200
466
865
818
739
601
779
832
874
113
642
25
897
238
534
167
284
94
178
459
516
478
751
458
323
159
137
906
943
464
355
908
394
80
276
873
149
542
630
877
336
618
614
715
660
393
429
11
389
931
934
66
198
792
551
734
956
785
129
169
467
342
965
600
812
402
564
270
672
687
562
658
868
167
310
304
436
878
424
994
94
437
916
708
861
852
54
97
677
646
502
352
866
713
611
109
389
278
426
893
550
144
305
469
625
522
874
666
547
375
470
610
688
114
156
561
56
978
169
431
745
872
915
313
44
970
699
45
679
956
171
125
735
126
43
668
659
583
465
143
346
476
875
137
346
882
328
23
590
593
915
273
696
982
524
464
496
480
362
232
554
525
99
712
559
180
597
713
377
403
616
561
877
510
903
962
706
714
104
961
765
475
49
986
432
753
592
677
10
910
683
175
134
824
16
14
484
165
285
372
174
667
188
395
666
222
159
738
806
155
661
336
273
285
503
374
661
720
25
187
601
401
407
668
722
180
322
503
442
971
420
913
161
97
326
93
880
361
273
135
300
248
153
687
296
738
384
217
294
244
284
567
490
345
828
245
186
68
599
206
101
925
555
296
889
873
17
954
147
743
82
362
722
728
958
292
476
245
65
491
768
520
805
888
469
380
7
869
704
595
199
999
465
725
69
734
716
442
466
517
994
181
879
53
241
398
871
596
241
852
620
910
10
822
658
141
211
840
982
573
755
146
511
188
118
291
376
840
563
456
264
470
965
60
991
176
469
493
718
757
417
618
739
931
263
113
33
593
758
772
487
355
721
101
322
795
237
254
782
88
557
765
98
275
304
772
512
605
148
738
936
100
268
461
441
370
605
769
676
670
851
729
250
688
503
128
496
137
491
767
593
47
67
297
588
851
804
363
493
62
538
361
2
184
175
684
41
444
726
415
500
625
659
919
504
108
883
101
565
292
105
414
279
743
938
594
454
122
524
94
397
999
195
989
308
128
141
507
511
862
55
815
43
264
919
110
190
550
769
772
873
1000
77
317
782
876
881
788
365
249
121
452
523
303
983
419
66
477
353
813
840
395
58
12
287
299
532
88
439
1
764
439
699
283
705
713
718
461
185
375
111
94
287
328
613
919
311
462
74
853
146
413
751
568
413
788
832
497
8
831
498
65
759
542
455
78
893
699
586
667
555
589
62
306
177
968
524
995
790
591
55
775
14
774
991
67
371
317
57
834
952
631
15
952
771
453
792
698
416
183
535
539
554
79
914
233
238
134
721
386
9
776
281
712
895
958
968
278
275
635
707
36
887
957
222
868
321
947
644
379
356
792
699
725
544
985
779
741
760
359
648
972
465
622
396
515
972
938
679
935
674
873
451
684
867
632
57
601
835
942
790
601
135
916
708
895
738
543
482
602
734
703
960
141
902
179
730
484
614
925
449
847
966
845
181
181
917
112
643
614
809
722
198
942
702
635
588
768
677
411
346
665
172
882
564
299
936
206
358
621
291
566
245
312
250
49
325
652
372
468
748
734
195
504
87
437
572
798
33
632
604
19
972
924
635
820
985
367
958
416
695
721
417
18
867
119
734
362
131
642
965
273
658
545
477
877
233
105
809
587
149
432
138
310
101
956
163
49
373
638
82
917
301
289
111
851
803
975
964
4
868
767
711
770
988
585
232
365
178
720
415
621
241
127
727
352
567
334
303
831
493
883
711
867
314
612
900
694
299
458
509
363
614
686
936
732
200
18
764
446
501
415
593
658
958
275
682
167
101
921
448
238
699
88
879
513
619
811
212
439
230
417
308
435
730
420
912
952
93
215
640
888
912
889
180
106
333
911
326
133
162
38
203
475
254
865
907
615
51
988
65
166
630
921
798
888
808
596
551
943
324
938
913
716
433
775
502
587
631
177
75
67
668
565
820
508
275
74
63
843
632
923
445
52
244
881
879
878
888
858
237
724
953
435
650
221
813
397
590
956
744
297
936
560
956
483
402
162
36
72
313
195
353
208
398
732
542
832
452
528
263
29
698
167
218
868
292
685
770
696
466
176
425
310
484
49
847
723
71
678
738
775
847
87
703
407
584
343
203
710
189
401
165
995
813
868
771
110
602
745
197
551
431
643
530
698
823
439
254
682
259
246
661
484
698
80
625
832
418
150
466
520
374
540
411
540
703
349
918
998
203
566
760
970
117
114
357
62
50
194
192
505
44
797
6
809
277
212
640
870
634
969
914
859
118
16
840
243
963
223
310
587
37
509
932
779
537
717
161
84
136
293
366
55
517
828
665
715
146
252
997
985
13
196
799
457
565
89
417
512
367
449
212
323
466
790
57
777
370
691
838
271
641
599
632
903
435
2
785
863
895
190
897
395
720
584
306
665
500
598
639
578
804
456
791
176
94
56
505
385
308
14
267
633
222
569
990
349
27
708
289
130
749
397
120
372
697
94
833
597
822
191
300
437
254
329
641
653
404
67
210
144
546
568
951
738
659
30
907
921
101
283
556
593
329
833
223
121
369
556
575
337
886
139
902
525
982
28
42
752
375
982
204
549
588
5
639
437
492
187
789
827
797
336
860
194
416
892
300
370
258
556
710
487
391
983
506
993
262
786
888
782
498
929
141
167
57
938
716
53
894
403
320
265
191
700
233
851
903
537
317
177
4
492
303
928
802
528
246
22
108
597
506
662
501
942
357
705
666
492
466
247
162
654
263
422
930
82
120
665
219
562
114
582
989
693
430
446
475
134
803
880
590
931
756
681
679
720
766
352
50
534
73
488
198
595
601
958
96
875
836
12
424
277
43
762
206
243
529
148
885
869
386
206
668
80
280
592
851
139
164
169
753
521
424
682
825
163
400
181
412
677
25
592
520
633
417
611
657
984
764
353
642
753
528
849
204
483
606
872
810
81
702
37
640
950
933
650
492
427
589
932
320
428
310
604
502
595
948
549
502
486
679
450
155
322
854
246
581
590
571
744
16
850
41
417
406
679
569
702
541
854
99
719
60
497
220
703
292
507
681
117
870
340
374
810
834
260
376
15
33
465
183
796
53
835
803
402
970
875
68
263
223
549
371
621
51
1
218
134
935
98
258
675
389
389
125
543
562
113
614
39
951
600
982
417
542
869
936
508
897
638
619
209
473
729
94
950
943
358
938
765
42
807
208
90
199
893
364
125
903
78
327
78
166
754
192
758
455
393
344
653
325
206
419
322
158
346
404
994
198
237
123
178
423
671
124
942
999
85
560
569
692
72
578
718
377
457
66
760
38
448
578
829
230
570
414
371
594
628
123
434
435
84
446
811
18
665
717
253
843
37
720
86
351
298
723
825
416
478
51
300
591
496
850
223
976
910
231
217
7
630
930
903
47
303
904
506
999
116
403
572
119
897
211
600
675
364
784
361
458
333
5
814
952
318
706
547
864
948
470
495
473
592
351
147
317
973
816
968
887
727
447
149
779
152
665
979
633
336
288
598
532
241
902
197
422
769
690
508
489
178
663
595
952
841
82
20
604
671
402
136
944
118
897
329
162
54
450
362
567
961
96
725
864
97
170
557
349
42
56
925
115
687
502
331
912
820
16
404
466
847
625
292
601
467
518
935
504
2
13
31
837
486
750
279
678
307
373
500
688
446
451
550
85
369
143
283
302
63
970
630
904
898
883
826
356
34
649
727
595
883
404
94
822
642
329
64
818
156
258
370
547
485
889
383
615
157
281
829
695
215
97
759
947
953
986
147
973
542
867
811
340
985
812
574
861
613
645
105
58
347
139
237
332
662
596
833
788
809
90
960
438
13
916
93
661
688
546
20
968
673
911
158
291
304
453
628
933
74
4
577
826
555
275
631
922
435
816
803
479
82
944
644
672
887
757
374
247
891
582
970
318
748
624
139
168
303
341
582
882
286
613
976
156
385
884
258
330
506
734
896
711
557
110
48
360
757
637
400
8
377
973
157
702
68
457
614
284
719
556
811
282
492
508
151
226
922
695
797
671
63
556
545
654
672
303
495
670
21
607
855
783
340
740
954
677
871
573
672
744
787
886
715
271
28
949
676
762
771
534
252
413
446
212
380
284
771
203
431
895
100
939
81
917
250
481
159
342
699
582
650
627
393
997
390
658
461
703
723
773
944
378
436
355
600
886
724
667
278
778
448
502
698
366
311
693
896
135
102
526
512
577
617
795
212
832
543
541
222
562
46
195
551
84
82
631
655
502
404
744
255
806
887
181
512
633
465
844
315
92
18
394
569
650
375
586
385
253
799
133
579
241
154
637
829
108
886
704
838
979
80
748
906
782
234
766
273
973
993
193
196
233
690
908
965
993
896
389
987
688
851
560
866
156
198
589
806
267
673
641
485
956
389
156
674
648
896
528
588
767
99
800
180
453
768
919
691
132
998
77
111
132
464
440
647
910
865
470
161
735
176
391
11
90
654
353
715
199
878
828
477
540
851
260
455
394
471
983
506
997
400
377
231
108
160
852
995
646
172
665
393
37
955
317
872
722
850
662
221
157
307
821
712
408
664
631
852
618
907
253
100
115
192
916
261
214
907
571
433
338
957
144
94
462
913
267
115
69
202
716
552
599
844
679
654
484
993
11
983
727
904
332
896
829
434
670
633
987
927
847
52
39
940
811
681
964
724
870
311
704
338
376
20
180
756
53
780
603
215
249
288
509
973
881
794
854
252
989
526
497
143
831
815
670
802
865
951
204
419
660
418
54
138
670
988
471
813
600
63
968
969
317
836
695
332
889
303
694
168
776
792
395
48
495
234
935
105
5
735
77
965
824
701
516
561
21
353
594
865
884
484
884
359
231
921
110
296
106
548
538
96
249
820
611
924
938
880
326
661
26
357
596
267
235
322
137
933
693
907
472
671
435
550
277
517
268
189
914
653
130
299
667
963
220
254
350
531
442
375
656
582
201
221
371
119
215
615
328
36
416
337
845
479
771
915
47
903
707
799
312
283
762
77
59
898
435
508
4
56
901
316
978
358
197
253
487
432
903
863
713
745
229
506
23
755
61
209
379
213
423
747
81
352
163
955
735
197
724
319
259
314
842
82
293
233
765
645
183
157
747
299
815
894
449
96
501
351
717
507
767
348
850
401
350
514
505
401
712
253
988
393
720
468
184
499
766
601
296
483
816
231
358
91
314
651
879
135
93
82
497
539
905
396
426
623
534
478
571
273
661
642
777
87
688
174
199
84
439
225
592
856
510
552
752
142
825
913
511
365
157
917
242
333
37
79
874
962
409
622
349
669
834
866
796
22
812
927
527
936
743
952
868
404
726
20
898
376
677
920
829
888
542
560
774
887
34
852
560
848
753
725
153
253
83
229
165
17
89
329
484
622
14
951
426
334
406
106
327
269
100
298
233
379
38
434
538
751
210
167
971
560
675
178
7
138
106
967
621
402
308
849
299
547
514
184
276
36
811
989
173
820
889
502
116
777
271
642
847
347
87
267
611
520
481
170
306
405
296
478
298
660
802
567
776
710
52
138
127
625
31
962
764
415
591
283
236
31
217
333
908
388
513
527
868
57
753
934
303
140
662
247
799
808
707
857
454
608
954
791
348
274
354
193
905
307
237
685
65
32
902
48
146
576
140
452
390
28
965
637
192
122
825
77
725
288
279
281
397
787
109
339
747
1000
723
585
1
865
639
279
717
673
142
457
172
324
419
57
628
500
948
302
744
238
998
439
4
350
792
639
655
846
3
805
204
189
593
269
20
984
708
729
111
960
367
254
714
742
826
585
67
328
273
270
630
624
711
222
784
782
799
351
538
834
51
482
624
780
954
664
395
280
373
185
638
306
657
186
924
546
855
628
688
627
605
416
767
41
891
66
775
121
965
720
606
733
62
497
282
528
85
425
859
812
986
494
828
695
193
490
758
977
902
606
110
375
918
527
648
76
483
756
402
871
307
442
453
116
128
493
298
937
814
212
84
761
165
267
891
547
555
244
686
6
477
210
800
820
238
175
994
886
769
325
548
25
551
887
279
442
520
289
910
594
748
588
958
970
13
134
654
565
390
28
477
999
501
405
56
678
927
861
304
523
639
308
161
749
979
113
364
348
865
84
17
660
600
323
521
461
111
356
156
467
279
633
809
663
144
499
881
740
993
563
649
410
70
262
823
680
950
511
702
974
58
773
66
676
549
285
132
262
250
914
992
528
771
562
447
783
374
873
781
75
424
850
716
937
985
457
383
829
259
515
502
223
727
12
353
546
522
580
733
224
26
839
941
330
29
763
849
318
877
539
582
642
227
63
31
272
148
392
202
856
708
912
659
275
547
416
82
518
437
830
891
73
243
101
117
886
343
128
313
691
569
408
11
807
415
432
622
760
266
782
379
240
884
374
390
871
452
508
947
220
478
352
329
760
703
141
870
651
970
926
853
909
806
81
642
190
654
77
817
422
566
388
730
553
645
769
256
404
86
825
346
477
94
896
991
918
344
58
66
300
947
583
439
552
299
415
654
519
193
638
800
638
911
506
927
859
364
600
77
616
685
259
737
13
461
862
67
354
3
327
521
778
79
540
991
46
287
158
354
957
648
708
691
884
416
821
49
432
721
984
936
352
761
384
383
360
466
211
25
755
704
282
39
122
360
413
303
455
119
308
873
890
696
257
699
45
924
247
574
491
726
141
339
226
389
249
695
21
141
566
406
983
161
737
502
254
745
978
51
312
609
634
485
446
708
850
509
616
981
841
272
345
969
718
300
552
949
326
271
650
823
581
353
838
438
195
18
176
696
342
177
356
17
445
559
958
504
4
349
627
450
248
341
769
685
352
311
22
93
341
791
440
369
560
946
828
493
296
972
982
25
248
208
151
273
696
298
665
672
730
447
111
28
621
327
879
331
980
711
406
784
453
381
341
424
145
757
364
302
487
419
686
337
823
257
454
944
869
549
723
915
539
407
324
148
730
10
125
543
254
629
999
315
174
892
415
495
519
545
294
65
961
816
260
375
176
887
908
668
580
987
408
160
790
299
600
24
85
331
839
222
955
270
581
602
116
934
960
104
633
210
701
164
464
492
225
5
974
492
706
757
690
222
120
966
537
382
328
373
865
771
32
295
558
393
820
126
591
645
670
496
613
34
833
252
653
945
667
892
624
247
185
168
69
297
917
371
517
27
733
128
38
464
124
941
147
156
430
179
839
12
742
252
914
574
429
144
777
565
162
534
158
823
490
323
503
680
442
970
291
300
39
864
559
958
636
806
807
623
820
459
67
470
638
102
108
410
726
398
210
36
838
900
234
689
417
612
595
829
878
606
583
899
68
938
584
138
903
315
183
186
56
43
521
250
252
530
577
401
227
486
238
584
993
806
85
758
744
352
28
718
690
952
85
665
3
447
539
966
202
502
592
527
249
125
93
442
841
578
460
578
268
412
707
735
447
975
471
778
700
190
986
815
64
538
764
254
227
126
535
272
480
715
402
572
914
580
583
943
689
332
942
692
826
670
162
140
161
373
292
577
897
720
419
664
496
896
815
578
654
428
259
841
225
120
47
653
679
226
628
157
969
627
505
663
516
471
411
651
848
306
261
74
638
800
92
293
533
598
968
471
511
951
434
282
28
761
386
995
970
501
382
468
308
384
204
788
984
822
768
862
207
885
139
885
182
462
381
899
701
170
111
452
380
604
579
753
283
453
32
613
978
975
429
836
214
698
175
639
371
587
28
207
61
766
25
349
11
457
990
689
700
970
883
464
235
264
532
361
933
822
330
151
250
454
709
509
841
6
465
54
758
674
606
766
217
208
675
872
36
119
230
685
318
892
669
738
299
845
597
860
338
55
110
103
386
830
148
219
92
731
73
68
443
237
203
859
115
285
242
529
142
436
452
120
905
372
752
572
154
164
861
717
167
220
58
873
776
840
840
178
142
327
567
213
411
80
671
89
126
647
989
215
598
23
945
869
102
370
452
880
76
724
222
886
273
579
838
817
141
834
368
289
489
186
489
488
360
835
714
366
317
356
856
249
958
48
894
968
69
148
266
228
68
640
315
47
627
643
491
978
904
693
284
721
324
646
884
419
26
609
88
505
115
501
682
984
760
544
737
602
254
873
6
487
110
420
62
321
972
257
346
768
993
929
730
837
315
15
989
878
104
355
794
234
249
281
19
120
31
690
338
44
847
881
681
336
802
103
439
372
855
99
365
74
452
337
705
859
178
871
648
163
583
243
267
971
186
471
697
366
685
70
534
525
84
451
982
662
421
439
60
211
31
457
127
670
844
909
360
81
980
574
777
426
266
529
69
668
145
1000
303
642
621
113
278
165
733
657
930
189
10
803
958
827
173
997
631
91
418
738
486
521
698
515
460
109
538
231
682
919
783
966
377
713
435
857
139
656
284
845
128
302
353
462
814
485
91
767
935
876
937
637
581
345
846
540
40
952
660
336
804
429
534
660
46
753
448
985
895
786
441
40
922
820
99
898
608
901
681
758
768
724
599
632
781
255
995
836
554
515
352
130
239
592
539
260
743
300
173
887
281
493
629
525
455
411
645
61
693
998
733
674
349
81
139
657
207
871
306
441
262
896
729
363
648
82
675
74
727
131
35
785
478
649
488
560
596
894
988
326
820
564
493
164
604
338
872
858
213
522
454
487
986
692
658
661
909
371
135
464
536
398
404
702
411
229
468
757
252
110
70
135
898
775
67
924
459
664
64
610
311
26
544
126
144
847
861
146
902
935
985
719
584
637
293
881
879
391
38
321
488
177
901
18
863
533
128
885
101
695
648
354
546
876
445
244
934
664
558
964
220
102
434
879
607
503
269
234
940
705
901
847
208
374
753
123
124
68
274
505
920
272
105
221
50
85
702
231
778
144
480
637
470
286
406
82
311
192
972
818
895
279
483
5
57
37
311
969
481
775
717
362
619
833
477
694
412
958
183
676
39
780
265
59
169
141
747
360
347
511
428
29
715
770
472
25
456
333
279
475
858
306
377
139
609
472
444
202
137
141
321
594
383
655
998
921
809
587
44
412
60
908
550
192
928
224
882
754
195
991
443
298
452
223
152
776
78
422
531
461
513
921
847
647
896
991
117
966
971
179
398
366
811
807
284
103
673
912
840
484
447
76
357
834
641
493
492
122
387
406
238
889
375
470
164
592
611
308
825
615
866
549
680
319
868
926
816
62
838
305
685
653
974
532
47
924
290
462
925
612
867
695
337
234
720
119
632
693
176
631
240
736
688
766
872
185
196
630
689
117
765
777
173
867
69
578
679
174
487
726
301
262
656
374
861
938
90
931
193
800
655
7
371
129
301
851
404
299
583
80
775
669
676
166
739
645
143
658
885
367
575
445
78
624
579
849
649
65
157
620
974
480
56
614
269
293
64
571
203
33
475
105
873
464
292
506
743
936
556
313
357
152
287
571
583
337
829
931
981
615
270
284
182
180
931
906
679
523
930
448
857
895
284
635
961
495
63
606
874
887
153
440
855
929
590
486
767
917
198
393
675
148
852
299
237
211
124
763
570
320
351
464
494
299
314
432
342
842
146
643
402
985
958
299
284
291
494
594
14
229
521
681
557
245
565
295
545
563
344
201
619
627
109
52
264
786
843
629
955
39
497
219
288
290
931
408
23
131
619
518
77
353
66
601
361
740
794
353
216
865
936
699
634
24
755
737
798
402
7
209
367
39
232
128
246
667
171
231
46
301
754
557
684
257
332
762
442
726
330
37
192
830
379
149
494
31
684
61
354
212
686
412
114
634
660
195
756
760
310
554
473
806
136
910
878
408
991
375
129
786
620
36
280
956
316
990
746
758
415
507
156
166
698
657
225
84
146
755
753
901
861
143
519
483
259
790
198
278
76
895
135
906
298
36
841
824
330
30
688
431
62
804
151
733
501
535
102
193
259
956
661
20
209
895
60
972
727
544
547
815
572
703
720
46
910
546
500
683
968
573
203
143
991
160
660
778
19
9
537
609
530
669
251
152
561
842
691
53
883
678
358
913
915
607
125
107
407
206
546
145
918
284
766
705
525
777
784
712
348
102
284
799
503
247
531
310
874
628
853
705
462
393
671
889
784
603
33
451
254
719
398
812
141
610
990
551
590
447
543
674
754
632
389
954
919
635
405
76
346
459
129
405
890
501
512
866
659
681
300
202
918
491
304
25
807
69
114
596
50
841
243
179
791
218
458
720
681
401
868
668
377
312
342
501
596
125
192
65
682
467
710
114
59
108
569
628
953
457
908
174
235
729
800
877
447
855
491
283
403
333
771
349
232
628
718
957
986
376
283
67
768
871
950
825
285
146
475
104
772
804
103
410
445
616
893
853
468
163
10
342
223
383
527
924
793
741
665
542
582
671
180
117
88
679
666
41
271
946
986
864
333
76
190
693
16
639
450
119
488
390
402
792
326
259
92
54
459
322
115
233
649
974
950
166
969
704
494
425
68
365
243
157
145
719
840
286
106
947
257
755
228
170
419
198
780
194
522
473
679
259
372
803
530
669
921
998
577
629
748
342
281
440
414
827
934
816
939
850
290
635
723
670
554
122
43
105
898
775
434
195
713
681
617
660
724
527
875
434
417
348
764
665
34
848
752
835
716
715
723
242
729
789
294
339
348
697
532
8
952
275
357
275
431
524
589
659
949
380
730
547
622
303
587
979
193
681
96
904
895
174
398
645
510
967
140
598
951
480
183
435
613
228
85
462
317
459
425
600
34
221
201
116
510
74
430
964
460
580
753
192
667
897
614
23
693
531
806
53
180
743
778
989
892
830
549
437
221
99
384
82
954
833
519
656
268
591
778
181
195
719
6
899
979
943
942
663
772
590
949
534
359
413
599
767
927
292
776
246
500
251
526
502
675
6
112
975
97
184
528
820
544
375
51
933
534
337
472
114
547
307
407
79
423
45
207
680
402
602
310
421
36
209
331
163
806
894
243
255
681
152
621
529
191
505
568
421
25
59
485
361
140
947
967
690
763
21
206
710
430
354
842
129
729
944
176
285
53
355
548
385
511
666
703
983
569
519
649
169
541
183
7
742
722
687
803
502
570
827
97
337
211
259
724
760
415
823
292
757
294
868
899
925
588
657
660
98
725
264
450
222
879
10
368
687
611
219
954
562
425
493
201
682
673
662
65
409
922
918
812
484
907
92
542
794
222
756
164
706
866
232
116
790
111
81
181
525
190
915
313
953
272
349
799
541
505
822
53
732
259
66
982
345
220
852
216
362
895
410
628
391
87
936
149
442
528
955
988
114
998
679
517
633
650
552
901
322
761
175
338
874
448
636
129
272
323
750
54
6
446
516
252
632
919
178
623
389
69
434
968
1
180
397
878
226
509
77
770
625
151
944
271
726
493
148
624
767
480
513
627
479
568
299
85
946
546
972
169
939
222
385
670
405
774
997
667
885
166
472
301
587
396
846
840
5
938
285
850
979
300
844
637
808
423
505
733
403
369
70
214
925
914
564
195
713
611
765
283
697
588
852
221
345
515
751
131
905
85
641
908
438
580
985
379
292
410
724
1000
997
404
9
234
293
79
157
728
506
712
372
258
629
419
854
91
722
811
683
71
576
357
6
596
847
214
626
55
26
49
283
587
806
718
688
653
721
132
98
866
857
305
338
30
496
939
155
13
41
222
787
399
20
15
245
721
992
850
564
539
609
136
537
67
530
835
790
399
724
367
258
342
973
690
936
158
415
983
818
205
708
359
379
384
548
234
850
934
63
264
610
931
601
543
75
894
513
8
519
721
561
389
761
367
189
494
561
87
875
433
496
693
49
169
964
534
864
37
932
801
334
580
915
169
942
729
951
528
156
78
749
698
425
284
35
293
513
556
667
936
926
834
750
811
647
950
942
680
983
908
627
438
393
841
730
416
84
973
201
417
196
648
122
655
821
7
642
364
78
517
16
426
136
141
245
442
537
200
695
227
435
774
768
496
970
107
431
679
871
966
452
209
345
740
466
224
373
15
961
523
673
289
295
354
772
898
513
294
498
210
759
635
554
49
147
139
477
260
145
928
458
987
848
727
391
747
669
329
301
460
333
651
551
875
222
257
81
351
187
111
314
263
809
922
642
210
434
980
324
778
496
721
52
398
16
745
528
814
521
377
817
54
158
196
444
353
261
364
588
117
571
423
658
393
122
431
375
698
151
663
197
425
599
146
405
232
491
596
545
162
683
112
445
157
90
737
613
613
364
656
693
527
151
405
996
886
352
13
631
699
470
411
437
608
234
256
69
961
648
389
471
770
617
299
790
342
708
818
215
570
544
231
743
904
997
394
730
84
801
394
175
169
285
686
190
943
944
389
276
565
913
540
509
934
414
142
496
697
207
355
444
98
592
428
310
226
466
1000
91
58
618
787
411
13
307
190
752
522
709
821
360
942
870
121
603
993
152
307
491
475
229
116
160
834
996
957
41
676
131
516
136
358
558
357
122
390
47
133
746
524
212
1
803
72
463
613
677
672
902
532
963
35
787
353
214
325
126
984
418
86
71
637
644
464
465
774
637
230
247
867
281
666
516
638
1000
452
886
764
793
177
947
924
940
596
65
472
301
495
788
504
219
296
549
717
883
99
592
359
769
745
511
623
88
280
50
327
939
163
268
693
60
605
730
107
585
268
983
204
621
602
427
610
48
390
152
813
288
547
914
728
797
814
794
69
407
917
915
494
480
205
269
718
88
353
252
994
445
419
578
236
986
359
567
693
717
857
511
758
881
513
914
729
839
558
183
338
681
727
318
506
772
211
35
492
290
124
926
49
65
906
843
446
153
786
987
692
675
98
646
353
115
161
921
421
932
417
767
88
536
318
102
585
881
322
962
255
113
527
937
322
316
903
728
416
741
55
793
877
775
687
837
506
917
471
795
911
110
553
812
925
595
37
999
748
635
541
765
652
638
229
975
471
43
667
208
731
903
4
390
653
141
571
210
790
230
739
37
644
577
688
798
356
776
226
425
497
165
258
429
909
786
788
332
674
386
551
913
315
277
549
702
894
578
274
159
184
463
822
553
407
429
339
906
959
242
973
150
770
383
372
4
324
747
772
638
614
713
959
614
305
335
730
247
160
294
630
499
8
780
596
606
365
142
616
271
745
112
835
279
700
948
744
807
76
233
326
765
248
924
910
393
133
704
730
837
335
83
762
760
501
411
588
149
335
47
648
461
682
226
323
2
329
62
124
633
857
156
867
763
567
593
316
429
207
351
651
638
735
960
157
648
714
299
551
748
595
887
907
182
936
772
200
327
88
603
416
736
851
694
200
180
644
669
288
40
24
954
500
463
810
683
190
176
447
402
163
886
642
761
803
879
513
8
936
795
924
245
116
928
811
142
125
27
407
533
309
333
753
720
18
65
231
166
196
10
43
136
105
986
690
628
928
837
527
970
328
689
566
509
915
742
75
278
203
501
392
740
523
793
343
615
990
548
212
810
440
770
287
810
681
557
855
737
96
843
741
494
135
547
350
1
686
726
987
70
7
392
479
507
324
983
95
503
679
622
528
363
797
15
852
91
698
595
833
409
478
867
870
878
471
501
501
742
924
303
142
299
643
314
228
40
195
889
107
956
698
438
630
849
53
984
793
247
236
10
869
331
352
234
606
421
71
780
79
233
201
86
219
785
168
550
682
661
961
471
248
349
268
437
565
264
460
871
707
842
392
789
937
45
460
11
365
243
773
456
313
80
776
996
263
282
90
774
346
677
592
240
259
350
595
541
431
153
709
327
64
372
686
538
474
655
421
972
762
32
244
140
457
617
195
908
720
525
629
251
769
814
473
31
715
453
442
462
638
566
944
853
699
280
887
675
73
85
562
175
532
749
860
723
246
164
177
758
350
876
543
99
230
685
331
165
786
686
943
245
379
271
763
482
420
995
40
141
585
145
955
240
808
609
410
666
825
441
761
195
684
746
390
145
29
550
750
539
550
769
139
518
171
737
296
724
774
360
903
994
362
455
445
791
374
134
1000
341
844
949
333
418
272
348
726
748
989
214
561
159
278
148
726
566
903
530
838
627
597
549
250
905
51
720
79
691
142
194
490
80
357
661
972
63
244
582
445
336
354
508
380
574
710
604
422
997
970
934
709
974
864
724
732
405
814
16
206
105
348
350
345
568
914
495
239
229
115
771
776
810
514
564
577
891
667
584
558
486
59
890
462
974
535
882
556
147
959
327
894
469
415
841
934
515
540
319
944
776
451
520
561
166
536
910
791
206
316
712
307
918
831
988
540
670
349
213
506
415
897
510
654
338
274
787
316
330
506
450
688
543
945
533
713
429
772
622
302
154
63
425
557
632
425
48
762
869
834
663
855
109
805
165
239
814
842
646
315
196
470
593
755
630
175
982
216
140
654
767
897
843
617
926
329
502
708
4
470
77
381
843
538
666
792
930
813
73
586
818
797
772
121
54
74
228
359
398
151
34
370
635
489
294
44
528
808
325
716
8
207
308
103
798
824
903
742
86
831
406
742
680
865
653
426
13
434
140
910
230
353
376
49
961
52
983
49
150
617
941
26
315
790
959
459
889
546
701
221
575
253
590
510
370
828
791
856
520
235
53
958
309
729
552
729
213
418
341
98
828
836
625
799
193
156
942
466
288
88
786
874
565
274
175
413
836
752
668
986
466
477
579
713
799
998
749
800
848
294
205
462
171
272
909
351
400
175
668
979
614
152
273
687
627
646
112
835
409
579
73
7
657
110
617
23
347
455
272
71
447
770
858
189
740
155
607
241
701
590
882
207
194
290
225
369
235
350
214
210
508
387
446
147
768
172
235
404
889
545
152
98
34
530
341
660
80
824
212
145
350
790
230
636
261
988
289
150
195
660
940
170
994
835
447
585
409
286
64
214
962
105
299
470
870
578
884
496
766
432
75
592
236
191
690
496
903
429
449
182
60
371
873
122
176
479
970
536
645
97
424
500
776
643
928
364
826
844
936
886
107
452
780
287
834
3
722
867
660
670
613
8
147
466
5
14
747
718
187
50
455
19
351
586
822
192
669
170
855
657
338
488
666
800
798
422
693
784
165
565
263
631
333
408
441
980
371
257
628
427
768
635
193
611
985
449
921
823
569
707
989
620
199
74
486
708
71
375
914
667
620
903
920
839
190
762
604
795
292
267
433
720
665
329
320
276
714
104
205
72
832
25
998
943
646
375
449
66
708
254
136
717
825
850
988
631
738
95
605
587
438
141
974
748
724
544
352
756
964
490
534
939
716
984
283
699
629
109
758
570
302
646
406
565
950
638
288
488
358
709
294
482
947
800
743
181
102
409
484
292
599
379
437
148
682
893
837
678
764
536
387
285
81
859
802
475
828
249
531
303
492
359
835
842
663
760
904
771
458
333
620
66
19
926
753
839
364
699
532
71
675
195
248
497
851
444
990
449
267
559
460
461
846
816
311
520
767
552
455
438
932
489
677
360
957
909
674
901
721
456
333
739
194
973
620
824
345
414
350
584
684
250
642
691
955
466
20
225
533
73
75
209
627
284
20
463
548
690
928
971
489
403
244
543
871
646
773
411
233
977
182
821
87
344
146
56
77
148
537
510
591
740
409
368
56
286
758
282
468
641
763
626
636
995
509
794
443
752
591
516
994
44
980
641
8
739
405
55
999
30
1000
68
820
415
717
395
959
925
257
641
676
562
670
664
495
324
212
979
42
985
909
955
627
10
761
102
836
290
169
126
656
275
353
799
279
500
468
914
902
717
470
857
733
451
668
341
49
194
575
727
8
126
836
582
597
311
670
274
178
36
860
174
538
406
698
284
4
529
993
189
997
979
271
32
725
674
511
478
699
995
46
629
839
742
455
137
820
805
405
452
498
94
512
403
948
326
101
166
616
289
123
419
307
984
515
130
319
262
704
440
700
646
283
550
80
420
24
985
150
643
779
508
972
508
498
711
132
84
965
232
350
797
345
265
924
311
86
130
846
718
949
262
716
413
100
279
171
389
498
212
687
26
295
233
615
174
313
8
477
47
805
523
387
179
108
975
938
216
227
364
361
82
626
44
306
681
591
257
126
16
797
146
403
390
68
97
118
157
431
763
253
798
665
560
684
264
967
5
670
77
106
165
952
375
882
243
432
107
573
804
45
202
857
559
35
716
447
815
748
256
585
611
44
754
700
936
665
134
479
786
756
778
588
569
796
681
716
36
809
92
883
705
892
347
203
428
555
69
73
630
795
959
863
692
995
392
889
251
765
345
41
738
476
4
689
255
17
937
344
792
598
477
313
368
954
78
385
468
4
104
354
810
958
449
732
952
3
344
876
512
456
693
986
565
513
462
607
496
568
808
490
178
67
388
288
10
148
565
902
967
31
453
231
909
823
129
186
108
957
352
91
287
654
841
436
761
653
3
54
682
338
179
910
801
671
974
530
110
98
902
498
64
636
861
266
207
437
568
170
173
761
892
858
544
567
413
108
492
375
424
25
969
516
38
569
266
409
284
825
419
735
193
776
298
954
750
125
791
787
250
692
723
352
844
310
927
876
806
781
757
102
636
314
820
341
804
776
864
395
353
677
753
743
153
609
36
142
404
371
56
637
101
343
929
917
242
667
747
631
906
11
517
562
590
558
634
480
655
233
571
253
672
255
499
320
741
833
102
630
374
402
402
613
442
22
497
92
112
710
492
882
334
550
554
894
768
269
191
782
665
50
70
72
486
321
112
754
738
443
720
813
257
579
712
94
683
345
421
110
169
38
872
62
167
878
850
454
953
444
851
951
929
378
876
544
475
815
258
451
103
285
364
47
77
697
107
246
465
402
403
933
930
976
581
820
183
876
200
743
966
553
908
751
404
615
448
720
538
884
990
268
526
270
761
607
982
388
63
937
908
799
109
32
332
217
620
71
220
192
20
318
896
582
287
608
500
770
385
685
602
516
694
775
369
677
583
924
800
154
599
112
381
451
852
181
458
661
264
257
672
77
671
482
787
205
859
749
582
578
911
251
393
901
382
519
428
967
932
631
78
216
486
323
657
928
196
706
531
881
815
28
295
262
173
90
491
878
388
405
930
567
428
690
2
269
302
802
843
998
327
697
288
191
223
882
343
567
296
273
535
374
418
581
275
250
546
291
748
715
47
414
212
490
653
913
559
994
442
645
709
557
448
164
379
315
796
668
910
350
300
787
208
671
554
514
993
353
878
193
169
679
775
707
168
835
653
953
776
441
768
248
78
114
703
213
164
889
633
436
474
712
297
648
746
828
96
551
747
329
594
29
774
284
343
872
406
465
681
274
674
599
405
221
805
737
470
445
308
194
54
125
545
913
478
134
503
686
197
784
753
169
651
431
734
972
275
505
405
678
835
969
182
242
335
170
675
88
792
974
288
988
127
951
418
818
224
790
691
75
676
537
893
45
218
483
375
902
123
244
626
469
347
525
321
670
57
565
648
776
30
274
332
49
366
348
956
36
455
160
700
518
155
127
108
998
209
86
122
555
61
764
553
199
840
833
938
160
253
958
836
730
603
985
872
640
628
941
908
877
753
327
590
65
330
823
463
565
449
326
618
431
605
125
555
516
232
232
826
626
752
537
456
608
830
607
43
410
57
486
172
84
743
683
152
229
257
526
626
454
934
249
444
223
773
940
659
772
17
911
61
172
609
901
20
805
384
270
942
505
622
823
440
148
403
902
436
85
258
123
170
38
751
927
69
26
915
312
804
70
353
354
856
170
317
712
828
418
997
181
770
770
974
750
194
620
942
987
551
692
516
854
796
441
706
479
455
932
730
525
616
306
825
803
738
619
809
16
80
448
827
532
930
12
4
239
639
495
633
774
547
105
155
72
731
516
447
468
453
173
329
604
797
990
452
512
17
924
891
44
421
648
188
415
47
842
456
803
88
701
837
150
790
332
973
784
426
423
550
283
695
618
34
781
370
693
710
987
892
310
136
57
57
2
887
632
780
443
510
829
694
426
881
149
498
930
772
402
781
247
88
190
925
112
219
675
669
641
913
901
617
727
681
108
584
445
114
145
582
309
232
945
748
321
801
194
384
315
304
467
300
929
889
656
551
326
29
585
943
914
405
292
107
470
178
675
899
581
589
323
959
940
337
416
591
565
624
427
846
949
450
773
240
76
836
497
436
903
639
128
895
94
409
917
956
167
305
350
267
47
259
955
882
932
277
57
537
975
56
252
246
859
862
639
455
574
701
633
365
747
348
176
696
959
334
698
760
454
879
935
625
622
906
14
272
488
397
720
999
192
995
860
816
818
948
951
589
12
447
661
763
483
361
823
667
354
42
454
284
301
585
753
458
94
888
511
852
194
502
994
990
646
291
915
592
571
814
480
589
424
335
353
631
154
817
874
525
752
133
319
84
133
192
177
826
290
255
278
950
543
522
761
939
764
37
570
620
398
183
669
63
158
712
613
248
937
790
96
275
912
623
967
578
575
153
677
136
704
62
474
68
385
371
494
993
244
59
866
491
838
16
877
895
339
671
944
571
150
440
588
866
384
895
554
558
119
112
147
418
360
14
903
804
712
394
768
603
2
569
726
906
705
724
320
799
789
185
620
705
844
101
997
913
324
995
638
866
236
951
852
462
347
287
957
802
78
445
626
167
609
688
644
531
217
917
964
407
273
304
906
910
273
843
829
980
382
63
33
203
133
521
334
819
792
491
595
611
882
154
574
58
593
741
961
171
952
309
929
961
593
887
104
32
867
643
760
313
986
397
262
598
320
834
937
675
931
574
439
640
113
811
299
439
941
557
194
764
629
242
178
518
310
291
348
674
692
442
308
675
325
948
375
265
637
530
791
157
971
754
254
522
797
411
68
214
189
382
780
430
183
721
726
613
785
153
7
813
809
426
327
114
849
102
408
812
20
518
199
415
134
804
832
910
318
426
906
205
198
310
650
567
126
92
172
830
192
992
855
617
712
418
198
531
144
64
111
323
36
139
331
39
292
379
190
713
675
942
769
647
314
345
601
533
343
431
311
935
741
411
308
589
12
118
678
273
66
125
808
150
572
804
848
756
173
363
150
107
31
480
146
574
58
49
739
291
497
466
75
326
343
659
654
277
752
13
988
636
422
24
329
82
71
405
921
173
656
316
872
962
845
71
42
68
611
901
661
979
840
611
703
892
780
126
255
168
906
837
328
588
574
121
555
397
47
208
580
345
71
744
829
303
207
632
334
236
79
698
884
668
358
979
724
207
890
714
128
209
896
354
230
776
657
219
4
139
659
911
412
47
265
878
731
777
687
673
319
879
642
24
512
211
540
288
94
567
637
95
538
142
939
519
268
127
704
909
955
554
281
78
574
776
284
87
920
429
632
345
115
189
640
249
949
269
929
737
910
586
315
804
739
594
34
808
718
494
447
859
974
325
17
760
745
734
556
957
563
310
137
33
756
610
502
859
471
601
178
655
558
862
746
326
681
82
816
170
830
526
168
392
388
191
34
232
199
288
269
427
103
403
133
397
279
400
1000
259
51
167
654
163
14
505
997
85
183
357
745
48
183
860
608
97
749
895
3
95
447
962
445
797
145
874
329
537
796
70
11
610
110
817
242
459
252
741
390
801
707
976
939
872
598
954
597
899
884
674
666
558
810
609
324
630
639
13
107
990
89
967
729
467
221
145
67
809
675
967
433
952
889
291
7
439
307
958
669
449
598
65
846
711
191
637
448
187
691
23
447
347
239
852
434
77
482
193
533
655
689
914
645
108
878
387
122
257
722
969
204
16
162
922
466
462
311
758
584
565
186
263
852
11
916
526
888
477
389
143
873
111
230
197
545
99
203
946
367
200
934
266
302
572
480
353
425
1
135
143
70
770
628
186
254
65
136
559
108
38
820
359
166
493
842
836
873
562
210
947
776
148
686
658
740
713
824
376
106
575
338
466
742
888
416
618
320
31
361
427
499
212
571
462
495
761
350
690
612
593
783
236
683
258
801
335
834
233
222
461
258
988
761
882
323
167
524
872
680
983
434
310
52
722
177
654
33
21
398
972
720
41
928
678
956
623
913
639
208
92
916
222
451
285
95
509
543
519
456
966
853
556
672
175
506
629
218
155
583
501
468
133
870
80
361
436
67
610
905
397
462
301
51
125
796
804
888
591
254
211
582
56
372
348
602
261
154
35
329
156
256
73
846
39
107
185
793
702
785
345
401
464
437
636
418
225
188
356
682
648
12
244
580
174
544
5
588
218
639
363
339
9
248
927
51
321
925
166
188
978
357
12
103
885
472
371
499
207
145
401
699
589
622
484
597
858
649
15
287
752
126
168
324
90
579
466
820
697
904
195
90
203
877
305
661
646
291
40
267
577
854
381
529
586
892
997
607
945
170
440
385
469
877
218
434
120
28
406
916
404
500
951
151
420
150
474
393
214
928
386
213
723
325
80
89
160
212
768
633
878
301
234
856
674
830
336
500
726
683
364
547
773
618
710
103
949
135
371
437
428
871
705
168
500
326
835
158
195
468
397
337
721
375
791
321
88
405
747
476
446
230
762
157
180
31
613
282
993
259
56
327
679
530
337
997
992
584
75
320
879
422
100
753
466
607
502
717
609
67
830
885
133
590
335
432
650
891
78
441
72
706
880
554
693
876
972
109
787
489
194
520
625
513
947
208
335
625
853
130
384
400
349
110
367
81
743
640
375
794
29
740
869
196
538
180
573
906
568
134
190
631
534
189
42
664
728
190
48
321
539
120
102
277
598
25
517
202
224
791
570
526
799
901
584
999
582
294
978
589
824
91
220
77
357
159
573
579
84
446
221
197
29
2
428
762
231
303
950
533
627
176
538
975
56
836
967
988
892
364
72
389
413
592
135
377
178
190
637
215
617
819
831
128
867
471
861
410
373
166
707
347
486
480
496
517
41
99
547
375
824
306
536
183
821
256
61
44
741
199
410
463
416
478
873
840
852
988
686
336
178
321
598
475
764
46
313
732
902
559
733
701
361
880
669
31
731
422
690
758
742
986
76
951
409
489
507
435
752
61
56
148
275
796
503
952
363
537
15
947
556
266
797
466
878
991
296
641
273
355
771
57
869
990
937
16
526
978
703
659
191
471
704
608
42
211
672
391
795
935
761
717
654
82
157
906
905
707
252
77
965
136
181
553
149
273
202
621
374
339
642
836
147
231
804
692
272
729
428
737
571
412
402
483
659
209
347
2
933
216
465
854
55
29
304
160
858
444
945
906
782
968
107
872
880
376
434
534
454
711
297
169
52
970
458
174
285
431
773
24
982
814
505
639
325
796
318
28
918
815
482
590
640
777
808
856
273
229
485
253
884
394
653
494
924
451
567
571
220
614
506
880
236
254
157
158
259
131
860
589
893
910
240
822
958
457
914
939
730
277
949
23
692
261
600
598
967
402
679
27
302
691
272
136
149
767
443
40
519
447
488
965
263
291
172
335
52
953
756
944
421
753
929
221
82
818
15
380
787
769
943
897
920
557
787
235
480
298
646
374
350
368
66
958
387
131
536
700
444
417
330
85
938
184
189
848
301
722
648
139
177
48
689
543
86
77
178
712
502
106
603
971
112
283
165
195
175
536
479
472
353
449
997
324
842
453
661
652
247
141
289
305
616
570
205
839
424
786
752
694
370
503
427
560
378
395
502
578
805
90
309
549
956
105
689
461
468
432
144
117
967
561
597
672
281
729
956
65
458
585
850
429
942
140
573
674
37
795
354
183
296
604
280
178
583
999
885
250
133
249
32
222
765
175
387
75
260
570
41
731
72
474
891
306
297
867
525
871
904
2
673
719
774
202
853
635
190
858
221
649
319
1
954
680
406
981
790
560
598
479
919
130
386
330
735
18
212
764
978
200
296
477
632
74
212
604
262
909
149
421
985
280
767
231
191
783
485
776
180
9
737
292
358
479
593
679
731
111
416
733
112
924
142
79
473
578
351
882
170
905
121
734
584
320
377
211
153
751
847
435
804
120
211
465
379
929
49
876
587
942
98
626
141
684
782
683
768
642
59
614
288
356
785
204
791
267
913
293
163
302
977
60
678
333
390
50
516
1
364
14
160
583
292
321
996
130
593
557
272
883
814
687
945
851
130
764
967
974
542
753
781
321
614
567
878
572
311
996
247
228
922
918
476
795
219
651
945
483
127
190
444
494
994
473
381
270
898
686
615
843
633
61
83
714
97
763
702
18
652
930
166
665
197
126
600
113
990
285
318
762
389
928
600
225
56
372
616
261
726
669
72
937
727
87
862
272
969
125
838
493
587
821
900
904
961
333
472
81
164
438
46
673
973
640
264
434
947
294
140
999
940
745
452
136
988
203
50
411
436
984
512
38
227
9
900
289
524
810
68
876
412
861
977
698
620
416
305
932
965
209
238
112
929
325
500
646
773
597
22
128
769
526
161
863
658
140
111
840
549
810
745
416
870
434
273
394
997
605
751
884
343
947
610
51
118
443
608
341
443
568
849
767
699
706
444
55
772
866
778
769
348
954
975
72
742
827
741
13
868
590
24
42
842
5
728
491
398
443
460
960
625
100
961
704
480
182
927
460
929
737
775
286
952
963
650
52
276
147
347
623
958
736
639
549
364
113
537
984
333
230
350
435
419
93
1000
238
55
175
196
755
539
277
897
110
254
299
970
677
696
395
634
290
890
246
922
923
216
969
765
362
644
286
471
542
278
386
862
861
887
11
862
293
642
120
279
946
333
994
59
155
56
150
7
857
720
60
677
794
20
235
574
86
951
134
95
398
774
176
103
968
787
579
37
527
316
631
82
903
1000
683
818
331
389
801
450
461
327
936
554
76
62
844
673
916
789
868
557
214
825
772
855
211
848
346
226
966
259
442
563
576
567
727
785
569
637
875
252
547
990
241
580
331
703
834
295
785
224
945
810
979
625
248
135
298
876
585
883
733
525
441
938
553
406
875
755
106
322
790
462
968
79
321
693
797
68
669
47
893
302
791
498
604
313
752
800
383
566
522
500
863
781
250
82
792
529
464
492
29
556
970
69
958
914
194
788
900
605
642
215
838
555
749
387
134
504
751
911
229
781
204
212
322
923
579
821
430
190
27
786
973
893
600
743
366
201
30
449
759
401
17
746
859
532
973
644
702
215
347
844
384
461
387
914
705
636
994
37
725
556
533
820
978
928
856
461
45
585
150
878
328
776
31
351
244
61
296
362
858
745
733
776
405
304
788
407
670
412
141
311
249
316
963
545
630
717
536
679
842
638
821
98
716
160
656
778
952
683
681
456
881
730
37
507
362
789
40
500
255
853
423
393
342
249
798
116
816
757
476
455
194
660
540
793
77
161
867
615
55
330
128
659
287
299
619
22
209
784
457
689
374
410
473
431
333
928
509
681
813
682
385
928
611
822
775
750
728
616
761
618
923
435
356
410
903
422
614
536
831
202
926
158
366
310
343
677
23
333
747
325
290
352
985
819
2
417
914
945
534
362
230
250
944
767
230
24
764
96
933
126
208
267
37
701
858
56
346
30
682
111
801
570
502
938
964
282
859
300
283
908
581
488
407
6
474
218
75
379
669
397
231
47
256
196
802
14
445
253
487
779
892
784
638
867
698
206
879
391
627
917
367
370
662
189
453
149
275
543
486
622
621
244
665
849
982
598
963
689
910
464
328
593
773
917
724
775
861
268
640
634
955
127
893
926
604
687
168
252
678
117
196
454
913
317
426
774
337
909
399
386
721
20
106
336
860
470
181
390
318
419
976
101
846
24
319
788
832
344
319
949
472
112
870
613
631
234
649
637
383
818
997
504
707
64
653
959
861
370
206
781
357
270
755
736
840
860
884
594
926
904
970
651
805
898
808
348
330
489
34
770
77
966
79
310
465
750
965
947
358
130
309
979
950
20
253
4
435
140
486
253
584
629
592
337
580
945
66
194
456
30
840
1000
33
912
43
709
343
527
959
533
171
569
804
520
390
901
651
30
516
772
367
571
4
268
649
434
414
385
121
71
880
264
224
533
127
764
386
363
877
653
107
209
171
812
211
649
402
279
892
45
92
883
145
543
444
363
344
864
732
318
990
18
414
268
828
840
923
911
460
634
718
437
876
684
531
875
739
621
144
628
209
806
752
422
204
891
466
810
377
825
576
639
977
257
258
255
40
62
320
4
692
359
283
785
754
295
144
440
345
396
241
639
279
334
608
745
326
930
135
786
549
999
663
445
265
6
68
430
264
620
391
679
414
972
949
309
871
131
915
350
123
850
435
988
487
607
140
380
287
537
517
339
289
720
897
40
843
1000
59
783
300
181
842
271
749
987
74
175
250
216
895
683
719
928
84
988
926
617
5
599
615
600
431
65
417
544
320
419
541
642
639
209
399
675
476
678
296
278
328
654
524
403
204
119
678
561
866
549
528
942
594
64
469
763
170
172
409
395
697
465
795
307
799
304
497
207
337
260
547
6
911
377
957
246
778
552
1000
526
827
42
75
634
141
405
410
813
468
890
132
609
802
584
346
168
110
747
477
619
208
683
344
630
704
396
260
72
246
256
64
70
711
197
508
86
694
279
440
81
961
332
418
349
163
588
391
180
848
147
455
642
747
89
871
585
982
361
980
769
391
997
805
194
961
130
814
877
355
738
430
323
967
335
120
276
354
479
90
960
644
397
173
252
252
995
552
564
862
823
599
93
397
645
800
382
224
27
824
249
5
852
699
599
775
841
734
829
724
2
732
253
182
612
760
251
570
332
239
272
713
164
481
952
360
813
845
219
412
229
988
949
812
432
267
377
223
435
862
770
201
634
924
251
66
661
180
235
784
876
299
370
866
999
347
194
175
850
27
436
268
224
44
615
721
240
718
89
941
535
219
822
777
264
187
662
790
286
3
56
842
631
900
61
596
931
356
726
401
3
119
960
460
476
520
504
642
898
784
636
929
97
379
196
533
96
608
856
197
406
168
734
386
439
726
658
936
139
931
273
274
664
87
679
150
940
277
735
239
610
164
353
391
3
654
164
281
407
185
810
918
95
918
505
373
688
883
867
858
289
43
239
869
4
852
422
40
617
892
152
423
938
389
873
5
170
233
992
514
87
96
677
148
498
349
98
818
693
423
189
423
868
134
140
247
236
690
466
298
71
290
504
289
427
98
615
745
785
565
505
346
706
743
563
167
466
479
495
536
902
231
812
155
581
607
114
45
830
166
67
201
68
341
788
319
357
342
204
464
644
460
983
937
278
917
615
440
494
574
267
801
134
646
603
835
354
575
710
405
804
654
190
291
829
3
957
41
425
330
620
278
398
9
14
470
507
224
644
967
981
720
508
229
810
519
330
329
596
750
882
535
847
594
417
777
230
543
430
718
42
887
299
419
377
855
739
244
911
958
807
781
714
107
578
362
155
602
779
196
42
851
851
231
879
86
657
306
569
690
554
986
418
874
161
59
152
799
490
452
343
450
420
173
818
488
503
318
596
400
334
462
701
954
193
273
284
251
996
100
864
503
490
968
642
696
323
462
327
269
12
228
982
537
395
849
104
917
659
844
100
989
925
42
836
809
939
956
433
87
138
510
326
157
305
744
197
316
787
351
20
679
274
897
584
894
816
307
362
196
980
953
421
853
814
139
85
656
474
164
582
745
669
714
228
525
920
924
72
930
688
78
451
738
765
837
114
407
466
968
656
889
440
13
231
886
272
276
700
33
495
295
84
788
965
792
730
581
518
46
799
498
63
187
84
806
890
438
513
361
885
732
293
477
491
523
479
528
378
241
998
868
951
37
47
852
372
462
411
194
714
50
483
50
731
771
644
458
227
540
430
398
864
824
492
140
357
391
41
882
535
519
458
977
777
444
231
162
485
260
953
479
332
639
848
504
672
94
489
274
827
49
77
744
391
662
568
657
782
655
737
292
663
326
100
818
458
74
877
1
996
528
911
148
982
950
45
100
807
898
497
494
300
706
504
589
892
570
69
918
93
660
301
373
106
384
211
802
511
229
424
389
243
219
18
160
714
171
88
982
489
59
240
951
396
762
465
822
133
77
991
547
328
636
422
988
12
619
571
283
315
173
297
518
340
405
110
951
966
157
432
744
972
623
802
732
981
736
61
770
814
961
146
267
259
979
962
385
715
10
389
207
923
629
72
769
496
419
104
553
451
783
317
733
989
296
204
838
648
771
572
733
1000
167
8
751
548
254
871
296
353
434
65
390
862
157
927
298
220
913
758
542
954
786
402
542
955
864
332
763
938
224
898
763
682
193
128
766
344
59
30
924
29
783
252
739
35
627
218
652
975
692
288
605
263
642
894
240
15
444
405
165
423
870
651
203
652
348
317
844
524
731
587
487
680
918
454
527
491
416
201
767
84
58
820
657
137
807
146
936
939
169
536
920
319
374
714
740
883
716
103
178
351
51
341
521
919
81
122
647
744
753
571
131
367
335
934
228
712
168
254
586
127
407
705
985
704
768
224
692
747
927
299
188
83
75
66
362
158
320
242
899
845
578
311
488
490
991
837
418
489
624
73
371
49
938
885
530
786
84
991
42
105
182
151
14
692
633
836
154
978
73
175
994
60
897
353
102
722
56
618
29
943
261
834
710
490
878
308
478
834
711
991
886
661
852
666
424
175
807
823
497
263
459
980
739
413
973
569
616
77
958
554
860
698
997
968
968
688
684
774
552
465
682
726
397
210
22
231
832
54
437
139
327
853
560
694
152
98
968
797
247
527
465
122
959
191
79
432
582
497
965
710
348
164
890
744
259
581
194
130
103
237
238
768
782
53
373
758
632
632
657
179
20
564
792
172
432
20
803
827
547
210
785
863
457
162
772
527
951
227
216
349
781
442
699
143
366
741
16
415
760
343
884
193
254
140
569
496
999
463
249
46
392
106
231
962
861
226
232
90
338
37
399
725
302
589
87
312
442
355
139
528
214
674
676
228
885
580
319
993
127
854
183
506
293
778
38
796
92
472
775
449
895
175
211
835
20
384
312
350
378
425
813
969
294
82
730
929
530
918
117
358
606
441
592
546
612
410
33
173
435
294
980
846
152
941
461
34
606
400
305
926
840
811
157
920
896
771
787
833
386
129
344
520
287
511
973
301
231
341
757
669
454
631
874
972
885
496
602
132
804
535
493
644
644
447
333
761
957
785
373
207
991
313
229
829
224
88
602
870
336
344
288
827
969
943
751
771
34
797
821
464
471
352
840
832
982
100
974
661
350
25
199
159
287
365
344
754
841
772
997
106
393
197
50
398
51
193
864
698
15
658
782
272
749
787
544
634
958
888
669
306
203
453
946
854
964
419
285
758
111
743
5
629
236
274
28
380
426
838
421
830
474
188
381
448
219
677
98
137
292
767
832
515
910
107
677
862
985
725
909
27
818
297
785
24
412
185
935
273
33
953
969
608
364
118
261
136
864
430
226
107
639
68
35
461
180
799
308
716
6
902
827
924
870
310
700
317
525
411
568
364
22
333
295
131
945
506
487
897
152
143
842
419
34
412
898
569
237
992
847
503
885
844
488
824
107
378
923
769
500
982
308
800
72
133
845
342
263
899
490
620
721
863
321
324
728
606
452
141
341
390
602
539
426
252
951
904
716
138
883
331
381
331
72
438
142
735
437
263
820
907
457
164
847
186
91
781
659
936
689
462
437
725
380
125
411
832
910
544
854
467
856
190
426
200
630
618
528
717
435
320
489
95
813
604
834
51
672
680
210
615
412
627
486
273
404
35
920
657
775
141
49
484
229
987
65
781
704
497
412
271
413
700
229
200
878
690
860
336
177
552
103
661
901
487
921
418
454
211
71
213
439
641
23
719
704
456
302
983
142
509
826
659
180
504
874
587
719
983
301
461
875
847
371
284
561
233
392
656
548
743
696
396
104
502
164
796
281
759
858
270
584
641
479
19
149
534
929
515
390
47
801
815
97
378
434
841
196
310
990
798
396
470
271
412
937
907
170
351
647
902
65
755
206
485
150
714
302
945
16
210
460
865
90
908
817
885
186
349
708
598
133
577
52
597
651
93
176
532
518
517
654
491
464
620
5
597
427
277
222
593
324
94
644
726
280
25
981
441
550
853
965
207
130
691
530
541
170
897
476
278
435
193
932
817
619
498
812
910
221
328
625
937
99
55
977
340
793
888
134
274
880
901
197
688
463
810
593
794
457
322
640
797
771
879
469
196
93
713
246
561
321
779
531
546
517
315
655
27
968
589
583
226
914
981
64
122
452
40
782
455
984
342
303
543
663
331
711
297
584
271
573
72
287
397
755
367
307
906
486
877
115
907
982
807
837
203
85
869
50
643
518
108
791
24
332
184
487
923
95
826
214
264
734
150
558
414
61
56
843
723
881
360
160
902
660
656
188
243
518
672
834
746
230
624
414
828
72
567
277
218
576
520
741
732
663
840
951
761
618
440
476
86
913
756
163
620
724
750
882
881
596
884
289
324
649
510
484
777
492
45
795
501
236
550
973
790
273
583
443
487
838
830
500
133
361
623
785
152
686
71
587
274
727
274
187
864
964
695
529
811
969
512
547
67
614
162
127
220
745
666
859
755
520
638
594
652
499
859
40
658
725
580
295
770
127
360
378
988
474
729
124
646
52
995
639
545
281
247
583
137
81
236
456
917
728
285
770
571
50
60
236
239
367
864
874
26
41
347
324
354
509
12
163
685
992
544
321
539
473
299
668
563
20
320
794
316
329
83
938
374
68
318
219
826
963
497
910
455
731
57
483
763
184
265
366
151
793
973
876
888
359
798
176
469
937
104
418
895
38
88
8
668
177
969
784
547
222
37
428
648
365
96
113
385
207
644
347
660
360
195
113
538
928
478
144
265
59
450
470
10
181
568
605
664
367
109
257
284
765
179
462
216
257
842
979
445
753
6
296
259
529
584
310
574
975
334
818
841
21
906
47
24
504
525
727
594
754
480
73
200
244
217
537
720
354
598
38
665
189
855
724
386
615
267
436
498
510
95
843
847
739
835
751
489
685
196
353
125
94
929
66
339
950
832
827
41
701
689
424
493
697
125
156
786
887
973
83
285
392
594
294
233
109
964
752
676
496
679
274
353
888
970
611
313
975
121
427
7
178
511
648
731
113
998
371
719
982
790
51
367
15
806
298
924
349
328
992
211
172
408
243
748
730
826
471
793
1000
852
574
480
547
493
477
972
874
879
207
65
169
803
632
244
951
557
933
340
623
235
989
229
848
500
277
928
516
271
189
188
8
877
25
298
835
295
889
838
932
746
776
81
206
858
549
263
139
175
864
472
127
497
344
397
632
728
94
968
720
599
176
359
339
146
352
339
414
324
390
833
335
970
926
508
24
717
526
224
317
890
249
862
365
209
489
930
632
599
94
883
701
741
934
281
343
553
219
585
477
40
905
687
714
98
243
315
945
841
31
537
459
63
428
586
94
917
133
426
145
885
702
167
177
469
561
740
558
362
713
42
275
614
168
530
895
351
538
808
475
455
299
529
285
456
930
153
359
193
726
746
882
695
563
866
812
390
286
977
99
649
572
967
240
629
914
942
778
273
336
640
328
36
944
44
756
914
57
637
99
199
994
78
847
986
318
987
697
771
371
378
596
232
543
322
673
724
901
402
666
349
999
607
343
680
509
27
138
370
847
329
11
965
683
259
425
497
579
1
445
860
292
781
77
306
665
179
47
745
439
173
904
432
745
242
960
726
449
1
495
845
893
325
234
506
921
694
223
713
360
161
79
243
313
93
140
604
501
935
626
168
47
384
213
893
858
92
382
537
42
773
638
860
88
879
569
307
343
640
248
736
989
164
404
48
909
69
644
189
886
628
292
407
863
588
81
939
781
978
479
473
952
17
168
208
940
678
561
249
166
606
476
857
907
766
493
466
515
396
65
140
188
742
747
730
140
856
445
27
265
594
789
175
486
800
104
993
996
117
48
882
184
704
419
133
863
473
540
941
891
275
545
623
282
852
999
496
506
841
550
529
305
343
794
8
717
39
5
719
689
442
336
304
335
751
143
893
433
636
143
561
265
129
338
207
96
230
207
989
883
542
212
70
352
988
72
849
605
46
287
47
890
187
451
338
632
163
672
111
270
816
614
547
819
702
646
613
733
903
230
560
145
521
882
263
872
163
967
659
802
544
369
961
460
528
529
348
739
237
316
838
763
659
260
470
781
183
873
505
36
721
142
134
825
650
970
601
440
801
376
179
249
414
67
245
790
239
738
218
792
279
395
669
440
569
621
285
333
632
399
45
181
996
154
889
157
588
40
799
906
916
826
896
997
198
274
976
913
954
998
868
617
442
195
381
363
363
911
641
772
334
122
920
441
43
908
941
488
643
734
114
676
246
664
709
450
548
936
832
934
95
654
949
755
74
384
687
802
847
351
909
779
495
635
160
675
97
439
729
276
285
649
981
171
566
359
809
133
247
416
594
122
377
885
300
875
196
507
959
304
812
513
814
732
947
884
416
990
909
624
817
49
656
533
38
361
798
326
476
457
412
216
564
439
831
955
157
697
891
722
527
248
322
147
310
121
275
991
874
851
266
985
643
759
556
87
209
646
782
85
610
311
362
690
723
716
997
290
173
71
483
790
322
195
29
487
34
294
241
106
802
688
685
533
857
841
287
389
822
451
565
83
159
988
556
516
226
605
593
537
373
552
597
384
518
394
8
677
157
100
99
208
60
445
543
170
333
67
354
650
568
188
158
950
886
431
498
915
879
603
396
190
174
681
976
610
950
8
335
85
78
105
516
715
666
983
410
295
241
422
70
779
458
376
79
969
6
973
828
855
227
636
654
105
303
853
321
607
23
819
922
358
501
92
525
401
976
502
326
121
30
597
706
533
378
705
506
24
416
139
145
57
679
889
616
44
425
271
482
365
740
758
453
911
293
92
406
584
390
452
197
8
145
80
977
481
560
311
412
157
96
17
830
72
288
667
184
583
415
750
889
897
675
258
905
481
120
93
544
801
714
32
695
249
154
787
617
609
446
617
324
529
173
64
878
224
55
950
423
79
417
278
662
335
796
268
134
25
386
500
566
469
455
430
170
629
67
242
706
638
234
83
705
755
888
680
609
789
538
398
558
324
183
410
715
363
196
218
548
264
411
67
704
56
428
409
212
780
546
668
968
834
904
827
415
468
566
42
883
408
938
1
390
239
86
220
4
872
72
500
589
469
977
790
180
657
496
818
276
811
269
347
213
268
574
71
215
839
474
233
398
180
770
15
864
987
761
670
875
590
469
932
565
134
494
437
30
392
171
108
327
210
568
420
863
51
937
155
392
292
976
266
259
985
429
641
774
499
683
990
974
368
520
817
75
769
700
231
406
347
609
110
727
221
69
245
251
942
708
433
917
386
998
253
454
230
285
82
920
98
492
731
447
644
964
17
510
843
27
732
730
714
871
235
884
81
119
42
567
767
363
684
448
796
882
326
378
243
283
179
238
259
114
323
125
941
222
844
986
571
645
356
827
98
814
876
825
793
168
83
720
112
724
527
804
237
775
187
702
820
817
919
917
461
701
213
49
689
319
114
154
506
209
895
722
726
745
554
146
385
33
66
977
593
601
505
42
457
322
580
578
643
449
122
27
370
25
279
557
443
352
80
119
309
637
791
225
623
944
814
29
324
972
462
595
469
280
299
440
142
887
824
314
314
529
540
572
338
986
539
324
824
535
770
708
373
192
670
151
572
976
33
49
779
761
399
999
668
869
288
896
971
564
596
649
744
766
602
549
182
182
595
492
373
738
866
831
220
489
464
100
660
328
155
48
287
236
951
668
875
881
250
465
728
219
348
175
869
205
186
993
598
199
823
15
762
571
813
657
387
944
518
805
808
368
306
218
978
863
663
6
532
430
622
735
115
405
227
845
699
348
743
356
538
886
99
599
835
127
595
636
949
352
226
24
833
543
73
920
828
345
363
59
883
375
162
331
858
792
728
329
315
223
938
50
813
399
991
233
940
430
216
278
598
549
135
394
643
214
344
211
686
332
428
976
360
709
619
302
191
438
526
864
665
752
532
888
195
26
667
999
215
19
119
134
409
300
326
539
216
292
602
537
216
278
431
898
485
117
400
52
589
976
571
673
74
445
445
407
748
476
116
613
960
43
847
826
678
871
990
562
186
125
395
382
500
205
126
589
177
716
669
162
217
663
847
19
610
309
46
382
162
297
165
539
565
841
348
321
575
614
812
884
359
757
407
634
738
355
669
908
212
943
478
20
312
870
782
390
270
23
600
577
793
288
540
909
496
276
581
789
986
382
895
632
716
49
135
359
618
539
730
475
734
469
923
370
527
830
396
127
571
135
487
389
78
103
899
162
33
110
291
767
307
451
327
774
337
669
382
49
409
46
495
416
738
162
318
554
816
768
337
839
814
594
691
718
711
127
23
333
388
385
261
630
351
547
722
803
280
378
227
782
374
192
237
1
656
772
23
121
952
519
784
586
486
602
132
523
950
330
235
340
178
29
311
555
986
138
421
122
566
945
87
936
688
250
385
546
983
275
668
68
431
492
155
457
734
264
480
405
136
557
316
39
366
788
865
519
772
842
109
289
181
58
152
690
886
978
254
848
144
930
663
583
747
334
8
225
656
564
322
295
281
322
505
550
609
220
740
806
754
210
477
620
253
730
440
743
262
545
215
786
435
325
319
201
520
204
799
832
873
100
8
886
30
858
757
662
16
462
187
359
702
548
770
608
272
49
975
886
328
951
520
577
125
878
631
129
239
922
920
185
242
101
188
207
971
48
693
413
902
472
719
754
861
406
769
174
655
699
563
942
270
54
988
368
623
657
482
159
206
244
591
821
624
262
170
184
271
872
986
71
955
58
506
243
114
232
626
296
142
306
606
162
473
923
682
456
435
691
196
910
469
297
5
975
897
943
813
532
361
76
981
970
74
469
710
394
823
358
989
182
478
765
773
574
966
557
788
930
233
705
781
482
573
515
514
799
172
807
442
560
235
41
62
76
57
200
633
283
881
878
947
896
509
44
325
672
734
745
120
277
515
626
936
998
964
866
148
257
316
965
739
998
407
328
471
551
428
157
771
789
252
574
976
224
479
173
298
708
267
937
536
190
243
99
872
989
946
335
622
474
69
603
395
918
912
175
214
598
141
862
472
903
489
560
700
976
696
413
847
990
694
571
966
654
182
867
623
126
407
743
473
284
473
937
809
908
108
585
661
746
494
372
444
327
259
180
635
583
856
190
627
439
633
794
367
734
694
769
766
692
360
698
952
283
315
758
5
861
310
518
848
922
169
98
784
906
187
343
531
259
795
782
353
699
445
478
538
509
741
63
149
981
535
679
34
818
256
741
131
313
599
845
749
78
996
413
598
248
181
857
872
826
919
389
781
204
500
126
165
305
973
450
656
671
828
657
200
708
794
327
492
427
764
97
421
860
241
518
25
752
518
184
959
496
633
948
196
684
670
584
585
279
757
641
847
79
617
921
826
820
732
439
241
762
770
147
786
530
836
367
589
585
759
267
604
530
305
653
479
149
664
224
968
19
434
791
53
108
909
185
547
880
731
781
319
528
136
858
37
84
250
827
110
48
699
423
774
565
239
551
912
535
34
321
286
370
22
222
404
889
29
338
311
198
962
761
112
837
181
910
888
490
425
787
560
983
824
193
795
225
279
535
225
654
935
859
157
646
74
99
667
962
684
673
223
68
610
711
749
623
529
422
804
137
214
681
830
229
581
886
75
615
307
51
993
212
994
108
865
120
4
191
234
821
723
584
439
47
237
439
302
659
769
509
259
95
996
300
491
193
168
33
131
893
873
558
627
410
671
419
718
622
556
806
985
190
222
435
624
143
577
215
678
458
782
980
58
491
185
427
807
773
970
912
646
661
622
678
6
328
105
877
954
374
713
496
456
224
334
583
595
749
554
229
374
875
693
785
122
687
959
763
731
763
784
475
629
135
564
37
909
898
183
334
691
1000
166
405
965
197
205
968
681
653
908
525
615
616
782
400
624
975
242
693
84
659
867
201
176
673
368
378
347
55
560
222
956
875
320
568
738
928
154
86
415
394
947
533
286
753
302
238
905
383
405
494
428
710
939
376
637
784
808
66
242
689
671
69
506
341
305
876
971
700
428
42
97
427
435
873
576
808
305
647
233
383
434
589
338
737
767
491
830
400
27
419
733
47
60
361
796
464
866
573
46
119
480
962
61
925
232
99
652
7
958
124
794
56
446
492
806
714
781
421
197
833
551
774
993
850
490
52
117
69
55
393
761
253
288
287
987
186
348
624
495
990
428
212
49
35
122
267
23
543
581
648
256
277
500
644
595
136
101
212
728
499
764
452
260
775
162
130
979
874
885
781
247
601
34
706
875
390
878
10
231
28
396
267
250
46
756
822
932
320
50
906
529
378
66
547
382
261
806
824
305
746
916
911
121
493
143
532
434
900
262
63
442
363
820
745
352
150
871
899
704
350
497
807
875
938
12
687
225
1
844
839
844
215
899
287
964
798
615
965
633
409
97
911
445
921
231
242
15
289
789
458
716
469
121
509
521
877
717
963
232
970
247
15
632
641
472
752
440
266
946
783
180
814
395
383
210
752
688
125
79
105
315
468
803
885
124
861
44
222
830
950
288
69
993
34
296
113
952
232
608
463
699
411
505
777
899
871
192
772
334
394
551
425
250
152
346
306
778
495
306
997
827
27
550
322
892
690
39
312
278
610
31
560
262
251
785
19
307
361
269
111
749
294
929
10
186
188
111
584
219
383
811
934
869
978
254
775
328
858
288
797
222
25
369
158
251
3
456
699
43
853
890
680
309
222
996
777
518
274
941
764
111
16
868
494
364
75
970
849
419
553
822
444
15
76
466
480
544
195
773
78
826
397
788
786
891
848
273
60
952
243
111
239
708
389
238
279
756
260
882
946
42
834
419
652
149
219
164
217
545
312
227
437
330
443
472
16
78
899
935
608
665
509
911
361
279
127
398
170
811
787
425
412
36
366
731
651
207
226
647
707
111
686
127
737
713
671
720
534
394
499
333
599
208
976
486
262
465
198
522
964
579
66
934
465
856
258
19
782
895
332
559
263
979
846
742
944
120
77
797
717
595
368
100
156
145
891
176
498
878
753
58
516
12
605
413
306
822
802
900
40
988
207
440
754
134
799
722
683
460
190
825
445
683
693
382
754
65
615
877
721
419
888
710
642
161
799
97
7
566
63
610
699
915
471
397
556
183
431
320
466
913
282
903
329
323
602
465
374
300
714
75
490
909
527
393
410
527
253
505
692
92
200
235
182
731
663
959
865
505
295
24
813
883
573
749
135
663
164
207
976
548
650
628
841
932
405
22
870
644
666
649
245
336
380
388
245
489
310
36
519
391
150
691
670
706
699
820
943
515
14
544
503
401
820
609
1
382
375
235
596
294
3
230
253
353
882
670
663
710
214
846
384
258
709
682
244
249
802
217
197
563
433
936
603
843
353
811
999
902
931
623
952
72
724
110
350
32
168
651
961
918
536
829
200
117
652
608
123
603
342
87
306
492
67
258
843
365
962
586
291
561
544
488
937
163
782
847
166
702
159
195
74
553
176
698
179
653
612
918
737
820
522
873
975
946
769
762
188
174
330
749
399
479
563
967
9
112
269
349
415
77
290
722
519
118
736
208
436
727
418
533
372
661
752
187
326
657
220
785
673
894
773
292
406
54
871
167
733
374
510
110
825
983
835
759
682
979
117
980
962
968
780
394
776
70
760
446
487
864
418
557
330
33
473
141
744
123
656
570
487
83
871
576
496
557
245
623
978
692
733
231
578
145
898
585
151
112
90
71
911
365
983
82
459
764
931
642
654
629
320
690
395
219
485
767
687
592
189
934
759
816
593
918
594
737
861
378
439
572
974
357
989
733
633
429
497
242
488
891
808
976
160
587
646
954
880
459
82
869
205
22
111
466
497
811
441
380
295
836
4
703
761
319
300
403
396
65
277
438
300
368
62
60
75
628
630
195
163
549
408
876
642
891
663
652
196
628
980
567
212
756
929
880
55
274
27
188
843
93
283
303
184
839
343
121
731
460
255
356
796
494
186
625
610
902
547
118
340
361
427
220
329
614
152
878
268
356
518
527
393
167
667
696
794
793
384
189
832
457
948
942
194
33
282
4
328
880
333
121
453
879
692
597
734
354
392
568
785
667
806
91
16
45
991
59
674
12
445
438
927
669
28
460
908
571
1
350
324
715
477
904
728
100
607
144
585
299
933
295
149
49
712
514
305
819
665
412
139
718
30
300
45
430
34
439
702
394
491
510
210
237
636
184
835
277
396
239
208
445
584
311
937
750
743
831
68
698
100
872
610
413
844
16
286
140
46
604
476
839
43
963
191
113
112
98
788
456
999
627
932
458
973
357
740
296
278
705
610
629
231
378
102
462
105
641
743
539
395
76
865
845
159
462
748
511
157
779
601
882
866
283
259
390
754
440
717
330
612
740
709
2
132
920
638
970
23
341
996
906
699
701
286
435
481
649
156
266
842
693
515
317
130
819
153
514
671
239
357
823
588
375
28
650
972
387
450
86
356
658
188
979
342
516
637
5
143
620
50
558
988
960
537
505
718
444
225
860
698
220
651
351
134
893
116
997
333
290
967
661
855
467
806
715
27
968
201
621
292
390
412
256
291
147
629
617
193
702
126
445
36
860
347
384
946
41
58
844
487
198
925
901
301
922
255
702
199
146
711
604
815
736
423
703
481
397
546
354
266
983
687
873
330
141
72
790
364
464
965
626
58
561
336
164
464
132
725
423
639
21
934
377
560
526
169
643
491
488
65
917
79
634
774
793
267
349
220
92
648
337
271
661
735
463
438
493
331
874
321
441
381
775
821
145
846
169
456
831
284
603
704
127
583
43
907
230
227
418
817
705
333
453
169
708
519
137
946
691
281
640
350
588
930
185
726
415
832
916
109
919
425
2
614
142
427
936
985
929
377
625
62
595
886
405
537
893
63
804
290
558
294
645
535
629
627
399
365
975
668
781
418
685
938
801
877
741
749
294
287
385
749
584
493
378
639
199
587
900
730
901
667
383
689
166
334
271
774
349
196
589
42
304
458
777
525
406
702
792
992
228
428
686
272
657
605
188
464
581
861
818
114
643
547
97
566
108
877
783
808
493
398
640
94
159
367
425
937
332
82
251
696
340
590
130
538
861
330
916
741
324
618
755
114
115
480
575
948
29
298
859
294
103
466
206
642
658
750
320
270
411
825
479
528
828
718
889
427
57
146
583
105
492
850
615
516
623
668
800
96
929
497
239
642
637
903
790
765
60
301
922
724
488
847
582
828
878
372
733
978
300
51
278
933
158
928
733
711
138
949
108
833
599
645
991
909
384
72
115
700
439
20
687
25
109
544
517
70
833
418
624
30
754
760
752
716
801
219
397
928
585
277
844
774
751
589
726
115
111
833
693
76
630
237
543
935
8
575
916
423
815
989
347
760
500
34
323
107
987
784
834
61
361
181
473
783
376
377
752
300
925
732
647
683
765
781
676
210
810
689
258
607
196
760
190
550
774
252
844
621
277
978
862
792
466
140
472
702
700
128
128
333
909
856
106
815
500
55
568
340
533
540
510
706
488
654
61
514
159
661
261
807
709
460
222
177
705
971
985
877
414
341
98
934
774
977
557
197
654
203
91
103
306
236
740
84
199
86
381
848
793
315
528
530
573
391
952
987
695
509
139
836
518
49
587
384
610
544
553
821
962
328
461
879
375
736
996
236
469
773
687
562
898
179
950
417
650
485
807
313
719
145
713
637
361
524
13
99
158
119
346
118
666
881
207
931
848
975
236
979
183
435
252
425
639
408
587
137
190
250
208
105
487
266
4
798
881
925
349
753
649
634
53
583
854
676
34
776
649
387
453
907
551
860
162
633
78
336
623
771
1
910
623
810
284
477
708
475
499
356
45
301
245
682
418
314
90
849
55
651
123
591
195
315
681
510
190
293
717
306
752
381
410
523
698
738
383
795
194
504
562
549
768
966
339
525
74
71
497
740
40
195
742
325
250
399
756
243
923
185
348
578
750
766
2
767
370
515
20
271
151
386
121
319
750
613
517
58
603
203
531
214
386
565
70
110
207
327
30
551
84
978
504
322
690
341
650
362
937
403
310
15
321
865
38
792
103
313
420
504
944
910
269
385
447
19
388
612
249
959
447
826
874
237
253
367
610
777
246
231
585
597
676
151
390
859
978
491
14
588
842
251
947
835
135
461
444
360
378
107
59
27
558
195
939
340
430
743
96
592
172
916
338
281
481
882
833
922
285
649
236
758
344
303
169
416
738
819
591
582
782
23
609
72
524
960
227
458
146
553
395
66
452
928
124
158
59
145
43
534
437
194
683
871
54
207
327
929
169
337
961
547
179
861
250
189
832
520
380
694
792
721
679
509
208
401
663
246
1
996
806
240
437
878
588
558
553
714
273
522
133
201
245
283
675
203
825
990
700
647
328
37
591
740
98
216
504
200
418
929
699
60
660
881
867
401
449
603
743
986
844
982
74
703
438
444
843
171
490
64
678
640
150
954
903
552
216
252
639
631
384
124
663
190
404
680
196
132
816
594
292
195
941
393
666
872
380
5
666
40
620
221
536
658
910
737
955
599
49
557
903
469
297
277
595
823
810
784
643
104
496
158
80
746
99
487
132
383
410
551
739
442
80
748
161
464
922
834
576
616
328
992
587
661
383
907
732
871
309
621
525
534
892
935
617
202
469
932
296
643
60
356
584
573
564
643
621
339
766
318
823
233
994
507
191
635
952
641
672
613
594
23
205
784
977
849
575
716
919
743
658
566
490
142
540
757
525
394
874
36
309
398
741
10
757
617
620
721
876
861
326
426
866
891
978
85
140
642
506
312
114
345
513
266
244
742
70
655
221
768
521
333
688
904
911
680
87
73
91
109
255
187
358
755
403
893
994
450
539
766
7
782
160
510
476
68
645
565
832
504
897
162
211
859
347
240
538
245
969
194
459
952
213
629
244
68
362
608
908
323
295
157
870
591
268
771
793
976
727
994
805
693
731
638
457
726
45
518
776
337
464
740
197
964
900
967
842
391
879
713
920
153
962
212
450
65
898
841
414
556
123
587
182
426
373
258
573
996
71
546
410
883
113
474
629
791
606
302
807
183
408
434
907
128
45
375
734
794
528
809
501
769
702
108
917
413
274
345
907
924
890
65
936
412
387
520
903
695
327
795
125
123
759
928
634
788
137
689
471
820
586
431
82
98
145
877
153
893
552
601
406
302
166
514
819
80
995
870
41
857
944
831
274
392
222
216
63
710
139
811
73
162
994
700
496
318
527
731
648
426
328
700
91
388
360
287
521
350
51
891
40
531
931
401
307
382
456
657
4
81
977
109
45
903
772
530
61
534
273
599
592
294
227
964
59
534
689
97
124
57
183
444
340
18
282
877
114
488
174
720
543
666
62
362
598
275
281
48
220
68
575
252
336
871
93
547
466
411
71
373
743
831
506
419
985
394
451
756
764
929
734
898
692
636
971
434
521
961
596
760
844
487
22
403
399
436
695
138
79
249
860
996
844
764
981
150
629
432
942
566
492
5
137
676
659
184
805
234
355
779
217
819
693
53
453
717
289
422
90
8
274
777
565
194
832
219
904
587
536
91
686
319
758
776
80
744
256
909
101
660
991
527
434
992
512
516
856
348
501
535
712
422
72
87
888
109
561
585
647
426
899
833
840
147
865
442
347
685
284
912
854
479
455
786
448
539
869
93
531
439
931
822
419
632
359
573
496
585
185
453
630
7
773
114
129
614
531
931
664
258
670
86
759
786
901
601
494
339
815
417
538
136
340
751
637
677
879
829
290
220
499
204
439
209
979
199
743
358
394
408
435
905
977
582
742
156
956
798
841
637
165
935
824
836
741
185
708
868
966
401
865
283
540
494
568
702
84
719
358
628
781
684
322
581
179
825
119
901
847
593
904
846
274
750
485
710
448
736
30
496
316
744
944
921
984
989
335
130
234
129
581
609
79
295
589
237
407
645
894
770
922
291
767
967
945
840
524
561
772
88
651
184
171
52
442
429
925
753
717
851
74
592
518
956
332
740
494
887
258
643
459
392
246
836
910
179
53
772
892
866
313
434
981
779
518
53
177
798
501
136
321
712
539
190
710
639
249
58
647
268
400
40
266
976
202
281
867
809
599
731
983
506
816
256
801
616
946
160
326
940
80
340
672
673
758
630
667
565
37
440
890
567
559
79
464
441
291
952
258
836
234
87
256
541
662
18
400
972
55
755
312
338
250
157
333
899
197
863
715
751
981
977
182
447
487
290
68
667
477
958
343
388
875
942
236
835
307
369
254
657
913
235
314
654
524
801
473
790
521
461
858
760
606
167
321
28
88
368
619
138
270
740
284
224
41
281
761
444
208
408
800
517
528
842
983
5
591
652
604
803
307
813
771
87
108
351
354
661
91
497
282
956
151
371
867
809
800
726
815
938
464
957
358
936
55
934
608
479
730
751
687
956
450
971
601
166
763
820
691
342
924
535
224
205
588
254
417
202
273
544
869
921
287
78
692
163
194
758
551
329
198
348
673
694
417
55
311
470
278
748
432
602
670
962
988
707
613
801
223
498
777
323
898
857
954
816
868
337
144
716
567
287
939
479
74
410
995
73
39
48
778
295
886
62
313
931
674
218
757
543
529
696
978
370
313
740
24
898
782
208
214
993
240
768
51
388
831
192
670
20
123
284
259
898
60
396
87
762
937
918
785
761
213
239
392
403
635
277
97
341
774
759
118
132
48
771
456
306
40
300
120
485
301
575
279
860
587
580
13
333
97
187
104
321
520
217
522
211
251
595
832
882
598
278
320
706
245
341
635
604
298
901
270
164
832
420
783
622
55
369
226
307
354
912
247
274
82
125
331
256
416
27
939
291
545
629
565
150
866
205
677
278
554
985
588
488
94
275
136
338
632
91
914
736
558
879
157
140
506
614
183
182
179
50
680
551
931
873
16
571
491
652
956
374
357
365
298
994
657
476
100
566
326
346
836
738
535
134
530
190
112
967
781
860
387
332
444
481
361
693
282
866
558
196
801
18
855
794
168
507
176
746
823
385
129
915
459
603
965
257
759
870
52
592
461
730
619
779
925
859
677
797
692
511
216
681
550
584
135
740
58
387
46
522
661
323
885
533
453
870
175
923
547
776
482
68
16
131
914
518
132
748
49
471
307
501
502
840
634
168
201
666
554
20
46
791
302
656
178
955
618
851
24
284
841
254
508
36
235
983
108
650
211
749
102
669
103
806
182
973
390
811
489
520
770
394
121
191
727
225
752
114
743
674
403
129
405
987
256
237
525
850
645
992
18
571
154
732
409
851
41
476
40
409
340
751
792
555
602
491
103
615
94
500
908
427
491
248
739
79
791
437
983
879
537
306
924
687
624
539
499
206
892
815
586
155
449
71
424
975
1
788
133
36
341
961
960
232
826
671
358
124
769
580
463
814
831
13
824
695
914
400
198
414
545
323
435
67
829
259
505
168
576
535
495
263
109
699
719
489
764
613
944
12
895
595
641
401
824
611
168
219
337
444
400
532
80
683
597
840
533
954
13
234
821
773
489
222
742
936
873
884
608
953
456
233
956
472
88
689
946
534
236
171
927
277
203
488
170
901
926
526
253
489
469
161
341
464
711
549
440
248
151
291
979
27
44
53
89
326
554
676
161
201
506
286
155
941
809
79
288
503
382
273
855
288
405
611
146
595
628
979
340
898
442
579
540
198
20
457
546
118
183
578
743
785
665
539
870
267
179
669
567
363
643
366
722
462
261
941
114
629
795
285
449
881
895
264
684
669
26
155
159
103
567
623
889
783
985
448
939
157
644
537
692
641
283
460
93
389
911
18
935
85
894
580
651
838
611
693
999
865
314
512
98
215
188
978
170
942
750
412
249
568
714
973
439
150
267
440
74
138
68
718
814
791
539
177
629
233
130
155
735
164
96
127
571
948
340
244
595
251
899
678
107
874
885
231
317
34
166
850
96
693
937
26
993
854
850
266
25
557
421
322
30
156
835
697
586
478
309
259
94
408
677
31
351
830
131
716
747
544
565
733
72
461
275
777
648
83
172
545
358
413
664
887
329
917
339
920
444
272
912
431
404
909
578
320
997
895
543
209
252
8
673
520
26
138
51
471
173
347
764
728
927
592
738
539
102
548
164
193
720
453
52
445
562
98
494
817
976
199
86
439
947
54
925
809
880
362
750
797
322
578
996
685
580
283
13
973
281
448
57
958
633
542
949
132
95
604
260
144
382
171
93
241
418
887
35
130
85
74
827
508
55
978
396
925
891
612
756
624
824
592
238
612
228
886
183
67
274
826
216
844
638
559
294
831
886
628
484
491
287
579
308
321
957
902
978
458
49
421
473
865
148
952
744
831
590
220
168
224
614
504
564
382
143
368
952
372
350
560
985
228
316
579
368
688
384
27
132
228
600
825
164
276
585
726
151
62
287
643
599
61
700
572
644
835
294
368
348
162
484
181
168
873
968
515
334
364
218
195
73
247
470
605
17
659
436
721
727
718
573
763
548
39
105
89
316
399
732
299
241
92
133
568
944
500
975
853
757
736
936
313
538
25
721
566
804
169
156
788
653
189
959
846
983
481
287
353
385
687
703
816
327
381
253
578
148
207
435
227
166
693
423
206
869
714
217
506
15
521
37
788
126
573
402
456
617
101
35
762
623
589
828
205
780
658
100
881
702
658
557
364
56
335
45
782
895
465
281
145
725
183
946
718
1000
559
869
46
768
40
702
349
158
53
653
39
390
662
813
878
29
731
892
106
135
195
589
129
586
915
102
435
74
908
677
469
418
703
64
24
246
538
906
546
835
55
232
205
294
996
871
321
465
541
3
159
343
335
22
336
559
768
704
179
156
379
498
273
154
474
826
281
398
110
626
396
707
414
552
622
378
932
407
198
760
528
260
285
331
594
653
224
677
607
309
811
416
746
448
656
927
402
660
213
212
153
641
662
87
893
432
731
394
196
543
279
149
871
761
414
968
950
562
110
522
721
95
810
565
272
842
343
332
539
406
824
97
672
359
373
547
89
742
109
697
159
50
14
869
463
781
222
922
504
988
275
665
766
281
9
337
322
794
664
245
740
906
542
816
542
611
787
922
614
478
213
459
889
232
384
484
201
964
300
366
135
277
853
65
255
923
327
558
421
619
578
929
938
730
129
672
695
754
945
757
816
362
16
628
770
506
333
822
236
729
54
315
205
41
547
616
369
483
522
837
140
397
78
190
53
181
256
617
211
884
767
814
465
206
815
628
517
676
507
690
132
99
919
213
22
747
575
732
241
603
520
190
636
590
504
559
695
438
809
920
913
852
792
653
735
856
233
28
660
639
755
786
508
754
406
683
876
936
956
819
105
978
811
613
798
632
220
1
860
250
727
425
308
801
611
712
295
580
159
509
246
392
642
243
430
30
925
350
281
923
974
179
479
536
730
224
670
423
504
836
578
487
953
559
201
169
314
262
760
347
497
787
581
371
318
340
97
482
635
73
606
383
963
297
801
615
281
883
321
701
822
99
577
321
563
452
129
335
440
110
940
867
155
278
817
774
205
907
848
203
180
36
307
619
137
264
824
597
567
236
841
699
74
638
228
112
662
72
65
183
279
238
816
283
351
222
219
348
954
912
487
970
992
146
497
970
202
97
96
375
627
947
537
570
578
330
363
454
135
200
30
937
936
772
211
809
69
583
528
534
92
759
313
218
978
876
29
361
837
977
991
708
161
573
681
64
742
190
511
272
129
56
145
744
835
197
415
284
810
343
837
479
825
729
842
427
375
870
227
351
582
525
737
705
480
618
829
67
800
854
349
94
97
922
2
36
847
86
515
722
588
504
84
430
868
779
382
245
957
326
317
6
267
181
458
934
736
566
349
364
980
223
855
219
49
805
912
349
951
306
76
738
126
680
981
343
731
37
812
132
347
715
172
944
200
308
281
105
69
566
986
157
875
332
485
519
529
712
377
247
896
480
316
603
921
954
840
45
254
431
381
828
302
570
141
297
713
667
191
280
391
553
190
108
821
732
880
632
158
49
866
141
651
957
666
69
314
495
457
748
505
83
347
755
878
666
331
587
234
298
415
319
44
105
824
71
968
125
789
69
291
833
645
973
53
826
845
199
57
570
769
127
123
140
177
706
782
597
207
664
651
57
741
708
254
171
237
213
501
52
774
610
884
882
87
36
215
937
356
603
950
348
511
796
92
339
719
180
568
558
589
907
824
205
819
51
225
232
551
936
854
152
302
241
978
452
613
289
718
587
359
942
859
270
506
699
105
185
879
643
670
61
730
454
96
509
995
866
228
282
939
649
283
682
613
998
729
815
526
774
838
161
58
997
776
739
756
667
992
522
227
970
525
918
883
382
703
820
514
606
518
37
215
363
374
254
532
935
807
322
635
993
907
880
482
724
163
458
489
678
385
601
873
611
689
921
183
365
453
457
430
886
272
963
664
470
720
823
108
522
476
882
673
974
266
906
636
729
679
218
990
280
916
705
166
528
912
329
914
578
366
396
255
230
361
227
288
875
8
103
289
803
49
212
711
501
755
87
697
185
818
6
337
954
912
467
670
975
65
243
287
346
987
876
135
438
718
432
620
914
574
51
405
901
411
28
286
76
931
245
597
995
597
469
719
514
671
265
493
381
817
233
480
461
846
499
11
509
931
848
819
110
645
504
706
709
491
618
58
499
22
157
465
753
933
140
207
973
627
113
841
646
926
494
628
139
743
527
369
406
730
876
501
386
747
428
953
174
714
717
445
954
512
13
765
896
685
167
384
837
666
559
469
8
510
99
387
166
467
45
953
878
703
614
144
227
321
838
466
679
215
439
29
275
990
473
527
158
582
847
989
982
218
345
364
787
936
442
101
447
450
764
981
196
758
952
534
391
15
467
661
747
365
709
939
918
622
803
11
962
487
866
404
712
643
907
183
28
82
983
235
630
877
947
729
659
826
638
579
66
473
284
913
403
254
515
177
117
634
275
804
409
438
551
553
605
313
264
378
894
997
144
230
209
247
160
82
467
560
167
29
996
576
992
174
404
571
157
694
439
382
261
277
127
106
808
689
526
839
85
912
682
224
679
224
34
79
307
151
229
633
393
611
970
974
206
997
239
714
543
571
669
451
446
124
777
537
555
794
569
658
754
639
242
402
426
226
138
553
828
674
279
722
888
299
652
425
881
86
40
463
946
751
216
975
728
436
479
744
947
215
387
229
666
648
760
332
664
110
50
315
390
99
3
609
905
498
624
690
639
179
659
868
438
413
205
637
189
659
698
774
304
291
877
519
209
884
953
340
977
417
375
466
494
394
292
603
362
813
282
288
537
223
600
774
447
672
802
337
498
786
588
24
892
834
287
617
897
945
401
247
295
633
785
120
369
313
379
868
238
717
350
782
189
843
990
319
975
879
998
61
635
17
664
233
103
517
308
499
416
74
231
261
329
611
670
362
936
319
477
473
572
561
530
475
915
123
173
213
919
757
752
352
35
676
637
380
949
420
615
118
241
795
931
755
630
132
189
55
316
954
918
722
3
151
738
706
29
412
987
577
949
909
276
39
353
226
475
745
741
312
487
911
971
169
666
516
983
160
710
930
821
514
117
229
144
272
968
337
811
220
54
498
413
707
99
115
713
867
715
22
927
515
540
475
152
794
523
937
818
348
894
893
361
536
699
87
21
550
823
339
768
969
537
329
177
909
554
996
652
468
781
688
973
837
568
766
707
74
99
229
90
105
613
858
14
696
948
809
505
219
670
219
186
833
84
182
39
239
507
731
855
561
159
822
300
389
183
463
502
164
660
375
758
943
585
431
553
523
678
389
987
897
894
860
457
759
340
40
223
981
911
508
633
470
715
696
768
909
855
500
477
963
185
665
159
413
679
161
164
498
652
8
682
920
594
951
578
378
574
152
295
810
55
476
839
411
792
870
709
255
960
879
799
911
590
921
913
279
432
804
32
765
780
409
252
690
804
234
726
43
179
411
474
450
483
64
962
513
675
533
66
773
853
326
792
675
441
321
785
624
397
207
30
112
515
667
794
873
274
226
392
319
814
636
333
58
583
71
621
803
898
381
690
590
373
809
514
169
32
555
460
109
337
394
351
143
754
478
240
500
675
504
511
13
802
950
562
131
524
820
789
432
116
361
788
363
304
335
906
331
634
521
593
468
19
365
404
50
701
580
867
168
578
575
641
835
569
409
675
185
131
969
299
428
924
562
66
659
645
490
669
112
667
662
696
742
477
145
819
965
353
636
662
142
173
61
397
570
414
626
139
898
359
348
314
515
226
607
14
199
842
398
514
518
467
872
789
331
713
93
687
142
608
8
433
629
835
776
861
421
492
983
953
201
601
228
22
786
275
729
931
617
576
271
358
403
238
827
967
998
228
899
442
571
377
966
369
418
185
899
712
395
760
342
84
948
358
467
271
674
938
912
885
632
570
269
509
626
758
495
744
463
89
285
535
662
779
946
995
452
965
856
700
952
365
621
707
763
302
178
782
890
655
691
882
414
781
72
972
341
217
612
845
185
410
688
742
261
215
840
311
498
751
785
96
524
710
311
321
319
1
447
939
794
23
94
89
535
648
89
640
733
744
382
317
972
902
334
873
475
717
84
171
164
701
636
942
72
768
405
757
799
734
611
828
9
474
95
16
601
238
763
831
369
322
726
323
539
336
101
628
57
853
86
269
477
686
29
949
9
152
835
805
517
554
138
40
80
236
241
758
482
723
612
720
27
879
454
161
640
804
988
2
410
511
247
327
783
487
704
935
447
154
992
864
588
565
265
556
485
465
56
277
159
343
397
910
681
574
463
296
639
432
663
749
637
169
145
768
826
989
452
933
134
736
437
81
505
871
493
54
158
922
63
892
148
924
885
593
800
426
642
627
234
376
180
472
663
55
824
930
659
378
892
623
296
595
428
409
14
78
425
314
619
134
257
952
626
145
145
433
931
918
882
897
946
466
786
193
111
1000
11
25
871
245
643
554
381
996
884
52
786
503
706
95
914
443
698
118
191
928
766
285
572
239
446
130
36
386
990
361
980
391
377
818
747
34
267
535
283
97
792
689
815
127
618
344
453
3
775
273
773
8
910
574
716
247
677
425
574
802
521
88
234
395
279
53
674
868
63
366
89
152
729
204
486
462
679
120
673
364
591
909
556
427
125
497
162
747
384
684
703
552
491
179
160
463
544
771
323
2
179
379
30
88
796
673
140
382
188
340
277
777
618
479
260
813
926
314
149
746
731
972
832
670
878
109
858
958
533
686
247
922
352
982
510
753
468
482
786
752
707
425
703
910
377
180
758
921
623
716
569
176
552
39
868
601
606
612
585
724
441
120
741
527
772
653
132
689
271
805
903
133
913
808
288
994
599
12
458
690
799
21
177
512
284
927
990
729
552
783
397
431
966
444
141
562
626
39
161
195
178
121
978
245
221
677
210
92
233
624
720
15
439
358
55
272
248
655
126
727
815
213
866
655
424
822
429
806
429
297
182
689
773
696
904
245
169
246
88
457
167
677
77
946
744
393
827
113
406
606
182
968
810
494
872
773
136
291
531
786
35
91
613
48
245
492
901
711
322
401
139
217
289
159
468
933
277
150
795
701
879
791
399
887
333
924
559
627
708
482
372
83
363
189
145
765
84
680
760
594
319
112
801
402
409
11
696
494
759
498
103
643
127
84
840
427
138
471
546
860
145
162
948
115
399
767
550
775
10
388
513
111
69
453
176
29
93
846
427
489
225
836
579
631
466
341
835
189
663
22
519
405
358
512
303
473
281
890
405
564
919
904
985
833
191
686
196
126
900
750
452
742
146
795
26
36
547
297
192
883
332
35
125
388
846
677
505
560
1000
126
733
690
670
832
879
192
907
595
86
525
762
630
222
311
993
656
381
811
552
347
414
556
867
616
256
179
599
218
863
88
377
992
420
255
210
992
292
408
942
207
884
773
507
564
346
812
652
73
378
544
264
430
612
11
112
118
659
241
647
772
627
465
898
830
645
492
795
503
133
799
257
322
426
593
745
218
805
422
450
952
963
856
738
57
675
653
456
904
27
463
19
27
409
858
988
765
969
712
818
319
844
166
425
658
442
421
184
589
903
848
727
416
661
551
247
277
884
395
897
240
553
51
243
365
179
781
831
379
536
273
716
622
310
798
297
959
837
709
1000
46
473
888
66
653
755
211
4
123
759
436
986
882
235
878
456
721
88
538
978
236
326
743
733
954
641
997
192
845
762
544
472
163
263
963
808
452
950
724
888
573
637
563
696
402
57
376
406
838
992
170
287
551
270
673
788
645
2
434
329
722
227
381
505
676
750
680
90
939
27
501
989
590
911
657
494
896
218
518
18
668
930
516
21
573
412
66
176
41
826
805
284
919
195
769
470
590
18
516
619
447
938
920
202
817
887
45
853
281
479
993
671
660
70
902
806
538
696
1000
226
200
485
854
781
246
739
761
857
393
538
68
148
994
698
851
959
772
484
970
587
907
47
607
386
195
853
921
153
592
280
1
234
96
951
43
419
606
875
64
817
776
209
422
991
905
290
163
863
749
514
664
801
649
800
217
354
838
938
427
394
784
690
386
814
283
167
356
911
498
525
862
310
533
541
5
744
970
898
604
765
259
769
369
498
981
899
286
665
861
492
53
847
579
91
947
245
400
57
530
375
201
999
846
50
428
387
210
466
238
840
180
853
674
121
324
614
579
239
485
738
420
514
96
163
118
609
866
144
36
402
780
192
108
929
2
693
520
540
105
616
687
606
364
162
282
55
476
5
125
312
240
6
29
917
361
595
2
583
813
474
694
125
686
3
234
881
629
732
817
532
836
643
833
140
7
125
228
451
364
47
19
920
190
297
341
87
543
112
742
193
584
152
480
22
33
687
900
603
31
639
641
610
46
303
391
328
294
700
157
20
139
700
917
207
986
580
763
558
356
858
79
304
279
156
398
149
976
407
102
743
228
695
95
244
78
190
957
87
913
796
724
700
919
894
234
147
104
88
447
211
94
854
840
40
745
792
874
290
981
581
549
65
316
455
853
464
525
897
729
956
382
314
489
78
300
173
788
307
230
782
213
155
48
206
593
910
372
371
56
888
289
891
515
105
955
181
898
142
230
709
117
444
889
635
45
362
910
999
8
938
500
767
972
82
231
234
682
2
635
747
114
807
987
809
452
413
109
833
864
638
397
466
256
856
446
424
337
415
180
560
134
651
642
439
31
612
430
207
790
712
957
226
41
177
952
689
76
704
102
264
806
144
18
375
819
168
705
878
421
173
465
760
581
613
113
454
773
714
976
484
270
881
668
875
481
1
278
778
258
284
656
374
537
969
285
646
990
575
258
785
571
281
615
907
334
84
686
304
687
550
299
243
471
750
998
443
448
80
871
821
772
931
222
356
765
201
143
834
743
713
950
173
17
8
589
359
756
97
794
330
743
51
899
246
613
136
962
417
866
134
703
958
804
172
665
123
590
241
492
385
18
280
789
185
902
2
784
732
182
89
434
703
943
478
408
161
901
346
22
733
49
694
782
399
438
709
871
285
893
905
105
637
32
942
309
325
489
691
322
320
865
603
981
93
782
580
312
404
994
114
21
622
911
188
339
65
820
304
619
346
139
194
803
819
987
127
559
430
479
580
671
598
332
733
327
772
263
285
636
514
834
415
423
368
197
87
625
698
85
755
92
825
856
390
516
698
137
344
884
254
121
115
16
741
207
573
536
504
660
97
97
855
704
313
578
883
485
809
803
537
769
506
675
517
164
588
433
188
919
562
548
213
387
201
139
625
23
983
69
133
878
500
241
512
197
367
375
962
658
986
481
661
512
186
424
27
697
108
480
208
5
457
464
44
44
868
847
608
814
642
564
111
201
33
524
727
527
943
306
135
103
476
686
9
842
787
587
236
144
644
753
767
265
910
31
697
1000
937
960
909
642
972
783
507
322
951
414
849
843
815
788
918
599
494
962
950
143
838
845
189
613
690
71
326
584
463
707
228
225
846
928
885
992
437
766
715
992
430
84
893
667
250
849
676
908
119
339
515
459
608
851
397
860
15
23
312
988
699
371
70
223
350
91
938
179
817
736
750
333
437
273
30
950
256
74
490
305
719
766
970
200
692
311
131
589
378
418
403
239
440
629
425
806
599
672
947
516
8
355
65
189
746
909
32
281
990
6
440
464
127
494
438
119
763
310
740
249
559
839
826
562
119
996
251
474
495
106
735
721
743
887
731
77
400
931
441
434
371
348
200
413
91
213
228
860
299
203
382
670
123
186
733
946
885
728
394
779
591
645
647
841
573
203
489
723
171
465
580
972
724
414
103
835
127
258
350
515
459
451
413
840
850
678
69
596
547
62
80
6
412
640
450
929
833
110
589
918
877
86
89
622
865
929
588
209
982
636
161
655
406
345
198
734
526
885
64
33
34
388
681
966
668
610
589
787
718
23
147
644
865
15
86
356
893
9
755
778
287
332
105
74
369
173
584
42
809
88
741
538
522
516
326
33
944
861
522
293
383
566
533
915
891
407
722
805
150
256
713
667
931
947
137
181
779
594
737
701
4
14
588
404
822
935
570
517
385
737
575
430
514
509
649
99
497
614
9
224
378
412
210
88
290
326
371
405
617
299
646
926
877
699
984
712
416
242
70
606
415
219
274
59
893
853
901
233
116
814
139
706
976
870
316
530
945
340
374
475
587
229
937
377
611
239
274
626
828
697
78
669
491
642
708
346
353
653
334
361
765
685
6
824
774
628
154
949
236
959
542
423
19
339
68
466
511
996
195
141
42
249
635
11
855
518
401
782
329
439
184
504
863
198
595
217
562
589
533
986
871
678
248
905
521
662
90
770
708
667
481
783
34
579
238
134
395
501
906
268
696
423
125
641
900
645
514
860
744
693
257
477
76
235
217
116
557
524
270
514
102
586
726
14
653
773
21
317
127
671
304
590
681
51
124
222
291
19
801
912
797
996
421
67
798
534
239
330
871
541
995
429
423
965
982
934
845
880
171
840
705
155
656
465
968
307
457
812
356
632
365
614
670
339
219
981
560
497
221
558
618
98
703
362
285
170
881
157
429
52
24
112
675
404
76
85
585
528
334
775
414
541
946
72
545
257
18
951
63
780
223
251
901
277
798
647
300
548
127
509
916
920
245
329
730
565
328
107
336
484
940
351
38
452
356
419
944
461
810
865
78
890
672
402
581
886
836
708
716
250
352
542
801
204
13
977
929
435
425
688
144
86
983
487
643
17
860
285
852
272
330
497
366
519
245
215
72
790
316
721
36
990
56
28
785
170
381
533
855
19
508
566
548
449
520
223
679
18
842
16
496
518
712
33
257
663
300
534
513
861
764
367
8
398
555
366
951
875
263
233
736
638
995
447
926
488
710
104
112
472
643
684
290
229
261
157
104
781
214
910
988
983
391
104
934
247
78
978
453
98
187
363
532
386
263
14
898
117
144
966
100
457
251
746
603
372
195
302
927
302
764
604
62
932
97
889
47
980
298
457
783
602
15
852
239
926
132
691
218
366
697
278
270
727
737
77
271
877
201
752
223
327
689
561
673
546
762
28
862
204
544
20
272
498
158
42
781
487
59
111
21
576
255
885
873
400
985
20
267
969
443
175
615
952
304
445
21
113
359
208
799
746
825
390
40
584
569
660
356
834
275
740
467
598
737
569
957
459
646
908
366
687
472
547
162
716
324
445
330
693
387
767
485
86
227
470
221
632
405
842
534
103
89
314
876
673
244
682
395
697
648
663
214
823
521
764
617
716
313
346
338
80
847
913
693
716
731
854
42
316
197
791
154
311
637
615
547
371
340
679
708
600
532
473
1
282
295
476
133
65
272
898
765
101
878
284
622
65
946
110
562
472
346
817
793
433
366
229
651
40
726
585
811
766
339
936
760
101
489
307
830
718
346
449
777
814
671
130
975
789
839
765
822
707
541
106
664
479
106
442
801
737
748
935
277
183
768
273
25
351
832
729
481
781
548
774
881
590
68
105
777
504
217
951
718
207
278
296
518
913
626
222
802
877
765
904
367
964
634
264
908
782
791
380
63
820
14
670
752
513
825
532
78
98
362
202
368
178
769
528
627
11
501
405
512
636
678
422
785
210
471
134
919
14
914
578
838
721
370
398
116
114
212
225
888
368
617
287
603
804
444
109
349
87
331
166
697
19
834
385
481
429
740
465
765
747
87
631
383
259
516
761
301
409
539
604
711
322
969
921
271
198
77
109
531
937
242
144
529
262
616
773
359
883
402
18
338
476
746
596
830
869
314
923
307
458
393
948
418
294
627
158
356
287
153
386
654
201
520
609
929
106
851
376
896
398
315
765
902
217
169
279
700
408
15
633
446
933
734
267
352
384
45
360
917
223
41
909
76
912
448
789
203
998
187
342
71
403
124
24
536
915
979
953
914
390
907
932
745
298
821
138
977
259
813
85
619
770
58
378
268
820
825
735
185
613
766
969
443
531
2
445
102
677
650
337
412
808
400
461
781
982
177
589
996
802
146
281
691
407
785
184
847
615
381
483
367
985
698
572
828
461
776
565
670
243
906
258
36
547
434
444
99
777
107
258
325
63
659
338
134
60
254
394
384
219
600
232
567
236
405
848
554
52
80
606
78
580
717
372
158
15
958
493
300
543
701
109
410
679
133
652
219
465
710
421
511
861
966
533
505
935
722
630
629
195
739
689
496
747
485
944
878
780
78
818
422
486
966
279
80
94
411
967
783
562
732
281
421
856
143
190
676
804
298
717
261
577
309
556
268
778
686
705
27
240
739
927
701
491
801
525
51
585
942
751
674
473
885
803
260
895
663
354
429
312
238
480
62
354
29
735
514
473
707
121
98
672
572
702
883
321
704
764
101
154
29
113
944
773
497
209
464
386
416
765
50
48
588
483
233
661
979
261
125
509
869
43
602
749
443
489
415
48
819
997
993
378
256
118
720
765
134
921
929
582
492
533
776
159
486
166
824
271
549
906
36
192
599
519
886
430
699
516
93
118
594
782
357
80
5
28
344
106
970
618
724
902
766
550
565
815
346
703
144
268
571
268
109
982
303
727
749
701
195
53
663
785
885
768
613
665
89
206
984
62
919
142
352
540
392
858
572
792
99
474
528
507
722
870
534
76
879
628
768
107
288
913
5
47
642
789
408
127
565
390
807
693
676
561
357
344
515
324
481
121
767
1
825
458
29
325
176
39
59
741
44
694
221
855
744
135
380
613
886
487
307
854
237
464
321
754
784
840
387
706
507
434
692
316
186
791
243
414
273
653
277
501
130
564
129
801
414
19
955
462
421
539
366
503
57
679
90
247
627
697
734
295
68
424
115
620
554
658
775
235
657
155
818
50
526
242
168
474
585
433
294
363
845
851
787
42
928
752
197
69
150
540
620
932
358
150
355
175
158
352
610
553
441
961
588
250
927
535
269
16
491
955
596
221
681
649
817
621
792
551
818
950
528
122
422
783
197
224
934
124
846
127
766
316
752
178
75
18
574
484
57
846
539
996
558
648
535
749
139
161
873
140
479
890
663
385
989
153
325
234
813
180
386
108
498
848
892
452
264
688
355
275
855
440
380
311
83
923
745
865
505
144
333
424
84
534
879
937
344
38
357
19
479
179
388
226
595
196
121
971
563
415
661
116
386
151
362
861
840
846
957
653
544
619
825
763
955
191
940
349
251
409
534
838
97
347
761
124
149
930
6
411
113
903
53
739
441
836
133
922
12
541
397
563
290
51
826
346
359
30
994
691
845
232
746
783
922
918
945
698
973
363
598
811
171
225
495
807
273
254
433
639
454
77
863
414
750
352
836
990
280
478
380
371
551
707
698
751
631
624
345
265
857
983
89
36
759
972
184
235
923
162
431
372
902
943
457
578
231
295
81
675
430
188
444
448
591
595
129
239
273
711
263
782
814
419
976
216
984
942
869
430
264
902
998
173
738
711
325
937
936
399
392
238
11
894
121
16
606
248
370
302
79
349
482
994
475
934
39
252
731
864
736
237
871
945
182
46
629
195
623
423
901
526
164
242
109
836
302
667
716
266
376
99
463
906
639
431
195
793
285
428
841
398
211
271
243
910
776
714
362
5
568
522
830
211
1000
869
215
737
719
753
744
532
131
853
293
670
519
81
534
10
754
844
462
160
713
379
612
244
120
70
703
358
208
9
637
166
950
481
221
309
500
692
842
785
370
14
207
638
706
890
847
4
925
107
204
371
861
749
662
33
671
465
657
13
631
315
47
177
344
830
640
411
356
440
649
623
995
905
330
372
140
887
282
298
240
252
235
242
584
824
903
465
746
886
475
988
410
53
422
633
660
69
144
217
863
878
806
133
686
537
600
933
445
731
280
809
472
351
524
714
899
355
507
518
649
152
598
467
349
88
601
181
902
745
30
346
683
48
715
415
673
194
996
703
729
179
969
676
58
827
982
744
427
640
326
38
698
411
137
117
380
841
777
906
681
566
304
642
977
540
571
503
4
170
823
80
496
121
227
512
208
309
241
490
207
702
403
128
788
707
81
765
460
870
698
155
795
168
570
696
65
386
724
75
71
233
775
481
46
780
126
393
620
316
619
248
811
411
233
78
182
420
643
746
940
881
675
720
28
39
653
608
87
453
124
465
311
337
928
354
575
302
944
239
5
594
701
816
149
856
718
152
186
364
832
166
971
927
827
217
525
603
549
230
357
174
988
594
114
434
612
277
229
386
464
509
433
47
829
632
563
130
6
581
745
845
663
161
483
823
304
595
585
933
278
476
805
678
98
337
275
665
66
924
224
875
775
68
227
840
744
820
775
987
924
118
31
264
809
518
77
576
941
176
820
363
471
148
698
289
795
244
981
804
947
325
369
815
88
741
828
500
452
811
687
685
340
561
538
985
502
585
149
964
330
423
962
583
413
355
971
465
639
870
294
164
261
342
741
258
887
938
884
369
442
915
996
117
558
477
648
586
824
860
924
330
797
812
95
654
671
10
807
426
739
636
197
380
578
737
967
375
718
847
164
539
268
550
425
181
901
925
625
935
27
873
681
306
211
943
862
609
691
807
480
844
776
904
347
64
444
335
386
489
735
547
465
482
865
463
875
899
453
39
937
584
75
170
81
796
985
854
57
946
165
950
446
198
412
494
593
591
128
185
891
376
206
151
117
851
939
148
374
840
931
642
123
838
269
188
529
262
924
428
61
841
230
527
982
820
166
839
682
935
705
202
786
873
500
825
966
795
539
962
232
809
456
354
885
873
385
333
787
626
943
147
654
3
988
956
462
866
74
337
804
50
93
290
566
431
863
971
440
579
137
863
312
862
469
416
172
956
90
517
45
242
487
433
773
445
682
820
669
131
564
499
778
476
7
849
44
391
619
54
97
122
200
92
581
969
238
899
241
907
320
208
725
504
592
99
441
820
195
529
675
127
711
660
856
750
446
152
109
519
675
348
369
699
330
125
63
380
950
769
149
143
206
352
255
127
201
810
427
369
871
21
681
21
383
57
628
624
7
878
194
543
988
776
937
324
929
121
660
23
726
933
260
929
716
717
236
399
640
429
40
963
328
215
936
891
770
872
213
568
94
491
727
361
20
550
934
724
55
772
150
765
773
454
518
561
628
591
479
479
678
95
181
215
272
156
785
76
826
596
300
943
256
766
941
589
717
179
881
510
204
566
250
867
479
513
391
985
822
78
262
347
11
131
96
880
226
77
74
584
227
577
114
728
403
302
151
638
883
467
601
421
18
526
857
101
391
341
486
629
394
357
693
404
138
752
3
762
688
919
91
1000
757
766
423
959
372
26
486
159
736
58
990
702
437
678
549
38
22
264
601
76
505
391
542
608
672
421
527
164
466
589
794
77
939
145
687
315
444
370
650
211
798
939
163
31
765
248
190
373
407
709
252
253
924
825
758
52
35
265
798
916
965
268
533
670
9
180
42
723
643
887
867
99
700
333
837
750
450
663
385
729
41
939
174
544
848
193
966
672
8
154
970
466
866
493
726
770
680
801
898
146
178
25
760
848
733
146
294
745
33
14
687
96
859
201
335
55
971
939
207
98
56
913
620
251
439
707
181
821
399
432
126
366
859
724
91
544
192
659
548
602
143
794
758
722
798
500
827
680
157
24
922
589
131
394
564
4
81
743
908
68
362
446
707
22
929
785
71
858
739
93
996
519
980
640
433
306
325
50
507
616
370
70
467
457
302
88
620
96
791
743
88
433
13
436
991
329
844
745
934
899
182
659
462
773
385
571
129
850
112
959
946
321
571
173
747
646
541
955
154
168
100
942
821
129
805
854
333
591
265
161
943
276
984
365
650
2
722
876
955
172
1000
310
793
518
405
346
803
502
912
844
738
142
999
777
431
621
186
555
990
75
314
733
890
540
553
227
666
239
162
129
197
276
240
133
663
876
303
209
746
435
55
337
914
445
449
852
98
737
630
645
25
11
849
495
371
835
159
565
966
983
811
1
778
429
52
26
640
480
223
148
936
755
856
837
956
956
512
920
863
87
717
219
451
262
355
774
409
66
500
891
546
912
561
426
315
559
395
143
573
429
272
307
147
225
605
411
215
392
828
651
471
257
120
967
59
372
785
638
308
297
5
282
883
547
105
123
703
428
206
474
258
39
120
791
127
24
761
85
755
362
294
63
449
269
872
395
905
942
534
70
62
281
317
211
449
374
655
669
895
647
579
98
297
709
622
129
224
537
912
974
317
812
243
838
967
447
365
447
304
435
306
287
1000
264
799
510
849
709
449
32
246
286
810
21
694
684
648
730
924
805
89
846
106
868
625
734
508
955
350
838
351
848
634
546
523
239
527
271
996
184
569
371
602
581
180
41
273
352
794
115
564
853
399
832
492
875
695
977
951
499
280
899
305
526
387
698
28
411
826
974
340
490
45
802
254
914
829
998
4
553
914
580
837
202
574
980
289
353
707
659
910
68
619
598
306
579
365
112
79
441
406
658
943
321
413
545
348
571
204
208
312
637
271
581
457
245
485
538
791
563
388
182
788
794
537
10
459
82
207
626
859
237
718
325
761
703
224
35
316
273
524
46
941
610
751
971
549
342
292
367
881
394
587
544
721
808
565
989
968
115
57
582
171
702
204
923
63
402
94
75
20
183
176
519
560
703
760
651
331
582
769
52
820
495
839
160
882
551
745
166
417
412
71
833
597
556
273
550
33
82
861
821
469
569
277
753
36
851
636
92
888
910
30
588
748
392
425
884
282
437
439
490
877
294
770
519
152
365
628
593
648
305
624
212
688
829
765
788
184
280
899
837
725
905
138
724
614
990
768
849
537
782
728
989
81
969
158
410
682
276
768
141
921
621
504
251
913
235
87
634
886
816
863
202
431
517
267
957
939
819
995
825
486
445
888
626
547
881
758
532
749
182
809
203
708
113
82
387
543
166
827
706
339
752
364
758
517
150
592
819
40
459
446
559
530
172
778
573
474
195
556
319
135
827
260
473
824
10
145
700
360
580
85
216
457
759
556
613
334
11
157
37
519
230
73
823
716
901
500
315
372
761
460
225
16
189
974
164
769
502
534
494
630
204
132
108
351
165
179
716
391
651
929
200
246
610
33
372
46
488
346
183
749
989
904
674
306
311
603
627
48
167
318
559
6
197
666
230
664
548
81
411
623
429
898
221
519
990
170
814
719
256
335
74
22
762
180
164
736
315
799
405
347
44
876
334
391
725
438
650
248
825
129
950
929
443
940
428
790
834
616
181
956
951
218
22
200
223
384
382
853
524
611
4
611
241
429
792
240
784
966
62
834
644
786
150
107
657
5
188
522
212
137
246
132
570
551
625
649
263
334
556
40
982
314
167
235
710
101
310
884
991
461
670
223
295
686
199
962
878
428
248
514
386
62
603
898
699
705
767
108
905
473
998
962
975
337
501
10
836
55
570
433
661
305
149
498
554
123
825
399
153
176
19
237
578
503
36
131
263
342
505
954
301
971
937
151
183
21
950
114
36
135
103
421
173
314
813
142
522
542
746
917
516
805
150
544
154
991
322
861
691
982
887
629
870
252
525
894
637
586
369
250
116
156
289
361
219
500
958
61
350
409
812
880
108
900
360
377
364
786
791
297
680
677
439
207
342
617
592
273
418
966
577
750
428
45
461
523
174
972
530
764
415
330
647
917
756
181
904
921
417
871
522
386
975
268
687
846
473
868
890
995
842
319
449
754
3
54
923
75
189
202
476
318
286
99
243
357
214
217
996
134
370
404
793
258
750
640
454
632
988
294
913
828
953
368
361
908
585
801
999
416
862
174
225
432
813
587
662
568
295
180
289
962
979
703
160
620
743
324
517
748
564
339
925
572
562
528
248
748
910
371
477
927
147
398
200
272
938
263
103
237
585
168
615
630
143
114
930
245
827
783
370
67
742
295
215
427
760
384
985
174
518
149
144
646
811
976
165
899
496
775
871
87
113
454
767
548
998
542
348
989
433
457
346
883
31
837
623
414
767
245
327
395
907
319
486
525
930
521
395
113
777
299
902
802
981
18
399
692
356
754
242
776
817
229
946
216
442
651
629
92
2
139
993
163
109
934
232
814
265
41
71
454
709
263
35
222
948
891
985
241
193
295
905
773
600
282
306
211
881
290
635
823
990
657
500
990
900
857
596
835
638
974
621
908
1000
119
892
564
217
459
677
275
129
61
642
748
153
633
120
780
132
399
875
598
491
978
94
735
222
197
810
60
143
392
583
629
325
595
341
928
602
820
213
134
764
697
423
564
113
159
773
911
465
313
164
819
492
948
289
375
105
670
368
164
452
689
321
885
523
762
301
929
924
984
352
439
800
584
116
54
615
491
493
511
602
77
665
407
674
242
125
488
777
458
496
48
105
152
134
290
341
205
400
811
509
302
179
751
892
41
716
779
761
60
764
865
437
374
345
879
65
309
377
843
655
947
790
298
497
143
30
944
24
497
684
652
767
95
166
710
852
145
195
495
134
197
455
319
10
332
957
608
887
250
200
15
256
715
590
770
410
542
736
327
273
187
236
730
565
691
57
696
901
690
448
984
537
441
511
362
496
875
915
12
490
30
956
412
157
109
203
823
770
892
628
923
756
782
726
835
897
392
364
940
848
713
465
548
458
324
205
210
610
432
35
257
112
23
137
516
213
233
677
862
585
387
739
671
492
865
139
840
358
845
603
725
544
643
314
249
503
802
842
760
889
294
855
858
39
252
436
390
669
28
22
376
132
356
887
253
321
489
874
495
179
330
475
749
621
102
96
819
41
522
948
318
987
395
333
430
411
720
152
965
853
741
926
946
748
735
107
783
706
501
254
966
600
539
347
214
878
871
433
549
78
498
420
737
842
294
791
832
918
635
986
269
90
222
776
682
169
567
79
714
577
952
937
418
628
881
664
1000
512
983
881
486
658
563
218
225
257
642
987
908
313
413
904
935
903
783
264
440
24
893
761
293
651
219
317
265
285
484
396
110
293
753
76
725
230
668
203
822
186
26
399
848
577
340
899
687
173
163
661
814
532
10
65
380
779
660
496
129
470
520
392
455
869
19
332
108
205
405
174
34
867
865
77
379
638
148
631
369
118
651
552
149
783
153
140
362
905
752
41
532
704
819
371
271
34
963
761
391
229
344
175
165
588
711
474
603
513
375
419
664
847
906
768
86
104
605
562
818
971
783
112
654
73
855
359
189
607
336
915
893
399
291
16
724
63
171
561
978
484
729
501
554
479
750
586
623
91
514
80
42
586
352
243
492
963
620
769
101
684
841
789
456
469
909
770
847
504
520
85
396
970
479
966
124
811
600
422
453
254
10
412
312
52
767
986
505
697
313
997
944
611
908
939
291
259
198
527
114
571
903
854
953
819
933
416
295
208
736
782
882
913
508
475
954
95
880
239
387
98
989
699
161
572
156
428
113
849
429
336
959
406
368
478
834
37
10
197
701
998
35
804
696
305
90
869
966
394
212
72
15
554
655
71
392
985
500
504
88
28
59
950
858
516
115
276
993
143
103
674
821
178
139
601
509
595
942
106
629
317
358
965
407
806
871
604
560
328
299
116
406
615
434
600
724
2
79
142
61
889
940
238
314
961
39
24
541
505
485
941
15
848
485
231
711
231
531
312
705
886
142
929
577
670
235
696
347
363
355
383
15
602
355
832
536
668
52
197
630
838
539
414
178
477
227
372
663
831
952
357
324
839
975
256
897
94
469
873
132
872
114
833
570
468
380
568
595
610
642
966
805
111
122
543
414
10
868
175
438
781
214
815
963
153
457
84
16
884
152
18
926
187
825
383
469
435
301
59
655
353
130
951
313
721
283
689
783
735
382
273
266
668
153
213
933
246
290
885
671
388
424
269
237
955
724
706
297
883
739
793
494
320
882
912
49
745
634
282
337
254
527
490
554
360
255
420
768
926
281
546
307
962
341
597
689
136
420
970
1000
864
988
968
948
137
743
318
774
472
719
260
126
754
832
184
694
655
635
213
727
383
730
75
859
336
103
903
703
649
956
296
225
733
580
226
843
545
994
898
612
334
651
695
555
327
751
905
299
759
437
983
958
165
923
323
280
124
873
934
222
44
110
841
671
600
600
451
348
608
800
809
396
100
240
806
634
983
5
736
986
475
492
736
647
524
631
418
751
823
38
503
695
781
746
482
567
64
272
577
185
809
345
674
916
730
193
694
713
835
637
512
971
137
376
704
215
804
133
35
479
462
593
180
79
998
482
239
252
432
888
627
922
434
91
231
957
455
245
899
810
781
583
803
194
606
837
494
801
969
275
703
41
896
270
766
822
174
124
431
888
877
840
672
216
127
305
773
265
878
344
124
57
358
41
294
156
354
788
567
389
574
433
555
344
579
740
377
434
733
514
614
416
73
317
695
511
607
647
285
274
667
77
685
529
516
591
607
461
784
612
891
298
70
120
863
441
899
173
486
380
756
483
286
869
882
386
109
945
616
42
845
310
916
789
627
624
132
270
844
614
904
539
622
26
870
960
798
147
671
319
972
329
277
402
101
673
541
449
908
894
80
817
288
681
261
952
625
31
437
60
580
703
798
513
241
361
102
709
360
224
677
525
258
471
885
944
930
52
577
321
181
903
454
43
360
956
159
357
563
73
75
945
517
769
116
969
315
129
737
101
123
194
712
772
105
748
393
165
847
53
84
949
66
762
527
603
478
827
138
599
664
639
595
104
595
216
865
226
712
462
992
665
487
707
125
847
856
428
616
790
193
23
873
682
38
245
846
938
981
935
888
150
646
288
599
359
687
210
602
790
495
829
945
724
876
396
45
456
711
373
332
252
414
686
765
343
240
867
354
101
367
553
526
467
638
788
926
573
602
276
256
640
615
484
110
727
195
622
11
293
1
503
310
36
936
742
883
666
546
633
484
344
677
831
52
369
708
652
324
837
758
789
480
297
369
358
803
500
302
976
606
310
378
31
251
791
116
835
885
586
659
783
405
792
907
774
391
35
300
525
529
209
898
945
422
921
34
478
145
561
448
935
433
908
462
556
896
284
567
495
230
457
944
568
877
725
332
616
144
448
375
575
144
213
751
783
455
566
130
917
102
399
418
343
122
451
316
280
71
532
271
754
515
577
163
94
320
761
261
752
829
821
777
298
539
533
624
760
773
722
157
513
632
847
864
82
37
274
862
981
273
102
833
404
61
890
373
696
559
204
371
455
918
739
641
259
126
210
139
250
185
533
699
569
390
73
201
832
921
974
844
569
567
798
673
439
160
56
457
932
142
282
65
376
641
784
915
196
255
523
234
695
350
924
774
440
272
512
507
296
28
31
991
778
274
110
719
502
41
600
923
862
948
89
589
992
951
755
76
167
48
227
958
11
224
33
544
988
494
22
998
599
249
316
903
187
683
974
111
467
88
200
804
101
557
192
625
633
205
885
141
529
687
417
573
569
828
724
632
460
976
477
323
468
586
806
359
647
3
20
920
271
555
775
693
575
780
95
966
210
903
646
494
350
63
851
883
976
714
572
258
344
287
556
614
805
762
347
141
551
34
154
965
939
327
605
426
870
734
72
298
729
799
145
640
906
536
484
558
962
129
872
747
96
111
933
279
783
726
607
191
699
981
854
132
118
392
454
82
84
960
23
441
96
993
851
8
857
224
436
28
166
958
814
968
21
640
686
533
449
871
845
644
697
819
439
51
468
210
699
8
415
113
659
92
583
812
135
521
680
448
348
643
15
585
884
751
884
53
562
694
851
586
723
489
344
64
695
965
122
843
147
204
823
683
922
742
13
328
6
22
786
245
946
524
53
896
415
786
786
689
610
272
195
712
493
232
417
758
656
973
253
79
653
867
8
966
734
694
257
760
598
39
53
521
926
200
360
18
826
874
908
282
841
546
280
965
783
963
554
19
822
611
377
908
428
71
475
585
801
604
360
439
157
655
825
369
691
616
975
164
109
532
435
40
507
190
947
627
734
390
155
446
822
455
787
69
949
655
829
365
648
571
816
846
564
431
533
862
883
307
946
588
697
45
470
148
343
85
216
855
378
199
11
137
544
917
695
806
964
496
698
607
835
506
550
132
628
702
825
488
620
636
536
184
703
233
102
975
927
417
420
665
471
407
136
785
497
290
585
901
526
251
820
625
575
601
565
232
950
469
357
317
22
767
860
809
627
134
793
617
521
157
175
154
360
83
217
830
911
528
362
643
265
173
336
195
432
909
813
219
822
216
937
899
168
674
983
900
529
913
747
439
630
528
928
559
166
474
603
150
451
596
761
639
279
341
649
907
907
678
827
51
363
655
238
188
708
295
211
909
382
614
458
616
523
50
805
419
50
337
271
847
395
754
773
40
474
465
124
299
373
48
262
245
200
991
396
249
133
671
312
973
988
662
646
652
811
259
151
906
358
904
978
559
297
134
355
729
753
737
118
864
583
38
59
83
502
665
419
366
403
827
412
45
608
63
526
696
832
463
44
80
348
453
892
131
277
566
71
135
512
654
819
321
803
794
796
527
149
713
373
462
168
391
129
16
449
735
948
590
199
382
218
1
486
852
858
594
929
683
587
429
992
993
147
291
945
788
241
537
188
554
676
24
212
243
945
406
964
553
181
802
605
823
816
548
198
52
874
263
832
923
500
474
292
922
3
147
596
818
680
470
27
62
673
89
911
474
596
562
598
76
227
316
268
46
309
893
361
415
553
314
821
698
845
369
846
264
794
189
727
551
965
661
875
931
380
457
691
384
417
378
202
214
834
103
653
250
966
258
338
532
458
898
887
579
15
197
647
478
72
623
430
831
994
19
541
873
185
400
264
816
92
234
123
215
678
463
68
706
449
527
762
659
991
59
847
663
348
674
436
426
378
724
415
799
983
815
334
462
714
91
789
516
972
637
729
43
279
998
84
210
832
366
268
334
257
335
221
181
168
530
769
995
430
375
207
445
537
17
489
416
98
977
228
464
613
536
73
86
479
534
434
936
12
378
957
482
348
915
373
814
8
763
818
960
608
382
389
834
780
88
10
977
405
269
841
926
675
43
353
895
878
126
72
564
171
101
765
489
72
626
415
99
642
432
893
757
61
994
697
550
160
647
986
632
663
833
956
283
422
925
929
816
778
529
299
3
631
147
23
89
689
343
453
585
517
634
823
949
213
312
623
997
966
628
448
131
870
367
558
589
455
732
258
812
82
190
5
232
884
927
163
788
835
277
572
604
28
579
335
909
483
783
549
473
354
849
272
167
730
957
239
293
342
359
947
919
274
123
690
82
155
546
714
23
811
388
689
50
746
44
532
109
630
873
213
856
281
326
77
650
33
655
512
1
21
638
908
960
996
59
910
731
321
627
9
825
771
769
661
250
486
872
127
651
943
313
619
164
657
268
248
413
302
647
592
969
393
233
983
62
101
24
108
750
627
68
99
214
983
549
816
591
349
309
931
813
126
331
118
309
148
258
21
453
863
724
455
801
580
141
865
722
299
327
680
907
69
597
296
823
493
290
987
279
989
622
134
324
727
408
747
693
501
883
322
131
477
876
524
149
816
241
659
284
474
466
708
78
790
793
631
17
712
458
859
829
367
268
326
139
982
533
635
74
238
856
954
229
725
297
171
809
806
66
597
814
115
970
911
987
861
301
835
168
627
862
111
877
467
849
55
289
104
520
465
384
17
839
923
473
265
410
664
506
795
142
667
54
933
737
117
507
37
529
741
654
271
108
462
630
755
918
855
432
921
841
340
272
692
19
701
67
782
253
906
709
349
240
897
900
760
136
395
894
973
841
790
8
509
962
845
317
660
683
203
497
517
703
786
436
897
907
979
762
577
452
15
993
784
891
290
532
468
33
18
325
555
457
43
847
994
855
782
270
723
508
606
812
744
513
253
583
69
595
617
855
726
126
805
803
374
304
69
84
357
368
454
907
861
934
758
93
607
164
937
456
772
620
969
428
586
381
126
326
832
610
195
492
396
995
331
242
963
871
149
302
803
913
463
598
499
451
628
898
109
355
852
141
223
786
539
820
224
179
944
608
940
812
47
938
258
380
270
613
971
469
195
40
279
636
811
866
585
450
215
394
272
477
675
893
113
575
161
197
826
161
889
881
83
238
454
588
528
191
948
823
882
783
80
707
766
767
687
41
751
477
795
707
639
833
790
742
192
873
422
990
509
728
957
900
281
637
141
747
846
632
43
841
950
182
344
966
824
78
609
986
879
828
537
545
666
735
449
535
760
944
48
402
154
76
356
971
516
211
70
188
479
100
666
541
428
821
436
621
191
566
969
676
941
389
346
435
704
172
774
118
432
792
8
435
554
64
766
913
601
261
103
524
114
77
466
7
555
846
693
683
640
820
717
671
300
904
470
2
47
73
48
975
547
203
988
578
191
655
882
503
415
983
239
553
285
249
836
183
188
655
235
656
924
124
758
82
321
689
994
731
955
484
736
644
765
157
705
762
999
518
502
130
510
19
85
523
305
346
592
181
26
239
822
787
673
205
16
262
514
342
498
566
989
510
331
336
588
88
559
270
537
475
363
57
485
508
964
771
830
868
445
839
524
133
240
787
158
322
127
234
618
987
747
890
147
177
493
46
975
674
737
436
984
916
72
271
269
553
99
365
566
777
767
584
739
659
685
987
909
673
940
670
49
330
320
164
402
367
202
441
874
192
485
783
865
693
142
735
978
791
519
262
610
528
421
159
650
473
927
289
199
944
543
729
319
297
502
782
80
122
266
919
380
907
373
817
947
538
231
554
959
567
491
64
118
668
239
906
857
311
810
225
189
951
985
511
102
818
42
28
269
261
326
881
800
854
345
187
340
798
120
40
493
75
993
142
991
706
497
626
575
158
683
64
842
609
305
531
715
177
320
818
212
629
732
71
241
859
579
120
53
400
863
765
599
743
832
383
393
813
551
424
736
158
696
313
208
971
257
757
131
165
946
920
327
243
984
643
958
85
45
611
743
687
741
324
263
791
302
875
504
368
725
319
726
985
172
98
206
492
959
247
945
767
396
358
587
691
258
519
712
666
978
173
834
107
46
739
285
567
434
814
910
841
86
962
959
613
133
648
658
412
69
626
844
245
158
881
783
141
61
791
351
107
85
522
592
665
137
815
908
37
397
907
195
555
758
623
245
701
230
136
68
233
28
834
845
946
656
264
34
949
537
865
938
997
985
977
701
431
931
176
886
1
705
443
67
891
318
158
981
184
263
625
197
830
517
184
347
635
241
848
458
882
331
178
959
896
76
14
867
792
851
545
235
366
446
50
684
992
715
395
188
692
688
719
460
936
363
564
99
125
404
239
203
712
513
86
485
827
628
627
456
753
256
71
78
972
56
405
150
288
482
352
695
775
42
455
250
560
167
423
649
130
536
606
467
605
452
927
821
972
127
719
291
944
523
721
397
788
902
719
419
783
985
41
627
321
302
954
877
602
813
519
758
616
172
44
123
654
706
978
368
411
224
867
959
824
620
551
841
963
716
533
875
779
891
868
23
428
141
825
654
747
958
943
735
795
548
24
947
887
316
640
920
839
961
764
544
775
822
251
486
290
108
82
769
174
141
317
467
26
764
281
605
651
562
610
806
465
990
791
174
525
758
86
698
246
137
545
773
782
976
140
671
991
277
888
18
170
333
97
465
238
559
808
605
594
421
455
420
528
340
664
748
148
491
87
795
899
981
703
612
380
491
767
856
323
329
255
365
350
911
559
404
835
625
434
122
579
988
665
208
101
129
205
777
986
761
774
253
437
855
502
909
138
299
206
599
646
608
556
219
631
533
147
821
222
79
459
766
177
922
942
799
983
272
161
664
501
479
169
681
66
186
467
478
201
421
446
611
899
758
327
117
830
886
773
397
95
147
946
892
762
718
158
64
443
357
887
659
497
87
518
51
728
141
861
561
303
276
844
439
334
98
731
695
154
532
407
87
117
329
474
108
576
613
353
530
537
69
159
424
846
917
288
478
539
858
848
621
227
868
874
777
648
718
621
397
996
145
934
155
499
363
792
299
3
884
477
973
987
456
538
3
399
323
691
73
87
677
465
152
284
186
287
715
903
922
728
566
210
625
515
47
471
55
747
780
316
725
555
965
114
455
740
84
194
703
350
418
871
915
63
984
889
943
745
614
702
355
918
184
709
695
598
852
430
149
809
790
378
832
650
697
413
781
381
754
856
881
369
697
34
504
380
314
407
987
283
623
267
72
928
490
535
778
458
830
467
500
816
338
719
141
671
58
253
664
120
341
4
645
938
661
379
752
975
940
588
279
461
660
10
459
747
639
588
45
13
463
850
318
296
990
140
246
643
368
322
322
407
555
63
701
310
286
294
819
468
336
52
903
518
104
329
693
531
316
290
813
177
91
518
79
182
141
223
824
682
98
940
786
350
23
892
778
404
449
261
454
388
897
383
595
593
627
679
674
590
323
8
240
458
116
820
796
875
816
1
177
481
891
317
306
948
969
894
109
749
781
204
666
96
725
739
361
694
687
677
370
974
181
813
263
579
587
581
661
649
28
529
502
148
775
204
733
467
856
662
134
273
817
925
531
468
751
776
614
572
652
936
687
641
16
361
944
827
124
8
770
953
725
591
176
724
498
958
445
505
16
571
57
741
165
512
624
548
719
149
812
503
15
754
332
320
100
65
394
378
801
939
528
674
348
546
633
433
480
155
470
790
378
496
876
253
713
350
503
829
920
977
820
222
953
749
132
983
744
246
145
840
493
509
494
303
78
213
970
826
989
543
792
853
788
752
331
346
88
709
720
329
358
70
973
658
252
129
39
254
427
711
224
788
253
33
368
867
492
38
795
136
368
404
832
507
573
800
346
637
148
416
516
432
969
415
170
753
377
442
157
457
569
683
427
560
415
783
583
351
897
878
670
533
572
481
63
732
647
977
271
654
316
65
433
171
54
11
235
535
174
434
969
498
42
798
64
716
935
188
321
776
202
841
522
596
556
447
903
122
774
529
158
861
29
984
502
934
913
856
909
120
299
267
188
234
844
259
490
539
121
696
966
325
31
634
710
643
871
779
945
692
361
21
394
421
887
37
582
367
454
808
924
58
676
166
495
458
826
480
187
135
529
890
195
788
529
251
933
54
345
423
272
193
602
436
361
983
741
856
928
922
612
458
94
348
21
298
26
354
797
660
926
602
259
175
803
301
38
7
602
882
9
336
420
342
465
170
229
659
913
658
473
981
430
111
756
373
654
27
527
150
452
256
840
722
151
819
741
999
626
340
893
385
240
359
990
956
169
551
713
952
749
316
958
907
990
751
84
354
801
940
861
290
233
767
142
782
121
568
828
822
752
723
258
26
254
131
845
555
394
799
931
906
945
388
355
34
861
864
427
207
334
187
435
981
55
595
820
68
208
321
364
695
357
915
381
501
453
331
283
621
771
842
241
686
61
315
319
948
516
435
949
83
371
164
747
415
717
878
541
712
25
853
281
234
173
764
691
641
484
577
264
203
695
67
982
295
375
498
321
323
974
931
439
610
379
586
170
796
874
665
846
215
640
501
475
524
696
522
890
12
143
891
12
838
925
294
845
432
660
647
96
209
593
567
549
985
336
424
518
714
415
248
574
809
961
535
952
64
146
196
976
261
649
595
202
654
266
497
420
146
651
229
849
552
379
212
984
418
518
539
66
939
458
841
843
401
666
439
161
467
464
873
445
466
646
345
667
249
908
206
673
248
531
217
473
249
587
187
420
703
52
33
299
205
260
215
493
810
444
831
80
511
184
163
563
390
283
619
307
132
386
330
18
334
269
318
106
434
988
610
241
853
36
313
358
281
112
321
210
588
862
716
588
244
216
679
866
802
871
261
635
166
874
424
56
495
875
802
659
320
323
761
681
306
600
3
982
583
807
708
210
956
861
759
346
289
217
943
513
950
691
354
906
748
672
454
215
525
48
868
53
514
862
800
206
113
981
360
568
879
313
860
753
977
11
137
484
107
814
756
663
218
656
33
899
822
570
11
37
444
690
16
66
370
383
56
348
24
132
578
447
869
228
442
642
196
850
503
572
575
708
215
458
492
341
517
588
65
985
143
170
469
616
972
990
615
667
370
816
874
373
33
355
818
705
779
663
39
686
259
480
605
77
661
844
354
794
187
553
172
333
43
88
942
316
920
985
983
337
108
518
179
368
929
113
974
626
25
833
87
259
974
578
249
842
41
958
87
201
102
295
969
961
778
453
377
820
371
43
786
766
505
920
733
592
93
559
885
807
609
733
284
893
768
13
666
511
386
796
770
135
899
7
921
881
700
601
317
254
445
883
171
256
730
794
807
795
730
919
968
539
244
284
434
138
902
418
132
856
831
820
852
42
703
589
227
147
621
885
414
26
644
553
322
685
173
954
713
64
939
887
755
533
969
424
191
464
428
978
350
298
300
826
435
510
629
301
887
211
492
900
967
702
859
342
480
699
301
820
289
790
32
288
576
208
986
385
169
245
59
706
1
435
276
728
75
349
755
370
327
343
71
977
369
384
400
460
101
994
593
277
70
79
420
577
37
516
187
673
885
17
272
436
831
838
276
782
661
810
104
698
549
476
715
61
105
349
241
165
723
379
374
556
713
888
888
783
315
161
624
934
170
596
815
16
413
684
329
497
500
36
839
567
533
894
522
871
798
807
896
456
212
428
913
579
73
649
910
128
5
416
945
368
191
75
218
873
376
645
309
89
855
767
614
938
472
482
363
150
848
849
256
341
5
268
673
587
393
480
433
314
572
210
735
781
478
421
887
708
409
18
960
647
277
107
241
551
132
815
786
867
983
384
435
736
220
609
112
975
192
752
922
403
65
361
394
741
602
742
972
526
884
521
502
775
936
697
790
721
747
78
354
40
566
577
352
552
727
357
386
183
902
438
284
496
636
741
647
180
335
737
673
891
723
455
800
93
181
291
36
613
768
347
861
832
730
945
971
969
843
213
544
202
640
565
397
903
710
42
845
313
999
533
173
672
7
178
74
147
406
14
465
987
557
600
801
808
289
812
278
599
116
706
225
581
306
939
485
276
760
22
112
943
501
812
457
81
872
687
735
812
961
521
978
682
80
741
649
278
132
910
128
785
427
938
338
842
320
526
517
551
279
381
994
570
719
330
924
351
899
686
840
593
792
749
701
725
253
267
403
499
374
500
94
431
11
449
94
174
741
393
693
36
175
535
243
808
361
465
620
456
635
611
667
360
798
602
255
568
573
828
253
633
742
702
514
942
665
146
774
612
342
132
256
407
293
665
565
191
661
138
535
938
804
728
966
180
499
279
780
290
245
458
269
999
581
922
317
415
94
929
124
46
431
392
244
177
692
887
197
173
51
544
225
605
165
938
290
651
965
706
891
564
599
261
569
838
716
27
167
404
621
158
429
3
197
411
854
74
688
379
221
944
599
457
381
347
571
592
942
821
760
122
67
62
330
480
27
647
647
50
928
286
151
451
54
343
358
49
449
360
4
142
352
335
631
525
429
536
583
100
589
857
837
440
160
19
19
192
864
945
74
187
202
187
322
487
786
99
905
561
496
125
501
520
129
708
759
397
237
3
641
195
743
93
381
655
29
267
556
69
233
860
304
192
76
718
274
274
467
508
804
578
680
219
684
189
128
620
973
387
861
886
417
120
916
409
564
208
814
799
220
904
614
755
461
926
123
195
755
355
541
452
386
109
148
643
668
279
926
640
315
25
780
304
450
600
419
890
64
474
864
307
554
405
26
654
944
387
534
75
41
72
529
207
333
393
617
428
12
693
603
1
162
442
387
14
145
640
492
386
707
696
290
310
872
741
738
141
679
731
121
344
518
95
404
120
294
590
645
321
643
728
689
939
178
763
708
259
124
334
361
840
479
405
778
955
66
194
32
408
540
923
365
299
565
315
164
720
592
627
421
464
185
292
199
254
894
344
878
166
585
320
167
513
404
744
665
577
941
770
299
928
473
378
557
516
856
248
997
911
923
229
728
990
408
61
221
136
581
735
158
646
101
555
2
381
503
536
710
940
329
47
472
766
832
3
228
267
147
347
378
130
987
779
293
695
579
132
139
683
964
198
258
869
699
574
693
837
608
137
478
535
433
810
858
5
84
527
160
388
834
45
325
653
496
517
368
69
207
400
599
962
940
520
878
845
338
990
183
908
485
641
428
154
827
715
972
225
815
798
195
336
699
447
37
555
525
284
693
403
462
607
995
14
967
955
591
389
498
198
255
693
6
439
959
893
480
355
103
604
727
943
965
107
468
758
463
191
122
784
565
761
304
140
352
240
196
350
268
735
475
492
990
429
371
358
766
417
593
492
854
29
882
198
675
849
215
368
777
819
714
155
84
174
295
723
194
79
553
485
204
968
550
181
493
111
736
741
926
825
198
616
876
441
84
44
161
174
406
316
848
469
598
220
443
701
895
737
429
719
173
391
680
901
568
93
941
604
346
399
610
691
669
352
77
245
56
569
552
871
981
506
7
440
266
407
304
685
462
534
852
456
835
819
356
855
42
909
517
894
924
706
322
486
562
798
601
965
813
771
583
194
776
781
534
21
739
492
650
593
801
271
647
220
649
176
522
556
938
241
788
526
151
813
775
895
861
146
769
972
192
127
240
925
995
361
846
279
542
63
795
286
12
799
257
872
370
827
815
138
913
243
318
351
415
594
641
214
152
512
437
457
909
605
63
402
967
139
444
564
35
735
627
145
724
820
615
6
123
157
926
78
625
738
419
967
911
283
324
229
777
852
168
424
283
287
73
644
218
219
52
771
912
580
446
727
126
870
502
743
647
127
446
292
97
117
725
628
485
260
180
731
965
313
601
409
999
323
681
656
407
580
957
652
148
295
990
351
200
694
890
355
57
490
212
100
321
239
439
790
578
536
635
963
573
38
657
213
166
679
980
566
182
891
93
605
732
57
212
911
476
826
654
63
327
608
947
506
591
771
156
898
286
28
516
93
372
148
597
693
877
999
302
68
895
158
904
149
291
176
343
92
74
409
536
151
184
963
452
733
657
124
588
372
256
387
20
70
874
456
173
568
990
19
862
235
862
623
2
636
107
102
439
992
865
706
399
672
535
900
991
885
247
981
642
228
625
104
522
58
380
106
745
443
228
37
736
187
454
820
593
350
234
108
624
440
432
291
754
820
861
311
412
222
39
873
898
543
90
525
287
740
642
251
151
759
851
346
67
880
614
132
597
524
162
129
165
111
921
6
739
899
560
218
129
708
355
767
861
237
293
876
891
82
128
665
331
735
962
837
49
826
80
399
746
269
103
722
702
486
200
983
635
19
766
526
941
714
499
624
435
170
822
147
627
266
495
466
207
551
165
768
426
736
374
971
68
495
856
191
665
735
101
222
892
312
279
932
489
893
448
653
594
647
397
238
841
991
438
351
603
396
893
588
295
677
518
883
827
283
121
539
866
818
153
514
60
327
299
662
307
415
620
143
631
989
655
181
405
823
184
150
517
253
591
231
692
277
112
857
609
842
918
255
426
962
262
50
191
948
897
926
371
430
183
598
231
123
519
499
131
921
433
198
71
708
919
258
247
755
987
593
473
954
445
209
242
240
462
397
855
972
993
372
727
912
616
923
449
360
583
193
873
901
626
613
564
202
730
930
373
398
696
251
9
751
274
956
200
642
971
269
50
347
252
934
598
1
218
6
66
836
223
864
678
501
871
27
5
166
965
900
72
845
668
601
158
324
23
356
526
927
336
877
238
343
716
971
213
935
174
891
960
403
229
953
862
777
941
628
670
194
115
251
940
277
663
955
98
645
3
405
943
816
793
128
371
692
823
547
677
203
944
296
743
904
966
61
163
270
528
270
956
158
345
107
788
505
513
821
665
743
890
925
522
327
785
311
396
903
420
305
276
613
633
394
910
534
911
232
341
576
651
952
297
890
999
187
707
816
425
144
861
448
549
44
292
537
349
184
655
619
988
194
463
196
581
533
912
887
334
365
773
199
945
151
65
110
624
942
606
80
630
260
864
822
999
21
847
274
397
830
861
770
349
134
344
874
347
63
656
469
872
390
855
246
515
197
532
174
574
255
870
687
926
857
737
542
826
734
748
12
120
271
660
553
306
377
609
130
565
233
101
423
358
569
613
12
108
190
301
987
74
945
876
707
444
31
824
504
123
1
739
234
720
50
358
30
692
541
35
101
805
353
571
510
218
540
301
384
50
174
968
679
308
837
302
173
709
64
286
867
407
655
583
224
870
625
360
624
134
441
143
758
840
904
891
342
61
472
120
626
962
55
419
237
236
798
860
905
871
884
71
450
397
61
689
914
421
566
166
406
320
638
250
952
100
833
574
31
549
752
334
105
308
652
455
285
196
69
187
738
762
910
573
109
316
294
627
470
748
207
953
993
441
839
995
665
104
513
387
152
307
812
818
250
808
140
722
934
142
752
342
947
613
901
994
963
892
4
261
650
677
535
707
117
707
364
121
283
914
911
394
653
957
181
77
288
593
852
153
139
677
175
514
471
97
352
824
259
468
333
853
270
582
88
670
663
817
16
975
478
769
765
744
78
411
233
150
899
910
777
830
978
146
404
381
907
906
278
950
130
760
143
481
501
958
175
700
655
404
710
148
241
192
442
739
757
674
72
103
441
322
788
861
951
206
911
69
782
264
278
468
560
563
658
544
595
781
268
316
854
491
287
439
629
99
871
126
797
915
280
563
201
818
474
221
172
838
908
552
1000
27
131
473
167
494
196
462
32
646
869
121
660
308
869
147
605
81
138
163
317
399
304
444
974
310
55
357
232
86
726
118
668
20
76
721
148
873
184
966
965
723
972
784
461
817
196
191
992
753
308
364
270
126
839
992
161
316
570
191
585
542
988
802
59
574
816
190
498
551
387
676
292
658
364
950
238
1000
93
133
698
527
878
681
785
279
159
417
191
119
687
768
499
384
908
901
333
330
319
98
881
692
483
458
496
994
713
226
839
373
534
7
629
795
503
428
648
847
215
938
670
382
667
836
556
500
685
466
510
481
244
883
6
826
618
54
61
647
689
269
919
393
165
272
818
4
557
213
34
8
297
781
176
779
573
69
449
825
374
180
859
435
979
934
888
299
552
166
907
172
879
634
35
282
613
217
359
744
452
673
409
44
298
718
243
562
883
325
714
546
662
288
310
785
604
794
279
972
679
676
253
916
132
29
311
218
363
207
773
559
57
507
666
442
408
295
323
257
17
131
357
227
475
670
566
874
744
621
87
111
54
705
897
763
891
160
340
314
959
208
235
553
369
776
888
110
255
305
829
805
749
904
82
101
733
210
981
13
46
265
917
835
561
353
769
491
605
528
313
130
24
147
644
883
34
25
716
76
360
762
791
341
383
442
785
362
703
505
693
132
608
344
112
250
332
807
977
66
498
504
777
618
489
994
30
920
556
237
739
650
117
196
515
156
18
402
776
449
652
52
889
451
955
738
541
434
514
358
490
91
666
389
185
820
413
243
463
256
171
339
255
703
550
310
447
724
399
768
301
182
489
438
470
480
760
374
215
98
491
853
194
745
450
950
729
408
81
548
780
904
587
140
331
96
377
365
616
794
128
648
652
977
58
203
260
491
862
967
231
697
526
249
873
584
135
646
143
384
941
905
848
88
720
406
509
856
946
468
82
536
437
273
962
722
498
641
800
790
162
575
150
891
25
827
135
524
834
14
507
28
672
777
74
562
667
240
258
750
644
158
797
214
342
69
297
748
886
309
21
92
98
544
176
424
944
114
104
884
394
259
316
58
693
518
483
220
322
603
10
78
133
953
179
879
616
592
802
454
641
166
23
356
254
157
28
103
69
210
878
297
567
628
773
240
35
202
735
175
788
640
282
364
11
572
173
103
664
351
86
522
410
156
256
861
310
60
86
521
532
625
43
164
489
771
574
206
747
386
62
679
288
270
688
932
847
871
858
220
406
112
27
555
185
795
419
516
298
284
885
245
397
357
916
954
33
173
772
760
881
237
581
92
972
199
677
271
56
72
831
740
444
445
948
353
405
85
419
643
538
972
659
494
730
276
720
618
807
196
71
675
97
420
572
632
477
551
340
748
728
854
255
847
661
182
226
758
987
804
731
971
929
868
910
595
789
802
542
669
179
430
182
561
471
996
948
881
284
240
200
682
567
544
259
574
772
233
153
951
364
309
477
80
195
496
378
666
620
560
842
269
543
847
94
389
587
456
201
214
373
381
72
437
530
769
121
782
234
117
996
199
969
826
638
720
562
11
556
16
757
467
281
756
505
600
888
807
761
20
160
306
842
570
100
994
609
781
89
306
250
924
491
936
896
392
270
950
837
347
753
877
605
153
300
789
286
642
685
502
20
909
148
780
669
996
740
556
104
351
716
692
264
531
230
287
440
128
966
34
887
358
159
397
748
478
889
497
384
958
339
5
449
763
429
559
745
633
782
231
175
229
639
703
738
750
874
534
141
271
210
21
67
758
265
194
466
905
341
433
829
112
780
263
881
639
627
383
398
648
440
182
143
744
66
353
748
861
866
117
95
524
595
75
673
228
901
879
32
758
814
74
761
666
19
150
267
130
36
686
824
788
280
542
857
626
809
977
296
434
664
400
48
402
203
24
685
188
595
136
108
843
750
422
220
85
893
657
811
827
5
864
706
83
963
808
765
38
139
197
398
538
332
572
257
366
548
799
51
1000
851
800
614
251
491
238
918
553
279
14
967
16
75
826
766
872
162
646
858
538
160
353
20
519
811
434
873
774
707
277
301
911
786
167
369
782
503
38
512
548
552
435
439
685
269
278
500
459
917
838
786
885
67
83
397
165
496
494
620
196
521
931
682
146
148
77
547
300
426
640
770
197
138
241
108
703
924
661
236
800
354
42
134
953
967
78
745
157
407
595
407
884
744
278
548
535
454
143
661
987
232
92
58
763
975
138
99
111
201
809
197
434
811
226
461
838
928
660
372
934
7
682
598
653
831
976
170
921
154
678
723
884
995
874
844
447
777
124
326
949
863
305
197
705
826
187
740
541
525
837
441
805
597
242
585
806
347
507
384
581
184
545
104
762
427
852
397
38
732
188
664
582
549
946
83
30
274
925
14
763
791
671
745
849
937
105
360
411
731
99
690
165
829
806
74
406
297
816
404
433
416
216
792
68
474
816
844
916
152
544
98
598
963
977
245
747
735
583
770
7
833
551
100
566
742
438
609
8
174
329
604
169
214
633
200
129
43
182
761
629
733
900
728
475
337
882
446
529
121
495
178
430
751
972
657
721
80
754
616
184
633
257
385
704
865
547
878
606
750
264
641
820
567
728
79
108
901
869
816
889
384
8
70
856
908
392
765
245
860
237
78
266
501
69
608
836
766
694
28
149
411
112
609
550
43
609
826
569
758
414
868
813
881
144
908
252
68
518
764
848
581
963
838
904
519
185
321
170
841
357
907
276
534
875
277
410
61
521
635
806
369
245
76
564
296
627
637
118
365
376
596
864
87
273
752
739
493
293
714
905
698
183
455
895
448
888
313
289
366
406
891
964
496
732
112
940
931
89
532
195
84
576
33
950
603
753
138
315
282
703
577
569
691
233
439
526
225
568
727
879
854
854
974
13
688
227
658
794
275
323
607
454
41
470
65
922
428
279
371
402
913
397
400
330
889
817
697
341
66
773
481
576
923
292
11
8
700
834
730
67
731
449
515
218
762
1000
679
853
798
447
638
217
567
563
341
832
845
264
763
464
820
345
551
765
847
356
163
586
827
656
346
559
965
80
218
80
840
237
395
587
941
182
534
245
721
213
427
801
567
45
752
109
897
610
457
231
183
930
563
871
197
452
750
482
237
558
788
96
317
722
236
26
933
443
899
111
939
727
64
35
15
565
773
103
107
439
231
890
865
822
30
108
280
677
911
726
937
224
595
803
352
130
488
948
278
501
817
637
303
379
823
441
789
630
263
725
310
210
706
492
728
248
101
852
202
227
103
605
749
910
822
172
173
599
92
515
150
25
310
265
507
817
876
723
360
163
617
858
621
99
382
946
412
394
334
956
440
666
441
882
487
219
276
159
709
958
913
368
34
330
696
969
25
951
840
490
503
378
76
217
687
973
110
959
372
458
228
422
12
602
421
179
2
574
317
30
762
995
16
92
567
413
43
503
841
553
521
479
496
688
228
20
911
323
878
693
168
924
361
676
278
255
554
254
899
240
774
895
385
590
745
324
803
145
844
511
556
19
665
905
464
71
819
318
695
31
98
505
325
967
54
588
477
188
526
656
526
651
50
527
294
659
47
150
239
870
86
280
38
334
414
42
427
19
294
256
567
558
861
982
492
736
315
795
504
236
814
834
814
193
990
997
209
550
489
574
79
316
583
273
183
459
538
432
751
625
964
369
246
845
118
18
141
864
787
60
954
241
463
940
472
367
1000
596
55
80
859
115
747
968
656
967
29
193
728
537
912
116
320
477
545
967
878
390
910
960
298
403
594
408
970
30
661
110
576
870
478
485
519
899
122
172
36
539
590
901
711
41
37
397
310
801
616
735
49
676
43
372
969
439
322
74
857
642
11
96
958
73
942
810
763
257
246
595
923
823
11
230
349
949
464
834
987
190
913
239
642
13
430
926
783
584
713
735
965
90
1000
528
581
622
654
854
724
44
370
715
907
426
391
801
920
837
423
375
365
679
597
4
253
314
268
885
425
367
569
503
775
701
601
156
519
786
434
855
618
721
839
158
870
303
184
306
49
556
788
405
44
180
798
9
70
234
631
416
457
581
922
196
321
502
330
320
899
622
630
711
1000
566
531
954
335
510
288
82
892
105
129
607
391
567
773
931
188
774
871
442
833
803
214
325
169
948
606
916
918
539
668
349
363
322
95
72
542
325
79
332
588
917
50
554
742
474
919
774
982
487
535
357
511
741
330
482
992
507
221
245
701
561
749
786
950
967
741
252
311
720
521
46
104
441
313
858
600
490
155
328
20
879
344
896
866
480
83
41
724
706
748
533
180
60
541
625
476
708
870
356
947
881
346
31
114
583
486
949
689
64
22
331
670
923
487
807
381
768
296
942
156
560
858
881
645
595
703
832
876
423
268
598
793
526
141
324
566
835
286
178
606
803
105
863
433
734
761
902
569
28
727
362
735
813
302
523
919
69
492
790
257
23
20
282
678
339
5
358
189
422
111
550
514
810
216
972
866
324
764
120
985
138
903
352
740
295
279
384
187
904
380
208
103
5
659
844
580
199
887
84
585
658
314
775
529
37
777
872
9
104
26
464
862
658
699
101
98
395
98
199
445
291
496
721
322
974
266
334
463
975
99
41
345
592
942
780
372
525
853
439
898
60
831
937
619
946
714
770
565
52
267
535
814
632
100
602
563
594
238
889
494
424
743
620
525
978
199
65
348
648
950
432
132
884
356
426
97
100
820
506
933
738
130
483
227
256
264
125
269
771
426
244
573
258
689
556
773
409
438
371
302
378
870
602
129
117
969
561
628
124
663
755
108
835
828
679
329
650
910
307
543
534
161
416
337
378
762
926
696
736
728
869
339
999
118
606
662
326
217
696
167
616
729
1
232
529
543
411
971
525
337
194
940
274
368
407
798
599
847
754
656
553
970
71
859
132
204
620
860
966
962
34
499
167
941
954
960
770
210
982
810
851
251
768
193
176
974
140
203
275
448
285
609
188
616
159
289
124
715
411
827
520
482
694
960
931
455
172
312
109
473
941
638
674
592
900
344
361
585
143
630
209
517
381
39
320
802
557
469
841
62
694
856
934
60
936
661
924
527
910
683
608
381
125
445
454
343
197
88
925
678
278
236
28
698
613
625
489
422
982
242
603
764
538
528
975
684
334
636
52
812
882
571
272
104
52
577
514
811
191
816
8
434
756
907
714
861
208
559
599
325
847
166
542
244
37
694
271
834
86
707
365
527
187
334
270
600
734
382
395
768
729
322
870
349
777
827
616
263
127
321
284
363
896
647
120
732
664
176
263
850
630
805
296
813
630
378
530
51
571
863
662
608
527
962
637
262
967
521
871
162
617
21
409
403
465
619
768
945
475
29
252
116
341
13
505
748
174
258
76
860
55
361
119
551
363
35
574
813
696
115
262
577
425
334
236
534
29
96
54
522
683
811
517
571
950
609
652
754
730
433
868
654
957
460
92
9
656
749
311
150
654
742
148
775
896
248
615
677
632
775
857
607
815
355
396
767
548
673
884
474
24
449
55
715
239
587
338
346
816
929
214
72
441
572
480
822
942
549
353
35
887
622
185
757
2
980
140
387
512
103
742
164
350
571
102
679
116
115
505
302
185
514
465
867
287
471
436
419
476
902
505
246
841
920
600
463
678
944
28
731
409
575
349
902
856
324
307
684
540
334
699
815
300
994
253
202
557
708
452
877
629
298
934
513
661
463
903
509
41
541
359
805
366
123
225
561
240
961
422
104
312
386
97
498
740
609
781
505
371
963
696
836
502
496
852
766
576
68
622
562
650
705
587
208
552
367
980
849
227
729
622
921
986
631
159
628
184
158
708
691
661
208
192
35
970
659
390
798
181
833
72
734
966
147
43
684
953
609
172
287
187
967
980
583
16
239
534
284
943
973
517
712
278
768
339
483
269
359
471
50
85
420
571
99
171
781
690
225
957
12
394
799
418
20
46
372
112
569
569
254
984
661
222
444
349
441
567
257
58
94
196
21
482
893
357
907
62
996
947
818
746
594
292
395
651
393
850
741
245
588
628
135
159
369
515
36
136
238
328
620
403
523
243
616
728
555
825
323
438
638
38
188
151
497
264
295
786
485
876
953
318
371
59
187
176
869
317
143
473
64
980
766
674
328
812
338
744
170
273
68
106
550
462
120
564
146
834
284
434
597
717
712
391
220
327
318
326
563
695
398
455
325
893
545
379
895
920
472
985
155
805
362
412
214
377
47
87
583
311
538
117
77
77
783
267
792
455
406
7
538
738
735
490
362
843
896
565
877
147
732
846
786
381
801
250
902
940
377
776
488
675
664
440
8
473
298
244
590
285
114
141
40
321
188
4
959
200
978
698
157
636
834
333
724
383
676
113
732
614
216
434
562
535
677
482
925
359
931
795
188
324
587
474
39
52
411
714
264
712
808
693
907
780
371
1000
729
422
664
948
916
676
908
439
9
87
968
144
249
273
746
745
816
212
560
261
816
326
976
696
221
487
628
894
9
871
407
96
427
72
713
709
299
787
673
613
91
649
268
736
539
957
510
126
481
532
644
417
901
181
400
603
725
502
208
300
107
792
615
830
286
492
195
718
122
313
524
11
476
456
230
621
718
28
583
494
579
620
432
508
615
494
923
755
27
848
62
620
356
481
152
997
69
763
308
417
729
880
588
525
736
281
239
812
353
281
454
838
407
317
272
620
306
146
52
752
370
966
675
396
855
375
996
70
664
143
26
825
597
435
689
42
255
797
244
785
529
481
804
647
529
348
326
283
501
377
786
100
778
789
947
440
632
603
756
986
220
24
184
173
529
131
121
560
462
169
337
477
24
929
953
803
879
103
690
779
228
683
759
366
294
625
872
903
432
725
884
721
98
649
510
926
513
107
292
749
22
355
84
470
208
577
455
942
982
17
774
613
596
727
2
758
410
811
740
377
396
195
858
466
377
296
391
16
70
798
624
927
950
128
12
661
521
739
330
966
359
951
308
177
418
614
605
720
60
21
382
163
947
902
362
307
811
167
566
826
419
526
393
141
492
565
649
554
238
574
599
419
570
901
526
158
961
574
422
222
52
555
195
321
770
498
176
831
319
80
93
729
849
256
844
203
889
223
81
527
809
935
595
925
668
180
12
640
837
94
757
826
769
576
431
121
865
764
969
314
41
102
700
155
44
384
786
439
160
788
966
455
820
362
424
8
290
536
622
920
447
930
458
586
354
450
118
453
718
573
600
807
396
152
160
678
549
472
306
837
345
188
65
905
952
371
949
766
274
172
375
241
911
450
662
820
790
568
916
435
726
893
195
504
968
777
192
918
890
575
360
250
280
821
659
334
263
779
579
829
833
704
238
720
323
34
912
297
107
126
296
913
109
149
522
952
474
789
223
475
183
902
218
939
726
199
807
79
548
372
94
467
85
297
268
31
749
124
648
915
146
593
753
164
957
441
493
377
636
643
601
713
416
383
938
430
259
40
255
599
899
586
480
447
712
720
892
790
789
286
574
532
455
129
795
907
125
33
546
431
181
27
282
557
7
952
742
329
894
644
503
261
635
732
82
751
654
562
595
237
688
190
360
630
560
829
931
855
256
66
235
600
71
868
202
962
200
843
306
406
928
5
358
577
699
794
806
731
600
317
934
418
350
839
188
355
950
853
196
657
100
595
615
603
43
326
465
705
389
524
694
762
9
767
870
736
960
135
389
211
327
283
401
695
703
455
699
885
815
422
815
665
601
125
870
620
383
704
336
684
611
328
582
219
823
537
935
182
488
55
263
763
71
363
232
333
919
958
611
351
613
417
544
906
848
186
911
898
179
848
866
659
604
831
817
355
888
479
24
586
670
64
682
995
559
920
329
549
468
917
274
263
220
46
771
53
44
988
477
133
764
553
243
117
815
561
540
695
509
685
514
609
877
419
597
303
31
888
263
658
328
947
228
73
207
13
215
79
563
638
741
633
476
2
36
965
211
270
991
377
245
794
659
37
471
85
980
415
827
449
246
347
916
84
925
243
605
64
988
603
246
694
625
133
395
777
59
841
952
294
799
778
877
190
308
227
726
598
595
123
174
775
620
70
495
522
671
577
18
162
531
441
729
349
879
105
346
224
841
649
511
958
529
404
295
364
71
445
696
790
855
807
924
469
798
974
710
890
149
938
167
260
41
158
666
119
936
406
695
845
306
687
894
701
575
975
635
712
895
692
587
500
690
62
672
366
760
614
814
537
626
76
420
663
760
656
38
755
864
663
648
119
36
667
68
204
130
80
339
874
606
396
704
476
682
341
373
105
467
659
409
628
755
260
679
83
249
291
550
27
187
945
662
486
636
31
483
886
143
175
80
201
509
908
952
87
518
322
445
741
923
367
255
446
400
125
26
131
162
503
680
561
771
476
76
942
866
891
177
129
607
29
52
617
554
532
138
215
613
300
448
865
874
488
765
620
49
745
936
546
624
884
922
149
133
836
80
597
875
369
2
395
745
986
465
808
466
781
410
174
831
753
254
113
467
366
51
51
640
86
999
963
316
319
452
382
940
310
141
744
402
177
551
343
812
544
897
424
174
699
995
579
985
140
161
366
267
191
346
124
453
490
31
648
987
736
53
171
907
489
353
239
782
214
338
258
242
863
286
747
49
713
390
504
624
497
952
284
306
217
787
412
995
707
680
669
651
237
357
973
548
699
593
384
179
634
500
512
353
832
776
981
207
739
173
149
410
307
860
562
23
870
892
894
261
527
634
276
884
165
852
748
924
475
570
10
976
851
829
739
101
97
435
854
399
527
879
605
466
48
236
755
114
887
85
551
11
386
297
280
326
349
258
863
548
824
511
451
480
386
227
863
366
104
405
525
686
523
624
157
506
274
882
225
935
755
106
581
973
285
919
949
264
282
476
585
213
581
651
811
709
150
942
582
366
51
653
498
433
68
221
741
770
446
479
147
667
370
830
984
57
755
812
97
146
128
27
836
230
870
477
818
444
582
666
430
240
725
294
822
181
414
594
872
917
692
116
749
810
278
985
774
903
70
471
210
878
585
325
712
336
111
192
645
31
503
324
379
40
883
563
1000
858
891
827
727
368
433
314
667
524
664
183
699
21
478
754
893
490
472
885
359
675
967
324
58
705
625
373
939
151
297
571
160
499
946
341
482
845
488
116
189
842
497
646
372
819
44
88
633
181
601
790
705
647
683
243
6
181
681
350
686
55
698
450
129
930
764
434
777
269
748
882
714
110
866
926
783
833
509
23
331
711
158
982
44
725
39
422
565
509
767
475
778
684
397
541
191
279
214
463
778
947
642
304
753
751
292
646
555
791
172
394
409
819
134
353
334
88
882
757
956
306
143
331
127
168
185
681
577
150
734
699
785
782
916
151
136
354
30
466
94
594
824
563
74
264
293
890
826
693
947
637
284
198
969
760
568
165
134
576
257
622
716
795
738
421
537
339
614
19
945
305
739
755
291
854
185
436
310
9
311
252
781
341
461
132
898
1000
328
309
164
257
984
444
854
271
658
802
221
174
28
541
642
279
815
708
574
448
593
549
620
175
767
446
802
518
122
703
227
305
381
49
693
863
875
831
441
45
169
471
207
194
198
779
193
781
873
624
270
634
557
271
131
487
959
750
629
923
767
336
900
269
815
26
151
420
607
94
278
194
501
306
701
340
14
781
693
364
996
11
681
281
473
284
5
771
656
696
292
752
244
965
233
287
949
643
795
907
175
78
320
544
781
78
584
132
18
264
287
698
200
871
187
515
362
407
697
254
134
633
803
39
622
621
762
135
700
233
781
963
843
626
301
991
655
502
477
335
709
463
13
278
558
474
404
572
980
535
934
241
442
190
574
388
709
766
800
637
314
491
55
73
269
80
304
556
636
625
512
96
559
793
727
752
631
675
391
919
740
145
136
741
377
497
227
371
188
82
754
27
194
643
28
28
956
175
204
553
432
805
742
613
934
302
685
641
155
850
788
356
248
407
912
520
864
901
568
179
248
103
958
903
208
551
670
184
654
116
503
34
431
443
697
579
649
47
445
245
210
478
793
689
527
21
855
46
101
25
538
859
554
108
168
242
128
484
787
248
614
605
148
13
188
707
852
393
44
573
141
718
911
374
992
310
268
89
737
141
913
95
860
244
417
548
837
415
834
213
261
545
642
899
729
614
748
310
120
15
599
841
485
665
213
927
149
728
854
7
358
955
895
321
831
875
279
343
877
79
155
451
616
242
386
936
893
701
344
452
602
104
38
839
855
171
79
568
955
504
915
445
457
941
92
793
961
736
106
587
277
407
950
861
634
595
258
24
787
410
363
255
429
863
26
859
973
604
404
379
693
224
976
746
534
52
124
395
526
743
439
607
379
79
675
581
185
1000
339
397
664
142
215
349
687
294
427
444
258
410
307
193
443
975
675
253
223
213
129
664
894
571
801
843
733
623
571
255
244
213
4
269
243
987
767
830
572
410
307
68
641
752
225
60
839
29
994
566
85
650
319
750
972
767
801
433
671
349
544
462
953
854
768
333
801
368
58
642
586
797
240
273
144
635
221
54
773
780
513
694
84
361
146
861
717
698
942
177
294
387
361
202
983
555
885
155
730
811
18
765
959
700
720
523
290
229
340
88
254
884
730
3
474
601
736
55
133
196
651
350
628
885
310
805
879
905
285
763
819
453
243
649
849
352
622
717
322
255
682
453
352
984
547
675
392
345
58
450
276
208
807
336
577
935
857
640
744
448
773
34
473
824
799
856
27
601
433
519
844
152
887
878
500
373
168
222
406
100
348
102
123
347
31
376
609
773
990
854
589
530
571
317
410
80
66
96
12
568
175
931
358
316
244
429
686
427
373
214
159
196
500
740
864
897
467
185
300
275
592
724
138
915
595
978
493
211
425
423
716
220
734
586
664
819
577
625
361
888
420
245
624
134
884
167
151
320
59
293
656
115
164
976
22
358
460
54
639
269
989
227
575
166
143
293
339
52
477
501
573
181
352
318
570
370
618
619
950
253
259
856
154
973
499
196
291
430
796
457
200
292
633
505
649
277
174
802
772
505
234
306
5
914
347
968
801
925
626
733
220
717
818
345
378
20
203
803
961
269
617
289
643
332
751
740
730
848
8
49
675
940
406
762
377
969
625
80
653
334
46
921
817
864
166
658
262
475
654
251
718
166
438
567
434
329
682
318
414
650
911
301
689
505
729
640
200
692
291
882
624
311
825
351
56
916
522
739
993
192
605
474
266
554
623
733
70
49
970
782
759
55
439
448
429
381
720
583
168
925
140
195
745
118
840
190
252
223
196
531
506
369
812
270
795
422
124
436
401
721
260
571
768
746
911
708
241
678
283
606
474
567
416
421
174
918
966
874
149
777
687
233
183
537
416
836
246
68
637
836
280
702
830
55
601
564
270
929
106
409
543
141
243
17
893
588
353
584
208
619
792
749
510
69
52
337
261
37
136
539
761
392
647
958
472
798
470
617
785
393
115
138
322
910
583
962
348
359
107
953
969
226
539
989
868
472
320
693
68
422
857
48
553
256
28
545
689
257
205
707
24
936
983
152
754
542
659
420
893
47
382
238
973
633
956
594
56
639
311
147
224
380
425
63
868
946
801
878
76
222
533
764
794
383
849
249
600
369
211
629
326
476
26
375
897
261
373
697
643
890
903
631
749
318
187
149
939
484
731
553
247
929
488
132
977
851
621
411
956
707
33
537
907
176
412
11
207
146
524
869
587
844
6
790
508
263
400
83
941
706
303
736
342
866
650
406
857
604
962
813
434
256
693
424
999
458
719
487
140
697
971
454
933
268
385
807
612
27
650
271
472
125
702
618
172
112
29
658
157
293
970
985
71
298
644
644
898
801
252
255
470
398
741
155
703
19
825
973
241
60
864
376
184
173
647
578
126
618
761
889
820
615
563
590
237
299
516
462
790
699
216
80
872
99
35
839
582
336
762
160
642
401
600
446
64
705
515
769
486
267
327
868
26
595
533
610
845
357
641
499
64
759
306
785
880
259
664
402
197
141
963
679
666
683
776
508
689
935
504
301
562
689
406
872
760
676
381
319
445
210
159
947
979
416
631
425
539
910
305
581
841
172
757
278
321
164
763
883
449
437
892
120
285
792
790
946
613
397
634
436
505
56
276
18
160
131
859
574
666
862
355
313
113
163
312
598
426
397
112
288
588
140
415
609
461
866
423
423
207
902
405
296
872
224
595
55
841
634
702
323
45
202
688
639
890
508
589
528
982
824
564
680
450
149
351
148
175
509
921
859
550
805
964
318
490
525
305
279
3
45
67
371
497
400
200
92
889
556
239
511
864
41
451
66
360
55
160
735
954
325
769
909
223
242
856
558
205
959
951
331
491
40
732
394
424
635
993
395
169
272
671
579
608
509
315
139
626
513
797
20
711
21
814
648
263
203
485
569
660
452
331
584
648
40
419
924
29
456
527
195
395
911
594
575
180
999
617
148
103
666
353
673
332
927
490
583
675
636
722
31
616
27
298
225
101
588
989
496
119
329
431
786
687
107
834
310
574
777
935
203
518
112
258
77
52
45
921
932
337
71
124
291
291
98
703
565
977
636
384
869
953
575
711
606
44
847
921
770
997
775
456
129
583
780
801
699
534
602
178
696
763
198
589
647
384
736
193
43
2
576
191
844
522
793
436
751
879
680
613
833
795
70
151
686
879
518
43
789
449
716
341
355
179
953
691
967
239
637
109
486
856
185
15
280
969
192
972
831
37
294
194
639
528
141
559
329
171
935
87
637
630
583
958
223
204
403
231
780
781
848
677
438
663
345
912
706
847
66
956
995
708
247
288
898
939
278
185
881
231
638
440
597
243
197
688
689
281
202
993
129
806
834
626
696
60
738
791
827
952
314
455
483
537
529
152
336
232
313
994
203
747
61
239
249
543
83
132
864
238
717
903
93
744
21
890
112
539
327
642
219
694
471
221
467
293
157
208
178
187
354
937
582
677
55
730
671
904
835
117
763
719
524
620
278
609
844
328
229
684
241
195
215
630
399
11
902
385
607
152
575
827
212
562
237
891
469
23
309
943
56
345
566
107
347
239
945
324
357
466
975
351
103
911
335
654
264
147
683
810
503
132
328
417
256
767
256
763
659
784
457
99
980
834
357
12
515
534
554
759
446
270
327
229
623
109
698
413
641
29
861
308
548
339
739
972
297
895
85
532
823
503
254
557
22
473
563
531
580
254
791
370
887
505
532
274
267
331
605
37
657
303
525
874
340
779
92
493
12
538
586
660
341
218
533
847
480
845
856
967
889
8
340
311
221
793
171
40
565
283
564
614
809
593
923
819
649
116
447
967
986
953
919
267
751
237
203
801
646
155
691
412
569
567
735
801
443
701
629
475
478
142
494
126
932
543
600
131
943
470
684
659
654
335
373
300
575
135
85
637
239
341
991
109
813
289
506
183
93
362
96
315
558
391
412
809
748
26
136
674
660
488
47
754
511
175
302
556
795
548
25
466
958
40
288
439
153
94
337
108
218
100
197
52
904
786
507
684
39
592
821
150
625
788
989
754
622
157
373
152
596
346
995
167
472
927
321
607
354
541
896
194
258
563
593
894
58
175
642
316
469
457
489
505
113
143
285
516
220
910
133
492
121
875
57
128
261
567
89
360
958
741
856
531
384
522
458
29
857
574
69
516
927
474
114
467
73
388
220
418
996
723
633
51
120
605
209
124
921
658
54
153
903
125
177
227
54
381
711
232
416
356
237
325
650
985
245
588
672
917
364
72
375
67
925
688
639
862
25
203
240
352
901
921
416
697
214
489
923
622
100
919
423
409
914
487
240
422
599
254
243
447
559
305
442
63
589
429
55
680
652
806
999
315
517
534
538
417
526
345
565
727
436
155
856
515
553
687
363
413
39
91
198
958
859
630
755
510
463
301
111
544
835
714
862
864
442
235
497
592
605
606
966
8
791
968
88
825
914
466
723
939
164
395
309
362
73
148
387
667
112
367
205
980
976
700
203
292
932
849
214
36
322
928
148
837
569
386
545
338
257
745
887
268
609
165
137
965
411
952
280
980
891
417
220
858
176
579
41
1000
502
211
171
697
757
914
236
154
794
845
442
10
227
684
418
820
353
266
695
385
705
125
703
569
632
714
988
212
378
366
639
752
776
59
874
146
927
695
743
636
570
607
11
742
922
727
73
680
533
145
518
348
705
737
700
327
395
735
478
90
808
762
632
983
518
251
476
690
118
396
985
964
394
556
462
457
823
218
456
189
153
154
347
776
890
334
212
694
300
512
501
275
822
728
727
272
171
197
878
737
811
160
73
560
12
185
697
469
141
959
848
7
592
473
556
49
702
73
411
341
966
321
666
729
497
862
636
869
309
543
694
659
279
55
828
831
375
153
58
840
83
284
195
487
476
125
989
517
218
173
484
274
464
317
983
840
646
669
156
139
22
755
712
217
508
514
236
519
783
819
95
689
338
181
311
534
639
207
950
769
52
37
662
5
675
4
939
599
63
332
315
715
421
65
555
772
413
786
484
288
73
13
119
779
430
604
259
256
979
993
618
437
24
97
682
55
140
90
409
701
437
171
889
936
951
888
833
338
66
522
179
656
402
813
826
260
418
189
64
43
505
160
960
306
674
164
526
162
499
846
671
291
298
572
66
88
758
218
597
245
853
585
984
245
570
36
910
988
71
817
785
527
986
623
308
622
255
328
305
383
55
52
537
485
159
626
442
614
669
34
454
939
467
24
247
766
167
424
526
665
945
39
495
228
709
885
712
965
596
640
283
641
906
908
372
361
881
475
152
267
721
175
331
331
26
263
270
808
375
790
88
449
502
418
402
960
316
578
941
177
516
925
655
269
182
766
912
73
552
161
784
117
395
389
267
991
738
31
250
155
999
396
942
635
157
261
147
969
290
997
349
380
488
440
861
324
817
118
702
23
733
305
377
781
183
738
747
875
382
85
988
43
78
851
514
576
558
511
465
151
231
960
754
230
757
417
253
262
464
265
368
519
18
417
1
495
750
842
351
518
891
662
931
50
211
736
472
423
252
540
519
317
502
637
104
508
352
607
269
673
504
628
730
377
338
522
536
915
825
452
592
968
98
276
429
178
595
940
712
58
157
730
213
705
161
198
904
218
595
499
925
831
417
956
308
470
345
457
256
558
951
855
691
938
345
741
851
479
265
416
803
286
745
53
8
1000
807
442
427
382
897
687
728
589
485
927
625
797
328
966
556
94
981
656
245
571
345
613
318
720
459
499
834
938
505
703
794
576
17
932
371
115
24
57
508
942
446
633
981
771
237
906
716
90
62
83
403
437
886
259
497
115
836
233
262
847
361
585
603
490
493
198
71
283
67
471
833
352
408
583
623
818
511
988
134
271
496
711
157
242
651
627
534
12
104
156
896
557
774
693
782
414
224
722
524
652
467
396
882
518
870
831
794
36
917
742
474
195
388
488
46
40
154
968
92
169
260
901
846
623
258
517
41
102
349
765
453
370
27
668
342
818
269
817
375
626
336
23
998
619
690
385
513
470
958
671
188
184
56
797
97
384
671
660
492
475
747
234
81
481
658
946
216
267
859
179
75
646
725
465
146
640
612
696
738
94
927
41
261
502
117
111
454
752
639
764
364
677
314
953
298
207
672
934
677
119
429
683
448
7
616
757
141
248
15
168
336
403
461
965
679
786
105
96
581
879
943
151
377
522
776
274
122
222
761
568
161
168
553
101
964
77
645
222
494
291
577
72
890
107
483
250
729
127
289
932
710
763
961
757
372
940
12
630
888
454
554
180
926
187
623
77
861
819
230
474
341
823
262
688
946
864
138
951
126
275
409
88
616
837
634
768
71
878
610
704
811
199
230
657
892
433
287
958
717
478
761
596
270
362
798
428
238
149
290
995
700
191
111
21
295
824
745
200
16
88
678
68
388
692
228
469
860
589
544
54
654
53
449
79
582
220
238
772
815
880
72
994
182
489
695
659
308
926
966
473
734
549
843
243
734
426
676
688
608
120
510
995
459
810
625
286
541
437
274
236
183
843
211
414
841
703
686
427
983
211
720
701
884
218
702
62
258
106
244
693
177
550
519
128
914
145
49
357
101
142
534
411
53
487
539
575
8
88
139
536
950
654
201
387
121
444
55
744
551
176
347
5
401
353
497
74
186
136
822
559
695
783
347
128
192
63
636
526
314
491
939
240
389
893
802
634
60
991
787
812
759
989
868
881
443
626
57
712
950
289
63
89
901
340
976
886
404
758
155
869
63
953
406
861
157
876
225
761
407
971
231
576
287
387
106
730
217
667
879
109
218
226
196
811
637
865
120
891
918
133
347
27
222
225
406
807
875
579
367
290
519
380
2
687
590
395
799
84
847
551
697
617
397
63
838
692
799
744
884
609
797
599
219
393
651
265
157
105
531
797
298
934
58
669
791
634
618
111
236
68
183
136
604
77
327
295
921
417
738
668
753
589
566
573
743
38
516
555
10
557
197
879
163
703
813
391
1000
780
167
75
128
182
953
419
955
704
193
475
269
768
217
868
159
481
930
668
410
362
797
785
238
424
71
285
950
63
942
990
330
947
854
386
210
134
742
604
419
710
523
460
510
270
416
810
508
728
49
913
415
957
547
418
607
716
757
72
492
426
183
254
271
327
529
100
123
465
912
267
889
596
567
185
158
964
224
992
313
684
66
143
394
849
976
966
571
177
97
775
782
8
412
457
797
362
326
395
270
121
751
686
744
10
663
290
155
969
448
975
271
132
917
763
931
943
165
239
305
123
57
589
61
587
577
890
28
86
63
348
680
954
731
13
560
193
913
132
521
986
495
71
558
876
372
432
472
236
961
89
52
499
519
940
503
557
157
711
499
786
809
666
972
752
566
72
678
808
923
250
734
211
53
927
434
56
991
763
506
441
763
757
901
566
264
55
230
331
392
943
513
753
442
844
289
161
870
556
975
827
303
25
292
988
858
362
306
627
730
955
150
814
82
483
327
587
129
272
246
938
106
188
450
133
504
522
755
340
463
259
887
695
762
569
625
103
456
198
649
282
755
209
93
157
305
658
842
834
1
103
693
992
778
37
152
736
509
495
478
355
246
96
886
725
715
441
133
466
138
367
259
230
328
780
491
688
635
23
327
700
899
256
406
412
453
901
983
706
61
84
337
696
509
525
287
893
231
292
921
91
86
598
187
512
665
647
380
11
953
935
469
165
796
203
810
895
738
466
959
934
250
552
877
949
409
15
913
791
29
897
109
205
689
949
387
918
281
403
56
570
71
472
100
170
540
422
842
929
573
410
815
286
220
357
109
909
802
274
788
209
361
383
911
638
781
602
387
964
838
12
220
95
573
397
906
196
280
213
148
53
190
591
705
330
486
602
930
787
235
720
148
911
483
451
585
563
262
902
913
610
290
284
641
90
241
455
781
405
904
407
932
9
146
788
460
951
55
959
786
250
464
108
649
646
711
512
310
161
679
234
50
446
62
965
389
841
319
606
455
939
75
120
671
366
462
305
751
567
567
481
42
503
970
25
315
354
96
27
228
600
829
165
359
124
865
271
382
601
612
120
66
62
599
54
979
437
614
83
562
716
96
451
574
620
193
683
894
568
469
477
156
366
942
234
111
464
439
785
129
994
297
136
354
755
423
905
935
697
542
603
327
16
143
805
357
657
998
767
627
146
831
894
19
322
912
834
826
323
927
656
161
3
577
526
501
954
544
297
348
393
715
316
893
836
240
38
160
716
663
534
404
238
905
461
760
51
311
839
77
189
414
856
24
130
437
376
712
841
10
654
313
731
858
744
216
907
778
116
756
981
647
669
224
348
465
793
564
884
885
675
986
434
360
734
47
118
354
814
717
977
800
260
964
669
437
860
341
843
270
145
285
700
167
229
673
97
499
637
213
256
884
608
330
60
903
796
199
408
583
228
532
108
738
125
141
487
417
603
452
497
733
406
781
468
907
149
231
791
587
866
658
456
789
784
649
410
464
812
757
575
378
231
398
624
493
647
640
48
500
149
598
181
138
583
451
240
738
1000
898
518
530
105
952
760
829
158
185
723
126
65
81
99
63
114
705
820
214
438
353
424
262
721
146
964
321
943
165
346
733
207
442
583
803
879
42
771
511
769
356
595
417
974
192
594
569
889
152
372
481
437
375
318
352
864
708
728
563
768
523
533
54
149
556
592
728
681
700
210
211
955
833
240
84
617
396
885
688
478
758
330
418
279
929
154
648
459
528
485
922
977
276
760
763
429
541
140
905
502
60
349
909
159
88
776
873
888
378
987
898
773
801
10
962
125
971
31
121
900
253
123
864
142
882
216
278
591
263
330
25
164
682
432
589
135
828
653
364
826
964
995
464
748
751
210
399
140
968
305
110
597
109
587
357
407
123
489
674
756
242
652
444
802
937
128
376
796
253
908
552
683
346
851
46
324
762
904
343
810
714
155
840
768
81
956
225
146
510
448
866
162
282
242
299
28
140
680
27
387
772
577
873
803
794
38
365
869
295
27
834
830
575
7
253
809
235
238
160
440
109
303
499
976
259
159
912
100
398
227
931
12
838
911
215
243
946
903
75
826
343
989
718
426
410
429
73
368
286
130
338
85
527
645
428
690
485
427
426
358
848
347
572
876
820
89
500
482
118
678
842
568
300
980
968
228
954
6
154
771
750
971
715
628
781
877
334
745
440
971
392
873
830
987
254
271
994
852
669
756
85
810
611
352
833
408
449
606
142
107
531
453
451
669
658
657
586
367
847
364
183
970
257
427
96
306
678
658
958
364
163
14
522
857
607
821
640
924
813
450
384
659
36
425
772
988
358
245
275
235
440
81
183
750
169
740
243
864
886
23
388
958
823
41
296
192
32
335
879
129
778
571
199
347
336
395
78
720
933
932
20
843
371
283
419
84
553
546
257
651
204
43
570
966
513
34
129
692
509
809
9
481
943
472
419
39
704
449
721
655
506
831
36
342
674
168
119
460
783
631
2
615
560
676
339
635
653
50
763
506
103
646
613
860
734
164
880
873
583
560
829
897
410
110
907
975
104
808
90
635
653
313
602
970
671
629
795
973
744
420
332
330
656
366
921
540
700
8
810
967
860
983
737
230
134
895
847
898
940
121
602
60
578
761
410
939
621
604
640
593
458
66
518
365
507
258
641
358
822
527
166
962
282
849
9
742
680
45
744
317
936
113
435
954
402
114
969
942
502
736
378
676
353
516
220
81
850
259
119
497
468
644
533
825
825
991
515
991
801
331
578
922
569
261
383
986
834
196
795
60
331
587
803
938
597
723
249
627
375
985
347
549
152
221
703
86
232
294
897
268
611
945
365
447
843
201
505
966
356
790
250
213
972
729
35
753
943
499
430
391
115
703
723
955
154
638
105
100
732
555
1
807
591
753
25
907
121
808
411
535
259
495
367
228
151
908
723
834
98
826
542
936
470
131
626
561
932
908
486
355
146
269
264
999
495
600
299
726
627
91
186
644
131
961
399
329
6
72
95
260
202
132
425
621
211
888
662
641
41
338
694
352
26
976
990
484
171
689
808
801
360
851
346
806
210
809
999
285
391
181
646
320
957
479
185
513
801
63
475
751
888
118
294
775
776
395
298
550
115
559
194
622
915
123
228
757
885
119
562
594
378
5
620
726
563
621
222
158
165
968
373
661
161
443
815
254
589
948
937
571
552
208
937
611
254
405
694
213
343
738
600
856
460
547
569
581
403
142
90
72
40
125
966
709
542
259
393
911
461
523
278
539
861
548
398
335
504
81
961
240
374
931
105
519
937
720
785
824
383
899
207
671
24
197
114
666
522
501
910
810
331
347
436
586
191
881
770
301
683
893
524
968
734
625
483
833
152
315
984
511
587
463
39
65
400
446
796
931
412
759
569
371
434
664
876
627
68
633
353
656
386
595
411
798
937
113
758
892
554
495
380
997
209
667
169
95
743
511
767
435
185
674
718
768
561
578
632
291
174
579
550
976
45
291
83
539
520
628
91
632
388
188
392
184
105
48
475
30
962
963
125
596
975
325
280
143
854
464
65
395
562
215
583
79
812
738
823
408
677
724
799
97
812
719
464
782
784
802
697
327
4
197
270
662
619
507
648
694
338
283
928
448
367
275
914
440
267
931
391
681
654
131
314
459
398
91
501
394
693
219
335
345
84
508
141
735
184
983
641
535
239
994
460
224
751
570
336
32
361
586
260
594
482
920
841
671
731
368
745
98
54
979
492
800
750
226
781
80
809
641
87
937
926
383
818
582
719
829
370
457
441
760
475
13
4
835
155
441
721
668
742
68
707
485
693
587
409
174
813
151
610
25
667
132
789
49
632
31
682
410
922
228
424
614
57
911
985
712
900
226
841
888
55
524
989
481
939
862
169
315
110
624
977
899
321
839
868
735
799
562
349
613
6
730
780
636
446
133
503
2
157
872
62
379
65
169
124
433
18
795
888
883
277
912
963
311
600
525
405
394
870
5
86
925
559
796
257
778
841
521
776
297
714
576
109
780
204
739
916
212
721
275
547
631
276
922
502
555
510
520
41
490
711
374
191
634
245
756
246
556
264
67
936
312
643
161
116
781
569
588
722
978
854
676
555
846
831
389
766
39
205
223
942
80
872
44
363
920
947
174
786
491
961
366
180
253
946
279
958
131
454
988
628
177
610
153
821
609
112
238
643
917
785
86
114
203
320
107
844
527
732
56
143
287
318
690
831
884
161
170
329
325
965
130
593
59
528
347
753
897
494
620
815
890
554
335
746
185
337
99
15
338
393
150
996
733
149
121
367
736
873
775
18
199
490
870
809
751
949
284
435
873
88
952
389
916
212
523
654
446
155
401
899
598
855
929
52
638
728
166
669
391
707
228
802
159
499
351
423
545
779
26
578
48
371
738
158
42
836
600
180
157
54
677
650
712
93
832
873
321
930
61
714
621
262
756
630
416
441
90
981
835
92
631
577
543
985
269
625
45
87
348
928
617
832
798
789
684
372
957
146
40
749
60
47
976
297
895
49
346
104
900
392
812
354
71
850
185
969
748
495
974
1000
998
4
483
316
273
6
617
229
2
596
469
26
369
803
106
589
764
438
444
277
421
801
724
397
485
985
162
648
398
23
332
291
931
320
789
592
441
53
759
647
30
917
459
942
683
813
19
45
82
814
935
787
661
507
874
462
708
709
509
565
810
899
13
767
809
250
79
762
323
566
166
346
268
774
811
529
94
92
275
496
522
302
134
942
356
935
568
41
76
948
656
928
914
379
376
660
114
70
345
182
559
143
505
463
590
947
579
708
258
822
747
81
384
764
141
275
302
140
192
409
690
536
843
442
726
536
256
767
490
707
140
324
275
260
381
519
100
111
816
350
810
867
695
380
142
962
821
227
615
904
403
9
416
636
212
1
810
947
141
23
310
428
887
416
470
288
268
633
199
469
126
563
454
310
656
527
120
772
610
382
81
549
518
554
323
325
786
81
120
86
947
960
538
515
678
541
815
482
900
629
955
735
289
241
119
159
821
144
202
201
445
369
881
763
364
341
472
375
770
600
600
221
264
30
562
19
146
520
146
622
615
855
597
155
2
508
318
339
429
943
934
633
835
113
484
802
517
200
965
148
572
730
805
186
429
975
901
899
131
312
106
269
535
575
864
423
606
259
610
812
770
705
29
830
496
851
321
950
572
467
373
147
38
709
246
944
543
517
699
696
625
573
379
513
850
523
478
697
728
915
721
549
829
217
212
178
585
4
562
36
441
761
271
570
370
717
810
752
853
759
243
656
80
737
646
195
442
170
894
737
43
286
558
394
481
577
268
556
860
91
28
205
854
776
376
901
26
331
635
755
176
821
310
298
471
658
104
876
95
81
137
869
421
236
517
495
487
103
274
639
298
836
728
297
708
619
993
74
93
622
495
944
330
626
692
970
742
884
397
563
567
940
885
597
920
537
140
98
857
432
96
841
740
135
345
729
735
387
670
676
529
478
294
161
867
292
540
53
118
20
746
606
640
905
363
367
228
632
883
591
756
548
760
900
779
543
537
311
609
507
573
86
422
414
678
536
350
559
166
465
108
155
662
178
587
706
921
545
115
269
578
463
166
949
962
983
440
281
65
711
601
133
676
999
734
897
993
814
143
805
558
904
24
119
535
953
667
514
437
812
940
124
819
703
55
57
385
93
188
665
786
789
610
628
393
248
181
846
518
267
847
517
454
404
561
815
446
311
309
860
396
896
747
729
224
280
390
130
894
813
231
614
868
260
728
221
336
965
197
660
995
893
162
513
847
597
632
79
116
400
848
534
161
407
767
795
539
545
244
520
456
427
368
294
790
107
738
355
445
549
275
171
724
906
495
364
649
491
164
170
754
760
614
905
393
592
782
711
644
97
135
36
891
428
123
123
193
688
783
502
852
302
4
900
750
619
17
611
888
478
158
407
867
955
783
188
827
325
532
311
310
71
302
618
467
307
954
682
395
898
678
595
56
116
696
660
965
243
288
248
924
591
266
809
686
207
932
349
27
924
108
392
319
64
150
911
580
709
218
803
411
837
110
11
795
980
920
833
56
957
587
121
916
804
46
45
562
262
683
302
361
948
69
709
644
927
59
299
307
159
921
283
347
866
410
867
972
518
776
112
22
563
345
377
912
436
565
28
766
739
979
386
199
632
455
410
921
186
31
610
747
196
597
40
188
268
874
85
303
452
151
415
963
427
10
511
546
193
846
110
38
875
485
497
336
497
558
70
649
252
61
524
873
958
669
882
230
743
697
790
903
740
973
419
997
250
465
152
40
557
329
596
854
681
743
463
17
720
420
559
343
806
987
701
523
686
298
174
714
386
908
912
274
984
277
524
226
298
141
63
813
356
503
523
546
495
213
207
172
804
818
319
346
718
801
16
267
610
927
935
800
600
940
619
831
747
823
997
916
796
498
978
367
60
228
993
699
844
508
83
310
658
553
566
768
737
364
215
704
48
392
138
196
113
460
166
839
246
900
522
913
833
228
858
636
807
703
631
601
440
215
373
468
813
4
92
620
205
861
785
35
654
51
479
520
882
204
990
858
549
733
201
22
279
944
429
707
413
792
4
465
823
915
311
266
678
686
432
933
844
280
374
995
519
759
298
47
345
130
563
983
900
576
15
587
923
356
930
747
526
527
550
958
854
401
608
105
699
890
620
621
594
777
761
161
850
800
601
281
857
491
328
818
875
668
791
441
896
751
980
404
812
533
351
381
440
870
868
92
813
187
882
217
997
716
684
11
225
75
989
176
134
639
642
64
108
525
347
173
219
368
210
886
211
530
196
631
878
199
950
250
894
971
902
872
241
975
580
746
463
524
89
94
789
138
99
170
423
691
440
529
181
494
168
758
926
308
120
136
670
422
515
330
819
775
406
875
165
250
453
657
602
925
71
675
62
389
681
578
809
583
624
565
513
140
37
910
306
683
740
788
554
954
520
210
979
320
609
567
378
118
893
442
611
894
332
398
890
595
793
759
880
212
390
520
848
526
558
469
267
929
154
18
855
607
926
787
697
924
198
995
780
100
907
889
907
930
472
25
696
542
297
257
717
511
722
380
856
567
832
524
356
764
609
974
350
569
61
262
614
58
963
945
730
214
770
37
343
860
132
848
386
425
710
844
671
17
172
655
747
216
529
137
924
897
574
824
672
991
453
336
498
392
490
15
743
896
378
863
317
90
16
747
133
777
300
430
79
92
994
508
904
409
590
727
44
810
2
541
95
869
714
160
831
16
810
922
237
439
250
379
60
551
556
397
560
550
310
798
254
955
180
245
609
802
750
320
425
264
984
446
230
416
392
907
518
652
131
665
480
203
951
732
588
779
511
120
305
949
260
968
852
731
120
798
875
752
246
322
590
840
696
839
757
971
396
752
965
649
319
511
556
797
108
445
388
432
990
722
677
275
940
432
764
170
57
687
487
385
210
345
533
7
363
119
467
807
712
712
682
836
66
735
825
333
245
277
98
107
235
701
561
668
594
3
525
279
131
30
312
775
61
358
67
225
437
566
475
336
399
723
831
803
526
132
699
894
44
916
930
557
869
960
469
746
826
264
159
126
318
345
454
141
570
937
44
96
646
891
524
388
143
906
495
361
62
878
361
475
428
135
949
13
753
795
652
975
187
531
253
385
853
498
319
639
434
961
715
931
691
1000
663
898
49
296
325
255
217
787
515
991
418
574
967
338
153
377
535
776
767
409
789
253
510
287
236
713
475
382
218
902
709
203
295
640
894
241
641
62
317
363
602
38
49
404
912
700
877
562
503
618
255
439
125
558
556
44
6
796
665
239
228
496
27
776
321
123
556
422
899
297
631
989
669
821
444
65
275
930
548
238
858
464
202
51
568
431
982
215
30
430
307
498
46
84
563
25
116
58
356
514
263
408
394
517
156
895
835
231
772
339
922
19
3
439
549
446
841
288
849
505
665
235
736
641
833
575
880
70
731
119
382
142
601
243
877
831
569
826
87
11
182
153
572
996
775
63
209
832
687
778
764
610
189
997
375
454
113
135
690
212
875
784
346
41
42
989
585
406
686
940
710
889
769
271
203
157
825
108
591
136
957
701
748
25
898
630
162
93
30
860
233
914
432
651
947
148
923
125
105
984
454
809
502
408
153
259
310
477
177
576
16
230
7
782
219
638
190
873
249
977
614
582
440
821
563
204
168
690
287
92
347
140
594
850
245
365
338
77
100
833
183
606
64
969
863
191
280
199
874
392
15
333
679
819
34
932
550
139
994
67
507
168
992
898
639
980
734
625
162
549
780
156
575
779
68
164
337
582
803
890
415
225
281
754
142
225
972
165
994
254
13
926
149
233
431
36
27
362
178
754
426
373
125
367
462
631
118
123
275
497
387
941
187
887
565
29
715
849
588
528
437
887
23
383
554
173
915
491
87
108
103
313
251
765
420
855
369
901
774
806
655
111
775
155
37
281
170
613
337
900
947
853
621
944
420
306
457
88
802
267
215
283
289
3
867
771
34
108
644
35
381
887
371
806
95
541
536
727
408
775
707
619
404
121
388
28
175
570
996
461
99
876
518
968
676
132
915
36
517
90
326
146
22
359
912
253
703
799
743
474
714
893
599
145
517
153
295
776
479
838
236
895
378
726
864
930
934
358
442
368
624
967
870
496
184
917
412
41
977
517
150
707
380
969
335
918
291
423
977
493
453
66
689
884
862
547
161
490
842
948
784
463
459
112
200
919
866
348
310
778
204
99
616
303
318
777
581
41
649
331
532
45
198
89
603
497
704
507
710
808
378
282
936
439
10
2
731
286
261
634
271
333
873
375
717
939
886
472
356
302
308
686
240
944
901
785
134
385
145
33
114
350
720
934
247
368
541
505
885
333
58
816
10
141
232
248
388
169
348
259
703
487
842
709
428
54
710
813
641
977
914
599
300
857
506
417
849
325
840
459
884
943
701
436
471
519
149
628
23
67
426
790
986
59
951
771
912
669
10
907
213
927
295
756
790
766
999
870
398
401
680
162
779
517
742
776
966
844
648
973
401
805
980
999
781
141
736
88
355
952
34
312
839
867
613
414
615
206
668
823
725
809
340
278
627
880
7
976
538
189
367
996
967
52
237
304
571
157
808
403
856
703
152
121
948
174
71
471
49
352
739
561
734
618
931
804
27
253
888
91
694
765
726
878
304
941
760
905
106
867
894
565
920
581
71
262
408
460
601
54
728
915
957
896
187
471
196
500
235
462
994
13
526
811
978
351
64
879
622
786
185
210
242
477
143
651
753
516
50
981
382
184
959
668
297
42
241
20
129
339
90
826
269
415
378
734
842
252
784
969
957
252
724
383
620
960
990
553
875
80
441
206
193
858
943
253
89
477
919
50
368
526
685
49
677
947
278
292
173
291
440
144
225
33
783
457
22
997
123
826
196
291
650
913
508
350
760
566
406
867
13
386
265
588
634
223
529
783
670
593
952
584
182
195
372
748
460
241
361
604
349
347
396
405
254
918
315
951
64
915
508
341
586
46
901
349
138
897
130
481
844
546
808
254
736
613
419
532
554
901
436
464
635
924
562
255
192
3
781
395
440
579
304
320
646
137
360
353
128
877
362
269
510
277
444
197
310
160
959
653
931
697
847
886
505
382
361
684
695
702
452
168
197
896
817
619
145
578
413
22
278
836
454
489
35
345
436
379
472
470
375
42
827
698
144
236
938
513
984
815
666
433
968
241
892
696
886
909
467
589
355
139
790
376
658
596
819
972
250
831
792
208
27
521
122
427
856
642
524
10
417
172
374
770
716
971
43
350
936
723
127
38
966
257
513
375
840
812
709
880
328
491
471
479
293
28
642
866
524
987
669
742
472
998
897
14
981
435
903
716
146
760
420
396
124
699
412
228
366
306
935
111
131
235
862
366
855
833
699
918
298
386
330
275
664
86
833
282
485
65
471
311
620
707
116
67
415
405
292
352
288
269
994
393
691
725
270
34
947
634
780
511
34
232
505
75
644
53
222
875
35
974
845
628
837
460
819
178
494
663
566
317
24
329
420
935
609
12
28
588
390
424
937
250
613
259
45
194
339
171
499
113
242
291
112
77
592
720
757
252
5
18
83
869
849
660
260
694
653
314
320
731
120
287
129
973
319
118
903
791
399
268
208
5
826
370
935
731
264
248
434
383
626
39
444
754
905
791
514
875
513
552
878
426
536
331
358
931
466
663
993
135
452
242
724
146
487
578
956
701
25
956
923
124
602
394
214
715
101
951
975
761
693
361
533
176
1
879
677
232
164
804
778
720
780
923
231
749
750
732
874
992
791
909
836
93
361
498
300
687
73
833
119
689
628
768
803
769
712
167
416
639
290
301
393
233
737
141
394
74
808
139
830
410
344
229
533
276
210
685
267
682
758
236
798
233
104
343
542
119
88
332
953
401
41
227
287
417
642
60
78
785
368
554
534
515
72
144
315
611
795
468
138
37
748
205
850
578
304
245
550
783
924
34
709
656
868
317
406
958
792
858
464
36
678
551
267
429
696
697
202
813
762
22
617
129
687
63
526
33
541
615
926
120
341
939
320
733
373
952
370
727
638
701
911
14
487
781
708
118
307
321
189
852
134
935
85
639
469
812
53
834
481
895
471
140
993
89
667
826
497
452
55
803
716
378
197
804
416
189
38
436
974
516
136
202
505
772
293
682
418
209
49
248
893
306
399
591
523
48
420
196
517
767
316
397
37
332
812
101
568
418
727
964
658
445
1
438
651
337
370
852
754
30
453
225
224
44
862
466
850
229
13
657
542
220
255
534
742
231
342
677
699
81
256
889
56
417
24
199
705
382
916
624
713
365
545
401
937
642
775
349
6
24
477
237
174
587
452
152
559
864
801
843
190
506
759
999
12
750
878
274
298
524
220
979
175
902
340
101
935
291
179
860
459
898
372
778
917
446
644
946
942
760
221
122
344
314
671
317
826
93
761
102
720
213
626
704
944
416
614
833
539
917
140
713
598
443
571
311
105
57
126
735
761
654
163
293
891
298
815
998
383
492
764
215
624
578
216
967
496
843
709
315
305
714
278
946
262
735
51
861
650
49
521
960
698
577
846
527
545
755
275
505
85
698
323
575
346
219
943
680
677
601
40
401
342
521
985
478
831
288
759
44
384
491
128
640
182
672
942
74
163
310
683
792
630
185
864
440
877
8
552
615
667
640
85
101
741
562
700
943
813
800
442
733
302
854
432
862
887
722
64
778
910
21
477
940
516
13
819
884
218
280
876
734
297
322
211
322
309
323
973
701
283
673
247
117
914
471
820
607
950
270
1000
982
87
258
635
164
969
84
600
541
834
333
100
256
70
857
244
874
365
599
45
201
661
705
2
615
210
619
15
703
537
123
371
19
801
255
291
531
46
503
315
822
2
258
508
775
806
129
387
723
897
613
510
220
126
76
113
945
765
5
354
663
893
162
235
524
12
759
702
470
109
288
628
434
937
199
415
818
27
375
750
281
54
720
757
343
444
387
332
814
802
855
108
627
249
504
189
741
905
743
688
290
194
347
291
474
595
750
801
976
258
87
848
334
177
291
134
422
611
719
581
150
752
734
334
735
130
143
829
589
69
914
14
820
872
768
85
276
949
112
327
134
900
653
951
931
394
640
149
459
812
699
987
362
719
3
502
611
67
611
538
338
908
768
968
585
65
495
107
659
847
518
217
239
377
614
949
644
376
848
761
797
902
63
52
202
561
398
590
882
655
409
729
750
142
821
330
864
231
444
591
576
868
223
994
724
421
568
432
561
159
992
66
439
193
970
743
579
126
352
740
178
680
230
310
123
947
307
63
976
230
337
128
873
865
388
812
329
119
82
476
586
683
24
740
976
833
858
170
75
999
354
462
29
8
956
254
440
789
932
363
526
602
585
161
967
319
35
402
703
572
248
558
81
18
151
531
390
74
807
30
289
724
662
46
57
877
905
607
748
427
100
267
234
198
539
621
371
210
526
131
316
927
819
175
223
580
149
492
48
646
858
557
62
605
672
58
412
699
418
841
208
941
395
706
417
79
513
418
196
333
651
790
528
378
86
52
651
670
259
543
704
306
755
75
980
509
161
812
373
640
795
856
116
224
425
118
612
146
520
938
785
347
163
451
38
708
1
673
947
569
419
144
806
217
304
581
786
356
783
291
485
690
147
616
187
466
948
102
104
134
122
329
49
547
355
996
422
634
696
596
542
28
967
491
890
125
223
190
850
99
768
570
36
219
242
958
996
346
53
224
606
64
804
393
590
124
739
809
595
238
749
645
816
866
405
676
239
195
926
779
592
424
662
860
622
922
533
508
350
33
359
125
794
616
448
328
88
627
765
710
675
809
427
541
594
492
946
705
214
437
876
356
666
922
469
749
306
956
613
472
876
383
630
215
135
944
79
439
428
405
266
621
42
814
378
423
643
923
954
599
127
181
495
607
738
691
86
732
993
696
651
202
722
217
813
956
227
713
882
855
459
968
242
589
395
672
61
931
662
436
956
376
919
425
586
355
405
470
522
413
97
659
914
531
791
227
183
550
69
359
921
23
318
62
555
774
166
414
150
261
927
251
823
699
704
806
270
826
9
758
397
964
127
490
526
553
916
418
429
251
184
831
246
526
261
110
250
181
373
116
553
203
10
217
923
843
781
316
803
291
629
129
267
276
508
521
130
212
609
277
77
172
51
119
133
574
192
901
498
635
351
34
66
519
396
542
708
29
411
948
547
5
249
754
158
212
654
916
724
955
222
386
89
965
309
222
512
785
189
908
934
369
380
349
689
910
125
686
493
296
316
52
630
744
608
771
388
865
861
107
216
217
644
746
984
232
844
955
249
150
440
571
168
952
277
613
873
25
47
115
720
908
933
52
654
320
765
525
345
336
305
244
124
368
754
20
691
473
397
101
592
584
255
215
404
127
148
571
354
82
551
337
663
707
22
963
357
600
130
544
368
492
400
844
93
215
301
605
102
997
469
383
913
595
164
586
633
48
536
672
604
580
541
829
24
466
199
832
79
95
274
259
340
728
466
465
27
879
487
112
388
875
543
375
791
285
200
659
312
793
967
569
442
162
451
171
682
98
199
565
519
477
397
198
735
36
155
999
600
626
193
359
511
712
95
4
704
30
906
605
498
936
368
469
217
232
231
121
540
158
481
397
694
263
236
315
410
905
348
618
427
218
438
811
766
18
771
475
109
317
464
251
704
419
221
390
609
694
930
290
380
79
314
917
146
437
323
128
376
983
729
677
348
677
520
382
350
30
317
311
752
780
808
815
830
211
566
176
375
39
814
214
53
392
348
12
167
910
977
449
480
579
438
435
260
58
163
867
847
862
565
715
858
390
900
997
953
638
991
605
120
530
87
65
148
216
819
13
75
282
376
577
134
951
85
947
858
482
976
126
723
328
938
845
964
302
303
988
526
740
204
834
1000
487
409
485
638
925
683
930
197
521
125
67
571
34
840
798
491
250
608
681
253
569
74
388
236
694
765
783
267
160
936
875
544
177
452
938
842
706
206
182
620
587
27
321
931
955
449
215
40
821
445
525
802
73
204
680
170
771
808
670
963
770
370
749
860
378
321
710
994
237
158
959
955
131
179
337
354
885
165
466
38
958
312
404
415
237
434
786
63
325
394
264
782
990
425
562
561
779
505
76
946
434
850
617
855
851
185
281
377
905
744
183
853
649
357
778
153
416
419
181
571
321
3
623
311
568
370
609
501
798
468
26
643
503
57
952
712
224
977
534
736
522
420
361
78
796
634
104
381
626
647
802
241
788
372
100
138
675
51
328
601
30
877
723
672
1
207
539
924
285
988
213
70
314
520
927
245
145
771
822
105
801
624
99
974
832
754
160
980
323
150
198
72
83
724
514
544
182
560
4
541
24
548
428
817
829
461
807
111
146
764
68
205
529
251
348
603
523
385
340
326
190
67
469
143
138
400
698
49
958
236
277
31
513
83
38
874
561
699
849
504
161
978
651
811
103
667
835
923
214
737
850
625
803
158
680
195
371
985
966
381
71
785
538
879
127
847
896
266
743
195
274
192
249
804
468
727
866
585
140
639
27
830
340
375
804
205
31
950
949
325
515
403
816
319
728
645
71
942
496
202
469
294
753
225
927
666
139
613
413
526
306
838
719
650
4
732
905
904
208
337
962
178
22
580
91
77
271
834
324
92
988
691
28
923
538
31
911
940
511
220
110
400
969
97
43
320
194
298
990
788
726
838
130
406
10
86
588
921
502
975
96
839
40
491
478
726
261
161
718
953
442
501
427
24
377
441
689
182
513
545
743
740
140
294
652
54
981
92
414
871
620
275
964
530
1000
878
526
249
346
197
628
997
404
114
328
518
153
685
708
895
986
213
771
530
120
976
167
41
233
159
514
378
639
499
500
534
362
476
498
257
174
806
284
200
778
739
264
117
761
613
543
80
288
451
485
820
413
232
71
165
88
94
295
118
269
594
768
796
907
533
868
719
157
752
833
862
648
191
676
268
410
666
765
681
435
716
54
97
975
292
163
486
76
928
628
298
114
445
252
935
905
558
831
292
336
605
226
461
437
770
890
668
750
715
630
845
239
736
474
580
845
627
14
437
532
935
618
286
417
596
259
744
701
895
853
707
591
212
746
849
151
657
915
345
800
388
430
682
232
560
4
123
425
69
296
727
625
221
162
596
480
120
660
46
638
811
292
997
348
592
820
688
692
219
750
250
720
495
526
572
330
644
889
917
596
292
701
776
575
72
733
705
314
95
951
809
434
945
669
964
871
629
771
408
995
232
909
195
530
559
918
474
992
130
304
436
305
601
155
130
617
460
83
880
978
442
267
823
130
340
691
334
92
34
166
265
541
509
10
313
189
565
360
946
31
611
14
151
715
619
791
449
866
311
55
979
685
907
99
233
957
282
174
103
458
342
418
687
587
318
813
425
639
320
481
936
949
877
929
37
40
804
501
922
683
672
65
943
528
799
490
827
26
593
301
524
653
817
717
714
747
526
528
838
46
325
509
895
636
721
173
26
3
900
468
697
1000
45
769
833
991
510
828
24
835
478
80
902
877
702
639
590
518
880
112
85
122
960
836
524
698
530
72
845
735
502
384
213
119
490
922
230
240
294
287
438
477
164
398
687
828
232
506
713
383
714
731
242
736
412
990
155
403
634
921
362
34
112
89
341
120
452
127
318
798
317
148
181
411
228
868
807
770
718
655
639
32
17
935
592
807
219
278
465
867
819
706
38
147
63
616
212
627
685
853
793
150
99
341
930
554
44
603
942
774
713
653
743
114
535
779
955
889
221
512
522
650
604
898
34
676
336
894
594
527
798
505
325
80
486
312
438
597
818
643
729
870
257
862
233
105
530
397
611
855
98
702
743
17
103
740
778
286
770
704
843
146
829
378
55
141
602
590
368
202
829
266
197
965
483
607
532
786
614
763
303
973
452
963
485
347
629
869
777
643
971
820
188
654
154
395
821
254
270
835
932
334
731
24
915
813
706
241
977
869
124
200
801
324
343
299
16
164
398
981
29
209
490
386
346
664
57
160
273
197
729
920
686
132
471
208
959
759
3
134
674
504
731
420
342
59
651
887
681
900
259
80
92
632
199
352
421
453
704
120
218
356
302
937
875
95
780
166
512
721
865
882
671
528
414
482
190
220
795
60
815
468
166
466
203
527
383
662
227
421
954
94
715
585
935
810
527
536
956
90
163
476
783
33
668
836
54
924
359
164
998
373
698
344
808
281
213
954
902
295
814
430
203
396
849
224
113
172
305
58
476
211
968
241
430
679
262
676
531
622
332
393
44
752
833
714
290
175
636
887
262
889
333
553
641
482
185
218
113
949
303
120
150
982
117
266
288
60
873
834
707
448
990
112
558
57
8
529
852
396
540
692
563
781
282
500
470
378
960
596
629
198
962
72
706
681
416
797
802
787
179
605
975
758
222
488
5
819
490
413
339
415
832
875
202
911
779
15
775
543
140
165
838
820
819
91
67
51
319
402
544
404
577
629
541
883
470
870
142
620
343
268
911
133
813
842
773
632
629
121
397
590
225
651
669
558
80
170
444
573
559
607
276
705
293
256
677
192
690
737
990
125
640
540
971
52
480
894
590
216
178
572
740
126
863
379
435
536
435
490
720
219
10
621
975
375
818
402
180
539
225
34
610
978
294
878
902
658
811
447
100
476
853
2
885
37
716
506
553
14
849
682
218
732
869
709
130
529
333
929
619
536
157
76
680
315
646
984
617
697
232
150
982
371
764
249
40
229
819
308
752
584
305
95
367
624
947
925
119
905
189
696
579
331
586
115
144
651
848
197
369
408
357
285
698
707
398
689
428
945
53
664
280
676
189
961
164
329
980
447
80
663
15
569
456
842
21
723
805
826
574
46
593
833
488
575
714
629
901
187
83
575
208
993
502
857
629
135
472
583
217
413
805
171
292
385
341
116
249
810
143
11
439
458
596
610
837
887
192
994
515
752
790
787
399
589
454
727
253
36
946
941
433
311
606
12
788
9
542
84
219
579
994
576
582
731
627
161
652
33
355
296
434
767
723
747
983
325
721
323
631
660
573
607
590
689
98
787
19
304
859
603
460
798
308
101
264
941
182
1000
926
13
123
658
895
750
225
891
353
406
591
659
459
701
207
67
738
916
309
796
154
962
387
566
124
921
275
582
199
262
851
356
429
758
3
289
533
530
381
891
586
766
184
612
779
377
907
617
355
608
201
824
437
533
334
609
562
895
934
440
570
980
325
381
629
6
992
905
452
128
4
72
993
991
881
643
782
876
576
636
352
817
641
366
237
192
338
449
949
499
117
308
279
951
1000
220
278
586
923
330
660
666
272
258
890
712
662
16
709
994
214
624
436
720
576
889
261
591
540
861
249
714
779
839
593
947
490
825
512
319
675
303
771
414
524
724
806
618
577
845
58
83
816
326
760
481
122
397
726
296
157
813
166
69
324
95
279
236
936
183
631
619
692
671
683
322
563
635
950
899
100
797
447
402
899
249
815
587
380
607
290
330
606
827
37
795
150
180
605
514
570
208
818
194
218
363
545
881
71
910
334
548
424
22
805
920
946
790
782
594
658
284
196
921
789
595
877
702
826
391
17
306
636
459
5
723
560
460
62
112
841
640
897
561
925
932
830
273
627
680
719
298
55
631
944
853
791
97
963
307
854
223
318
432
360
533
483
677
647
714
21
6
471
396
878
462
786
848
272
828
112
984
87
666
542
498
87
974
807
537
359
119
259
101
764
920
343
345
482
844
233
182
333
770
962
289
211
636
444
638
553
209
151
193
105
245
166
825
796
951
691
585
753
436
980
723
796
461
78
351
936
764
161
450
960
502
712
310
753
271
768
818
983
886
648
996
873
763
811
981
477
935
716
306
59
591
504
505
544
537
355
535
744
387
435
396
30
948
267
277
370
570
714
881
818
330
877
240
985
493
918
694
921
689
615
648
682
82
82
137
779
336
655
533
121
4
792
201
703
606
962
757
349
847
1
531
865
57
902
431
489
588
438
220
40
506
86
38
963
155
218
841
470
394
175
539
990
463
564
93
117
95
414
501
604
824
939
34
473
204
640
168
346
355
952
835
848
695
412
300
413
331
159
158
165
910
392
108
925
83
977
363
732
906
981
445
375
881
723
413
48
867
92
333
302
544
384
923
663
587
268
940
971
589
857
176
968
948
129
358
230
451
127
649
442
424
322
20
626
316
180
613
359
133
256
545
657
67
813
693
460
897
573
921
1000
760
511
369
271
628
539
730
24
745
634
619
692
40
791
176
563
228
486
83
401
772
868
850
344
360
883
817
43
164
305
292
749
539
878
927
672
606
77
478
594
308
566
915
832
717
402
286
500
336
1000
931
910
674
668
759
37
125
600
480
936
27
875
726
90
517
182
347
440
78
71
559
867
935
191
714
110
820
339
981
528
141
204
516
879
916
134
510
975
946
421
676
583
461
80
273
814
190
287
793
880
489
253
355
895
434
412
809
732
469
874
912
807
463
990
737
595
592
666
207
426
143
182
415
984
813
135
426
567
306
210
679
894
467
559
93
9
279
357
745
644
675
123
921
118
942
306
606
622
286
295
24
908
613
102
370
455
697
459
944
202
946
595
872
24
39
574
941
37
552
706
187
861
151
649
793
399
229
365
834
40
450
212
478
610
882
503
616
876
508
60
474
32
796
185
532
990
502
467
830
256
695
779
595
808
651
858
386
94
748
495
745
517
997
977
145
928
629
454
880
81
752
462
103
593
223
237
92
961
479
784
406
562
395
260
50
665
828
757
978
895
850
951
229
97
209
646
158
577
951
809
505
749
518
461
704
162
148
941
657
617
953
410
927
516
812
224
739
301
67
537
603
525
964
600
931
998
609
923
70
823
152
972
588
302
38
17
570
395
808
220
617
220
570
519
258
730
464
957
353
421
236
218
597
976
550
969
933
945
293
563
367
957
746
886
850
241
733
120
55
958
348
926
862
854
240
62
112
735
312
159
354
762
988
350
958
839
439
937
259
791
264
940
614
370
815
350
306
675
14
513
885
560
697
861
690
779
548
968
415
829
76
798
650
358
101
624
654
524
84
138
35
453
766
456
768
716
188
250
322
799
47
260
781
378
136
32
265
239
63
997
30
531
380
645
95
234
180
183
398
796
501
64
139
43
701
162
585
32
266
810
175
998
755
447
800
755
659
936
995
588
547
759
324
315
51
512
657
28
807
590
887
172
864
791
546
438
707
511
580
619
33
868
859
217
646
818
885
482
439
139
156
968
463
835
811
888
398
422
352
566
795
832
782
673
203
534
1000
782
241
522
488
987
499
440
819
550
801
721
804
513
868
483
325
580
240
581
930
758
456
683
669
282
799
275
461
436
537
957
610
819
97
62
138
762
251
794
301
898
711
544
718
636
609
272
848
564
208
459
888
328
430
428
356
567
286
493
281
74
398
163
811
121
578
47
27
487
601
94
569
948
750
667
958
414
962
47
66
467
560
720
267
932
288
134
520
562
764
610
45
105
796
321
151
137
705
856
585
459
344
836
67
436
425
273
886
531
702
403
23
985
709
866
713
961
826
909
513
396
596
974
395
915
811
907
999
942
394
47
397
827
653
352
541
228
514
914
386
69
964
249
512
489
524
451
964
75
278
630
868
742
455
644
318
986
975
611
358
57
101
918
817
108
797
483
693
353
76
941
386
540
203
78
65
324
26
706
273
896
34
532
20
191
120
627
484
808
360
600
257
716
107
736
172
602
34
383
396
313
326
25
634
260
147
529
171
504
938
386
611
93
755
499
246
749
342
957
900
170
421
733
184
893
595
578
832
810
930
8
594
590
993
521
888
966
872
373
724
669
145
787
275
509
663
904
595
431
379
435
539
177
401
705
757
49
34
597
12
611
350
778
757
674
738
823
94
956
194
489
148
833
56
107
641
474
759
721
816
433
258
757
111
174
768
774
396
614
994
602
616
374
239
25
568
995
510
551
852
392
806
618
130
430
805
896
162
954
839
599
492
129
465
552
44
520
556
541
5
503
576
979
884
419
705
194
928
874
250
337
286
499
439
645
769
968
635
752
451
741
497
158
293
174
778
858
995
437
703
26
770
751
604
219
928
368
892
65
635
971
193
908
284
83
592
107
578
923
201
241
284
773
329
718
361
706
60
809
973
485
960
369
905
727
20
770
692
936
422
398
974
671
14
842
960
498
518
548
656
51
44
254
520
657
192
384
201
699
138
566
207
250
778
864
454
880
327
357
667
934
21
34
762
111
486
900
248
954
883
335
137
275
541
758
708
932
122
829
997
584
148
643
268
601
799
519
636
47
907
382
377
259
242
227
117
3
334
633
925
681
801
722
604
298
589
442
232
586
620
770
69
177
402
589
308
951
47
496
680
898
411
439
820
492
525
408
675
595
811
866
444
404
79
141
895
987
600
608
142
811
268
99
500
891
476
555
497
35
998
488
252
17
668
514
231
107
207
390
787
31
685
588
561
454
654
777
986
765
999
492
220
565
792
967
1000
262
146
864
878
941
305
15
773
221
876
767
617
695
533
335
546
33
65
623
1
132
766
664
710
412
517
628
776
521
573
115
759
339
203
646
102
26
409
786
590
879
167
393
874
169
961
188
899
550
758
550
706
503
135
338
657
36
204
210
277
202
461
161
18
872
823
44
317
188
872
876
540
412
179
769
104
368
557
716
603
413
147
525
989
717
262
623
784
78
220
658
311
64
765
691
720
921
797
760
208
365
550
338
810
591
324
559
788
898
362
674
52
422
60
677
968
290
768
76
25
134
182
977
672
564
542
760
313
981
235
763
497
854
821
379
626
440
643
814
196
141
352
62
254
914
283
716
219
291
173
291
545
837
641
417
182
56
317
766
78
897
803
416
100
226
65
908
287
474
464
879
901
219
654
512
555
320
351
886
652
144
468
691
324
925
894
898
889
529
593
153
217
778
680
324
707
100
36
710
384
28
260
294
811
755
905
482
818
215
820
144
970
602
809
875
936
856
2
63
732
588
232
343
162
476
786
887
511
802
553
54
529
627
800
998
558
905
691
443
321
855
159
576
962
716
42
819
863
738
704
425
762
623
377
685
313
103
537
21
103
290
945
477
491
362
147
762
242
635
591
601
743
901
311
217
692
80
97
950
595
736
61
853
605
70
638
708
800
650
73
718
128
906
339
323
277
469
489
776
84
882
775
985
249
799
859
384
777
490
189
322
23
307
742
954
194
265
478
649
194
787
351
538
452
454
801
319
279
602
312
662
427
475
933
839
441
293
868
73
682
969
200
974
102
467
945
538
811
602
9
968
308
472
792
366
238
30
586
532
645
80
763
408
373
963
664
343
133
566
150
104
985
289
853
699
919
633
954
791
723
712
987
958
835
759
970
525
766
746
294
485
608
359
611
750
248
884
532
268
637
4
723
263
22
909
898
531
534
376
624
664
148
347
360
485
901
876
407
458
17
394
259
418
27
226
291
12
975
268
834
863
613
249
480
942
264
567
718
132
145
832
187
670
405
74
303
379
298
243
823
250
696
397
297
119
941
714
790
72
744
710
326
105
931
325
420
574
805
845
108
858
914
93
114
369
699
833
480
290
112
14
719
813
226
362
283
438
884
398
945
74
797
486
819
627
470
741
841
723
740
882
439
128
468
88
477
265
370
13
534
905
246
915
922
677
212
57
998
217
528
146
457
298
99
573
976
622
809
772
820
215
324
501
581
434
927
49
424
867
221
750
974
96
296
147
325
633
12
524
350
262
927
843
662
572
114
743
922
291
431
724
769
206
201
705
96
884
374
919
556
494
183
288
726
922
778
269
617
779
323
741
911
265
49
622
202
688
451
254
628
622
364
569
517
219
410
764
710
435
169
365
550
766
792
154
131
703
535
182
976
167
297
617
769
395
948
298
891
338
735
196
517
948
569
990
692
21
604
62
281
993
248
177
669
272
939
526
255
571
703
78
384
742
884
564
964
860
710
234
100
94
426
969
407
117
998
954
550
765
217
561
107
352
100
404
176
817
130
809
798
563
782
322
829
891
854
627
227
695
575
253
125
777
331
751
267
629
59
605
703
673
669
814
725
599
508
719
746
831
626
848
774
191
357
29
929
11
563
760
843
995
29
420
854
784
788
365
892
871
547
514
842
971
247
593
23
166
378
666
856
960
310
905
347
847
296
24
705
851
829
498
553
622
439
932
603
562
872
763
78
414
491
732
800
481
442
480
588
223
116
600
765
979
632
548
525
365
862
921
559
194
633
984
110
930
366
251
550
785
588
726
328
498
922
723
944
236
891
714
410
341
707
709
869
337
915
931
412
604
942
780
946
847
264
675
626
940
123
824
174
696
246
837
368
782
940
393
419
816
448
822
915
807
703
993
416
967
969
295
489
473
371
280
103
911
564
617
809
666
239
135
536
896
585
457
49
596
202
457
143
839
373
350
957
308
888
457
923
889
374
52
135
102
706
497
411
213
753
239
116
73
97
672
981
517
94
5
381
925
512
365
604
797
175
354
871
194
114
713
337
136
577
72
919
219
245
222
528
53
125
92
699
969
249
164
995
794
238
739
764
274
475
292
378
239
174
624
191
104
918
112
596
458
458
444
346
409
979
309
294
498
842
235
701
209
765
418
488
703
599
803
482
899
765
427
131
738
236
224
808
115
353
995
229
513
634
713
836
883
710
763
863
639
194
468
14
163
580
408
297
847
896
247
320
929
730
706
869
111
827
653
435
404
26
232
842
393
36
932
80
534
651
138
291
423
10
348
704
563
912
854
971
472
773
921
678
368
607
167
496
325
336
326
604
629
542
150
54
986
397
629
872
908
655
662
32
277
620
863
400
640
656
801
82
342
473
212
505
214
858
454
564
557
284
601
872
515
150
764
119
276
493
738
163
688
960
716
644
662
913
951
687
9
734
211
779
920
857
892
511
24
989
488
885
95
35
835
92
599
166
464
182
338
413
5
31
282
778
283
753
563
273
395
796
614
819
582
65
9
762
748
199
721
412
847
799
944
403
293
486
20
407
579
922
388
726
915
583
217
232
642
279
527
544
644
966
232
762
686
501
46
811
132
285
710
635
821
150
838
595
614
163
890
46
565
536
480
587
168
243
798
953
720
463
225
631
337
853
496
127
816
686
587
116
65
970
589
16
318
465
577
530
889
984
705
419
675
892
606
934
390
586
55
870
184
289
244
763
684
958
280
920
244
703
391
548
552
6
504
597
590
279
800
550
487
183
663
629
136
505
247
136
350
603
308
763
75
843
737
956
171
599
981
657
379
69
435
346
613
476
329
777
101
666
725
533
814
382
303
771
252
424
246
28
463
833
199
282
807
491
180
773
720
902
612
45
613
394
173
518
447
30
128
705
76
621
265
761
582
554
909
541
238
455
928
639
711
69
381
438
755
630
779
984
406
57
954
410
238
585
147
239
457
468
950
635
365
669
162
108
165
120
740
963
955
869
819
573
167
141
205
996
507
52
130
899
799
710
703
566
308
848
372
38
721
53
38
255
703
640
244
174
19
633
723
200
809
656
753
417
418
714
551
183
826
57
272
333
93
264
79
13
490
849
746
401
604
223
795
728
740
403
930
839
74
506
373
244
892
580
609
765
886
49
575
154
383
498
202
628
353
723
559
527
337
588
560
857
863
778
502
757
970
832
45
273
468
667
856
229
895
393
480
993
705
549
990
449
254
772
406
400
141
402
86
693
474
902
460
235
416
978
561
178
457
277
523
472
150
897
127
749
263
57
790
285
210
314
576
382
607
614
847
129
645
499
141
308
644
845
595
636
984
303
935
739
472
626
318
288
997
153
178
983
84
510
66
921
969
197
675
741
613
431
721
508
606
744
342
413
627
148
752
893
669
796
241
888
926
598
32
745
806
590
981
509
684
373
896
716
93
214
214
476
195
314
212
711
629
439
186
434
986
9
962
609
991
148
145
165
394
799
717
255
416
27
982
166
941
704
394
661
554
855
102
762
259
168
403
382
961
729
590
887
505
299
979
17
684
947
558
896
969
790
759
882
628
248
306
457
687
624
979
358
439
614
265
169
935
824
990
572
235
416
601
359
762
891
922
236
484
43
615
891
675
127
452
44
104
411
273
790
62
912
511
513
897
44
286
753
55
863
491
264
724
425
587
272
246
35
321
562
24
841
470
399
214
542
20
248
471
301
361
124
566
838
713
871
600
219
968
410
322
340
105
28
559
313
83
819
970
107
791
453
925
384
377
441
818
835
507
870
138
281
407
887
187
463
339
145
991
891
861
549
382
473
857
244
152
251
116
460
865
961
96
291
121
248
453
273
689
301
176
469
916
964
315
968
519
207
968
256
14
527
62
950
62
893
591
443
566
106
774
166
716
729
304
579
432
136
612
825
448
554
690
409
34
395
402
862
669
175
221
695
728
593
816
165
836
896
58
527
216
508
296
337
347
595
654
47
155
763
949
339
643
129
761
361
644
786
284
120
408
668
416
903
510
275
378
882
634
56
977
691
512
923
816
532
838
466
291
23
117
36
685
314
348
237
506
463
342
317
73
827
472
672
722
636
792
31
17
323
331
950
903
630
639
179
339
52
673
310
353
510
751
923
848
644
323
932
888
153
815
612
171
417
132
385
239
77
936
128
637
333
110
521
754
670
165
806
505
779
329
386
853
572
42
334
983
705
863
276
874
326
87
89
712
381
838
529
973
280
424
740
981
916
307
9
913
169
396
648
767
973
82
13
997
308
144
973
279
186
402
311
785
161
359
395
87
820
230
785
95
728
982
834
146
934
549
705
395
448
857
355
152
699
372
492
917
80
939
902
86
738
315
284
10
849
942
640
775
941
547
202
697
669
806
710
191
244
321
632
651
277
941
929
778
515
526
866
245
916
710
801
608
824
134
968
154
834
701
550
469
67
82
867
162
247
81
810
5
392
643
892
708
784
195
462
142
230
396
940
213
883
503
340
881
265
451
400
516
384
579
219
439
808
37
321
261
739
628
707
655
700
462
192
615
947
624
150
64
338
971
615
469
934
484
189
632
496
800
352
16
988
396
720
20
933
854
186
580
222
343
333
752
241
915
80
967
635
736
305
400
202
913
563
415
293
942
412
959
511
393
565
74
530
752
948
881
730
423
835
473
900
323
829
264
191
48
119
976
62
755
650
235
463
264
429
79
478
701
556
428
801
193
982
453
369
826
298
454
858
433
311
745
422
967
433
401
759
142
520
80
130
538
297
239
122
683
288
46
486
207
995
682
595
12
780
723
125
695
995
487
789
674
300
665
749
394
955
624
637
858
957
840
31
651
551
431
602
638
942
815
77
199
813
212
463
486
441
422
445
786
488
241
351
521
881
808
761
576
332
430
961
683
955
513
808
353
652
296
599
768
579
295
818
939
536
57
983
467
373
86
286
190
10
141
409
491
316
388
459
913
935
248
314
582
743
927
794
954
440
438
195
527
403
356
427
165
502
645
749
14
687
305
868
173
483
69
352
576
636
843
136
961
705
456
643
576
241
718
410
351
521
712
414
896
822
452
117
299
461
376
969
596
826
300
328
199
258
203
513
806
726
25
173
551
239
862
591
301
608
586
636
685
478
988
390
392
118
998
154
418
532
22
98
356
916
593
979
48
598
129
586
591
789
47
679
938
9
913
51
65
857
25
921
300
115
272
186
306
555
699
958
994
641
142
148
375
903
997
734
599
746
346
122
283
519
831
159
575
195
761
361
965
939
316
247
356
611
345
45
634
789
706
720
447
482
93
202
736
463
736
423
514
725
278
632
951
546
198
647
175
374
409
748
348
632
528
597
159
171
365
901
921
544
572
221
561
24
401
562
724
488
244
555
787
980
961
309
35
995
992
552
791
676
331
797
283
73
409
284
208
183
497
601
157
181
982
70
676
48
328
275
413
250
470
636
222
45
427
544
89
845
393
503
354
786
906
679
396
481
401
974
936
406
72
524
216
730
721
292
2
737
951
865
405
239
951
962
583
563
321
457
473
972
554
668
588
391
360
378
115
66
235
38
421
712
944
157
697
585
983
4
807
211
744
556
743
645
313
169
268
473
150
783
27
921
56
819
31
918
332
500
499
69
671
468
710
447
126
779
701
343
331
961
381
335
571
881
409
737
522
725
941
835
377
126
781
7
366
865
723
444
695
38
469
819
170
683
32
509
133
187
402
783
806
259
442
38
26
755
254
123
948
66
802
430
360
592
113
800
479
469
492
918
947
86
136
731
346
956
518
140
704
2
716
543
558
168
420
597
302
229
517
527
677
434
726
888
33
636
915
793
471
441
643
763
352
628
466
263
412
853
254
239
447
529
753
294
520
818
700
879
905
163
728
371
450
602
375
26
201
957
400
253
117
253
379
259
120
47
145
871
885
298
408
335
178
5
460
378
108
664
277
28
660
900
302
666
807
386
353
19
112
62
634
764
923
731
591
851
364
368
836
927
696
57
416
517
202
858
399
929
976
859
216
814
245
207
684
889
588
379
390
193
693
599
742
556
751
985
125
619
788
654
767
231
588
317
245
276
640
261
304
254
620
61
42
622
487
794
102
772
487
987
74
829
445
265
836
775
182
119
529
637
648
532
465
598
995
176
395
688
947
583
321
992
406
854
439
940
121
1000
232
555
98
981
297
186
270
548
353
599
697
450
180
553
666
126
663
196
396
999
878
104
18
294
813
92
210
323
126
608
671
95
404
286
139
647
148
267
629
449
276
144
700
665
241
572
780
278
517
269
533
632
618
962
741
143
369
616
834
429
994
530
813
288
908
509
207
402
746
880
983
870
23
999
735
780
680
605
34
800
582
509
211
396
581
206
92
666
964
889
886
585
544
887
133
284
75
343
786
686
321
922
752
800
248
663
183
346
18
895
748
154
750
518
11
176
51
333
120
451
454
216
338
235
122
806
866
662
352
386
130
997
657
177
848
648
55
917
770
251
513
674
709
462
440
82
157
579
626
578
993
593
220
584
482
74
929
962
564
860
615
635
691
716
333
855
603
120
943
75
77
723
786
999
988
709
113
806
544
242
322
240
325
734
651
490
574
566
208
470
695
47
910
394
782
94
925
975
20
599
232
723
862
242
116
64
990
22
579
693
653
660
961
85
258
567
972
612
84
227
146
710
972
14
337
843
246
119
591
314
151
116
352
301
457
374
966
345
311
577
877
918
33
125
698
526
716
369
748
33
801
417
601
58
29
771
67
390
149
473
653
699
704
221
338
149
50
408
184
588
948
405
725
225
412
706
539
846
652
998
757
958
771
282
857
227
118
832
242
943
956
721
643
566
129
365
701
635
566
562
191
645
448
561
583
272
486
634
353
903
645
975
294
353
821
557
666
803
877
750
633
818
769
82
346
531
837
550
283
692
177
990
295
389
658
227
897
517
187
164
464
497
675
558
194
730
244
141
619
130
854
395
431
651
716
309
61
4
686
904
559
133
438
602
459
676
303
918
649
680
205
337
728
134
319
76
153
776
595
134
955
354
875
423
13
291
133
401
490
180
139
70
577
932
311
914
379
846
353
998
442
703
949
792
515
465
493
687
321
385
845
415
673
446
592
649
861
319
592
983
780
146
844
738
72
369
11
48
831
135
239
940
965
925
145
886
369
775
99
780
258
764
517
773
398
29
30
539
13
556
155
493
554
778
191
416
69
643
395
667
550
717
934
215
48
496
776
172
316
540
998
21
341
150
148
986
804
56
774
136
842
493
13
137
955
484
220
297
324
547
927
497
637
679
285
178
382
134
839
124
399
454
83
340
356
44
978
747
715
468
607
873
871
914
409
466
833
734
10
844
557
549
319
924
257
492
11
301
785
764
269
773
982
739
110
318
494
851
731
890
953
374
504
86
778
539
469
587
468
794
484
601
832
977
36
148
940
999
716
747
314
936
56
642
93
787
513
438
870
388
93
52
41
292
23
553
853
444
779
698
622
738
514
830
623
92
144
341
410
955
470
697
27
125
69
211
292
332
458
1
186
324
351
317
849
365
787
171
229
697
714
245
252
36
91
366
275
827
977
379
784
500
406
718
137
830
136
967
455
179
888
370
414
275
316
522
249
17
36
762
988
480
432
961
92
60
62
684
936
249
246
398
181
68
658
844
764
664
141
774
237
669
477
772
16
218
325
233
970
305
9
140
957
813
613
89
896
420
972
943
906
306
552
295
251
571
572
457
174
68
318
44
672
21
722
316
260
362
856
818
413
281
379
962
849
105
641
747
434
160
243
272
281
469
863
596
327
131
188
591
577
725
869
114
332
566
167
260
722
309
183
888
902
315
419
683
382
615
346
346
703
925
284
299
358
984
751
149
482
9
880
456
213
282
708
290
220
674
814
722
763
844
331
859
288
63
370
604
516
809
808
218
33
428
140
330
842
527
632
12
492
379
815
25
309
156
312
40
315
373
24
300
862
43
158
991
819
364
766
732
47
769
427
277
995
539
383
115
180
123
844
877
21
679
862
577
607
763
513
375
225
902
211
804
152
172
287
769
410
996
158
333
143
715
798
631
494
284
593
695
560
198
706
788
844
914
664
791
547
197
607
625
803
986
825
453
723
54
972
408
852
298
671
922
495
636
585
314
372
51
173
412
642
33
772
421
518
181
776
412
406
339
929
32
882
715
640
193
419
104
906
803
151
83
86
562
536
222
164
662
19
612
808
324
739
736
933
463
46
393
538
986
841
207
983
65
868
753
760
981
200
156
314
420
189
297
658
901
810
696
508
317
113
515
955
567
617
812
501
678
807
246
462
928
940
467
35
253
660
116
84
666
13
717
458
600
876
890
476
291
54
48
426
163
961
897
724
732
532
602
636
357
988
321
470
284
772
37
312
465
765
617
243
13
95
926
968
729
547
237
750
43
783
736
551
429
616
258
286
53
674
321
219
645
249
166
676
498
399
960
790
325
799
415
686
98
4
175
211
402
131
455
251
456
76
465
351
805
821
423
115
416
21
937
733
952
386
755
187
101
813
743
195
58
207
533
277
818
970
524
712
23
130
615
139
926
730
356
442
995
84
859
297
743
912
984
642
306
656
445
613
613
647
191
233
400
640
346
737
167
503
826
584
447
627
3
45
43
769
990
399
965
301
545
181
103
511
423
391
560
20
212
857
966
965
991
195
59
195
316
151
941
777
490
540
967
215
628
944
78
82
276
466
117
588
703
766
726
717
313
172
417
496
29
571
471
153
19
866
52
395
54
786
726
817
833
479
848
689
831
296
244
616
288
874
534
665
159
891
553
850
125
32
627
969
44
744
764
232
34
245
83
172
727
140
697
850
413
266
204
525
625
187
153
74
739
99
462
506
88
615
532
480
448
617
906
900
194
747
710
458
509
961
419
983
899
780
150
114
645
138
507
655
511
734
439
514
115
118
151
103
984
860
1
232
180
150
805
728
708
24
829
53
354
216
20
345
867
797
188
196
823
878
132
878
105
103
282
411
83
760
519
559
561
828
801
458
815
772
881
887
615
691
385
16
490
93
920
262
201
751
326
682
733
895
16
606
646
237
754
468
151
100
35
71
138
470
889
29
789
68
457
289
638
118
549
224
187
265
664
181
217
940
95
726
589
895
433
683
537
89
302
632
583
317
60
999
436
800
250
405
565
797
583
915
893
848
729
762
164
918
650
427
60
683
706
103
513
101
601
175
303
414
516
974
701
860
178
919
893
672
981
126
823
155
804
358
193
790
577
702
85
3
193
443
484
585
846
735
435
850
367
87
558
130
893
860
893
869
299
509
906
999
607
755
300
397
529
178
973
551
987
313
548
341
274
663
873
548
431
918
565
161
436
920
607
521
874
773
320
522
381
927
807
950
608
183
380
652
809
403
517
58
192
676
219
296
278
279
777
975
662
500
328
608
972
225
837
815
664
719
30
863
745
179
354
368
276
446
108
473
924
389
239
95
585
219
921
530
137
410
286
876
483
471
650
424
766
184
667
466
65
274
162
850
96
276
78
366
791
848
455
998
24
460
521
637
456
581
726
690
474
18
937
517
24
544
969
672
711
867
824
803
917
421
948
651
112
360
444
197
581
624
744
801
366
859
599
675
716
831
928
230
806
210
208
819
494
117
136
651
850
760
17
1
126
178
533
38
386
838
600
704
181
79
470
909
549
310
667
616
362
379
578
616
405
790
658
316
474
782
996
900
865
569
383
224
171
200
886
111
855
638
101
959
608
803
802
260
357
439
932
763
81
463
31
310
278
738
676
6
69
995
341
264
592
419
403
353
959
953
401
16
692
351
74
738
5
502
892
723
727
596
769
570
729
372
41
532
972
788
460
401
976
325
620
758
831
93
352
644
300
57
661
720
972
481
20
575
666
945
5
209
798
772
503
109
805
830
209
13
999
766
332
29
588
242
875
373
300
322
584
618
959
332
396
547
255
867
259
370
708
30
822
402
67
449
138
26
61
329
704
71
932
586
36
431
683
673
234
4
674
529
26
162
190
844
343
767
650
917
586
104
869
898
242
604
274
942
478
343
771
277
358
129
154
547
180
327
922
540
437
198
865
403
821
496
410
607
362
643
354
727
50
98
370
171
644
811
798
425
547
743
442
285
154
463
886
324
847
959
700
676
574
73
675
756
271
650
613
938
464
800
118
454
392
643
621
586
638
86
548
982
665
180
772
124
357
770
509
502
943
115
126
389
540
395
920
766
114
819
995
876
252
337
17
656
238
798
970
450
774
955
763
589
769
229
712
401
355
885
689
932
828
507
483
208
58
24
748
86
880
952
966
494
602
219
851
350
297
162
581
266
769
739
859
296
752
770
711
730
802
725
451
13
938
735
141
79
496
933
371
900
227
127
976
593
202
364
616
451
890
231
160
581
291
494
729
405
878
659
631
828
592
348
999
876
478
299
375
184
76
967
268
239
664
43
618
764
887
748
155
303
199
800
767
834
532
633
17
19
139
168
126
989
962
781
96
899
540
836
735
529
358
405
698
350
389
429
483
501
228
146
597
723
190
387
371
324
776
344
146
177
191
762
906
456
385
430
633
689
296
819
933
63
84
766
530
71
159
614
324
630
623
207
530
465
689
647
150
423
505
327
589
110
658
467
821
950
360
496
39
329
307
4
439
717
985
625
235
746
117
727
228
252
86
361
269
476
333
636
604
892
507
869
654
34
78
822
29
903
378
604
23
241
281
913
93
11
631
808
141
363
682
753
171
471
128
964
795
913
929
616
363
814
793
619
982
955
643
911
663
625
214
547
935
672
61
421
319
237
572
676
406
264
104
492
269
776
581
653
82
990
578
482
424
140
732
913
105
722
701
287
766
913
441
278
261
562
624
303
119
76
674
127
24
238
750
462
587
980
260
709
679
672
942
377
965
46
543
889
446
101
886
922
663
836
924
107
59
385
223
502
200
921
777
322
28
851
947
487
507
976
752
889
293
417
989
705
167
323
984
100
110
154
984
58
364
81
864
767
701
354
730
387
320
703
427
376
836
942
46
28
74
804
614
820
421
160
829
494
935
256
45
788
980
841
726
907
481
42
176
768
596
347
133
87
241
952
392
413
537
341
743
874
269
27
214
912
51
620
407
678
452
902
851
366
398
607
734
360
565
444
92
182
542
174
832
136
310
410
233
136
986
801
782
931
780
996
129
370
382
998
169
307
915
748
408
697
95
52
567
74
470
840
356
625
197
894
728
374
168
255
550
424
107
809
67
104
184
188
725
701
988
984
172
749
51
283
515
46
82
160
906
968
115
612
66
994
472
373
132
971
260
658
380
683
578
974
447
811
480
875
989
105
255
966
862
982
759
979
852
556
414
354
911
202
740
306
868
741
156
566
553
392
379
378
436
890
303
474
283
916
997
466
597
924
813
609
132
467
573
207
780
536
822
272
348
941
44
576
573
645
647
89
853
908
290
173
451
178
724
687
147
850
858
633
761
881
642
974
315
752
66
109
911
289
188
880
70
370
864
814
981
304
405
825
70
144
329
835
788
425
114
712
781
201
105
944
64
602
445
421
117
726
895
488
927
334
225
646
192
437
576
972
498
152
587
541
139
875
409
523
167
350
901
540
487
872
142
743
43
80
189
553
725
137
260
3
812
779
311
393
60
895
75
246
846
36
687
63
528
739
692
176
892
886
206
720
985
275
450
465
868
290
16
692
12
628
182
184
224
658
473
509
523
267
658
739
814
415
755
682
489
77
911
616
182
519
82
291
284
65
823
854
56
172
3
799
221
233
51
680
331
161
621
983
540
951
394
743
845
805
109
191
369
69
970
709
492
35
262
979
23
11
830
24
859
355
523
885
988
575
601
898
982
91
636
833
762
330
433
16
19
934
945
482
226
846
389
325
283
591
260
807
387
375
753
12
70
23
123
16
921
384
343
221
674
48
232
319
252
362
676
429
612
759
592
289
27
773
801
548
490
546
93
19
128
369
838
858
662
95
217
438
674
748
609
784
283
747
753
787
353
649
765
389
342
719
890
873
179
704
601
75
719
301
901
398
926
24
982
413
96
599
170
897
688
265
923
519
30
701
734
30
877
554
252
859
908
162
173
663
645
633
66
216
966
351
662
867
135
830
802
807
226
958
491
75
811
963
136
956
196
486
880
793
428
919
797
177
388
723
310
146
728
883
599
199
109
626
977
274
972
53
635
77
456
783
901
818
666
181
487
892
850
80
165
817
658
454
280
208
356
507
517
478
346
689
272
313
298
523
127
785
830
967
412
689
345
525
658
379
805
879
247
759
283
151
271
927
191
856
101
71
792
11
906
720
255
949
487
991
921
513
390
16
712
949
371
661
780
528
795
55
305
127
530
358
323
563
37
923
889
124
481
351
447
397
944
318
370
84
564
938
571
466
744
815
634
688
874
834
821
857
798
242
44
475
789
997
52
82
580
610
416
408
700
296
602
786
923
978
881
328
797
292
420
699
530
410
472
344
765
109
588
438
436
850
407
755
309
882
853
783
606
973
878
834
763
980
752
544
550
203
476
779
476
476
410
318
938
102
889
947
320
467
494
262
215
119
392
999
231
626
419
515
726
34
882
486
756
742
960
354
772
485
685
297
967
605
638
50
986
279
246
906
408
289
334
922
434
772
95
597
790
887
456
261
710
310
79
128
618
579
732
806
988
509
928
343
551
697
1000
466
616
345
978
370
601
813
639
656
961
232
717
15
798
819
464
88
589
642
117
494
889
978
379
338
249
176
799
107
601
845
274
179
226
628
291
5
514
333
80
454
188
544
780
217
734
7
139
691
836
955
380
486
730
887
380
898
494
373
267
845
665
671
529
616
31
851
986
617
166
94
199
748
645
417
562
747
200
137
365
391
606
419
507
587
79
523
591
650
542
893
349
646
128
251
924
210
541
443
880
397
267
237
598
779
902
846
371
71
792
389
18
508
448
990
263
757
586
826
861
37
265
371
767
963
947
399
164
316
622
375
260
393
988
965
342
260
691
483
842
611
296
439
610
844
66
550
607
684
124
824
92
984
531
535
433
622
476
86
675
913
532
63
432
332
364
818
516
33
121
99
93
700
239
747
223
773
701
625
134
384
865
207
12
795
1000
885
671
405
159
556
779
147
966
527
22
665
607
137
914
917
662
715
541
867
430
449
439
417
403
821
187
529
842
514
921
386
152
724
513
225
67
686
327
236
41
779
812
427
330
595
443
479
424
201
609
179
104
214
977
44
570
595
395
832
546
704
25
330
248
90
683
172
377
535
714
451
734
515
197
357
218
632
112
835
235
664
690
56
898
176
176
388
260
182
501
821
239
579
705
587
150
903
675
546
157
856
140
477
310
718
230
949
713
648
555
676
622
327
825
269
908
578
521
769
116
37
506
468
598
343
159
137
184
640
393
730
718
530
400
103
441
252
610
581
152
982
733
8
707
106
573
714
343
936
984
914
753
680
499
467
923
848
516
393
140
716
780
436
967
361
899
546
921
25
662
680
256
832
750
227
785
664
446
131
381
351
939
812
917
1
685
635
669
311
560
279
285
65
695
256
878
775
278
533
288
799
895
91
936
414
913
870
739
495
229
265
401
955
899
126
966
591
269
396
964
671
209
623
168
439
374
705
91
596
903
762
204
309
627
80
440
684
288
558
399
318
105
267
994
10
530
726
314
521
342
154
376
538
28
14
232
415
248
533
593
5
665
230
354
886
149
86
999
363
724
124
593
593
463
683
441
160
809
516
838
714
374
888
681
826
824
422
542
150
147
140
19
778
927
841
886
513
821
916
542
52
348
401
24
661
759
673
767
5
896
75
307
969
64
120
787
339
8
218
713
706
383
683
23
151
247
881
566
150
219
673
742
812
482
631
660
306
804
501
801
411
469
708
144
597
34
360
540
862
328
142
871
275
656
211
65
402
483
752
682
489
196
168
241
257
879
988
633
588
312
3
855
833
701
486
637
164
128
973
774
185
836
922
777
554
882
183
339
563
621
359
944
68
899
44
469
413
224
188
1
469
412
303
880
935
241
709
679
213
723
315
146
100
613
54
455
779
408
307
733
816
772
96
934
965
708
907
599
66
120
167
128
891
814
841
80
385
995
39
811
996
755
876
4
512
405
595
377
179
346
43
844
137
33
628
694
928
495
10
555
206
384
750
418
314
436
529
380
16
727
915
727
239
87
374
277
453
705
897
867
288
700
36
407
772
209
163
937
37
449
867
411
765
959
844
711
79
200
189
208
279
420
694
242
225
100
233
135
721
580
423
613
504
9
363
373
259
710
618
178
412
796
109
336
682
321
804
659
590
583
910
172
5
654
536
644
171
386
51
709
302
400
642
677
867
927
150
410
360
199
370
765
882
945
323
387
168
452
707
260
877
176
580
628
917
981
450
320
389
875
685
364
328
194
545
763
1000
419
637
853
20
115
348
687
201
851
936
700
94
644
329
385
337
817
280
79
496
747
693
356
427
594
418
583
160
990
892
183
383
823
742
23
625
894
350
628
65
554
6
424
126
47
548
975
233
768
666
238
364
477
377
957
932
198
722
394
684
486
395
115
605
917
513
19
138
460
275
815
82
808
836
611
38
484
144
709
124
367
624
767
604
904
286
817
656
404
157
291
369
858
248
438
139
825
40
252
507
973
986
54
344
10
689
522
23
182
167
426
729
598
2
42
524
859
362
719
65
65
75
258
192
920
382
282
102
456
338
290
663
866
741
563
350
941
774
993
750
566
179
539
772
463
986
718
591
541
424
288
640
489
690
660
490
51
273
829
48
56
838
242
951
671
920
34
374
875
459
492
100
819
402
396
164
595
765
248
282
571
82
56
63
711
934
939
636
28
308
776
600
324
87
677
524
450
137
156
48
257
402
848
807
450
101
203
290
139
999
233
993
416
926
603
454
282
19
493
625
1000
261
866
409
78
705
372
751
416
806
332
410
54
944
867
630
705
990
394
558
345
471
566
521
196
244
190
707
546
294
518
235
247
607
459
316
507
490
693
971
191
550
37
355
270
9
466
394
316
973
654
229
173
657
710
408
303
953
977
866
492
940
116
51
6
411
50
280
774
198
316
452
420
370
314
396
936
330
465
93
194
592
197
701
257
334
717
336
434
751
29
873
513
182
26
38
759
855
188
477
25
12
692
374
300
915
118
335
442
130
330
584
261
249
597
306
56
6
868
806
108
303
194
951
388
246
254
567
50
391
114
895
823
204
651
431
360
549
160
542
243
237
457
825
332
510
442
511
44
911
188
405
71
844
760
188
956
539
363
964
748
370
715
152
819
547
111
34
508
647
375
812
974
75
212
401
817
253
930
35
238
67
219
238
547
329
558
734
704
708
832
861
597
265
684
648
838
892
270
813
88
600
532
988
699
507
140
446
100
4
186
611
302
735
400
994
547
368
219
748
669
727
109
609
774
539
41
711
768
348
294
333
735
592
908
727
622
293
217
900
924
612
800
594
481
21
965
426
67
799
697
119
325
775
934
665
769
967
469
77
678
182
79
104
925
768
411
416
653
775
83
273
337
823
660
201
433
162
331
268
977
222
741
526
582
614
924
815
994
911
316
250
857
74
303
195
407
856
938
272
127
821
10
310
951
419
877
713
702
520
225
669
138
432
235
807
229
414
839
205
822
917
780
788
998
751
893
458
781
878
40
669
566
617
754
38
86
381
488
299
721
313
690
268
811
967
162
498
739
668
204
229
875
97
841
158
954
976
256
919
754
9
215
206
75
753
321
648
758
177
141
640
322
740
423
178
314
395
79
675
517
620
148
70
826
278
728
713
891
26
876
787
256
836
702
738
581
283
394
292
586
400
858
890
970
284
950
506
977
255
690
292
652
439
70
683
548
91
790
608
443
516
391
921
627
195
279
143
725
167
495
676
973
585
318
479
742
266
713
980
964
743
963
86
854
649
546
65
904
654
458
87
660
298
791
491
627
404
713
528
956
468
226
338
268
836
280
455
333
774
261
554
4
309
247
538
116
16
993
42
877
191
128
58
891
443
3
23
480
123
977
566
77
585
222
208
239
990
936
883
985
914
807
310
798
767
571
63
996
344
96
908
175
826
451
419
462
683
502
675
109
793
410
327
557
583
228
671
43
905
492
30
87
759
116
920
594
491
982
610
649
49
416
988
734
124
332
109
722
931
116
657
346
31
484
723
437
511
745
607
207
285
417
220
367
224
323
285
122
28
216
811
795
930
953
97
845
455
277
424
654
16
935
353
653
368
975
304
14
941
985
699
638
823
479
440
639
901
821
831
165
202
339
543
21
860
539
52
828
369
998
862
707
924
381
273
213
814
8
309
486
604
225
316
249
541
471
149
403
933
644
733
802
550
775
81
205
204
635
753
24
448
598
441
674
92
260
657
531
609
571
21
759
104
407
210
701
765
222
327
346
400
962
431
235
115
366
894
731
277
314
431
841
205
19
731
92
748
231
763
355
769
715
106
816
372
130
940
38
472
406
288
882
383
193
362
386
978
900
445
998
901
660
934
141
428
410
257
477
167
799
490
965
115
408
487
833
732
955
323
585
48
362
277
641
591
159
121
686
319
75
234
397
291
236
741
178
100
695
590
647
872
86
530
903
785
730
943
760
75
817
910
107
477
538
806
235
175
677
147
579
784
396
683
764
960
962
572
780
186
77
169
495
49
592
798
197
91
539
649
370
887
28
111
383
534
486
166
965
154
673
720
439
461
769
688
322
400
182
194
609
727
300
677
591
9
655
954
588
370
530
170
926
964
485
267
812
183
476
196
883
990
918
456
65
552
559
29
416
183
810
545
287
361
28
968
162
900
549
312
566
270
748
782
952
341
550
224
662
251
998
134
424
861
541
718
259
553
724
335
862
335
689
637
363
940
930
449
78
948
655
622
283
318
851
129
250
978
153
193
480
458
168
380
91
960
553
410
172
459
440
312
332
824
294
517
551
589
541
10
333
56
202
453
379
811
9
156
318
402
495
473
659
395
61
470
857
797
835
5
897
689
79
417
139
278
27
598
920
644
739
843
470
139
37
668
887
171
172
516
841
598
880
100
913
339
570
992
767
46
277
586
875
626
243
311
750
26
777
3
100
384
565
751
212
814
741
296
626
971
506
605
257
505
762
842
415
10
627
273
108
271
503
507
437
993
892
348
802
796
966
570
638
180
89
230
217
204
640
406
280
66
316
699
246
508
3
745
970
336
893
115
201
28
875
38
627
610
907
184
311
539
350
247
972
142
395
355
821
334
858
616
579
401
999
61
319
581
63
900
76
17
994
168
64
279
101
944
601
375
144
202
345
956
485
123
433
466
575
574
162
816
71
109
948
547
897
784
561
1000
233
541
407
549
466
972
179
122
235
450
299
691
885
78
882
624
452
445
667
454
506
94
61
546
331
495
849
388
792
450
363
934
452
695
815
322
890
741
74
811
528
281
543
770
851
2
342
79
708
897
433
364
15
954
64
639
193
427
610
227
463
551
426
367
180
833
775
743
774
761
617
527
29
464
894
319
483
48
496
647
223
210
774
872
119
810
306
770
545
701
339
838
359
294
93
341
210
849
845
756
167
778
928
815
907
366
887
804
78
306
23
477
285
335
424
919
342
503
511
487
677
86
679
29
650
857
82
315
999
558
301
894
730
57
465
852
897
243
34
729
634
511
820
309
617
777
741
186
328
528
635
19
660
192
385
685
880
145
782
617
130
394
116
384
277
749
402
311
744
681
151
429
469
65
910
93
149
433
629
112
323
886
700
560
518
715
369
215
596
921
789
59
818
369
489
756
16
324
221
142
474
787
622
14
671
154
600
268
550
33
793
477
422
896
627
694
541
859
876
900
35
230
70
162
816
743
747
975
222
880
298
844
80
877
581
34
534
773
224
170
480
170
631
997
409
408
508
402
975
930
930
173
90
410
326
245
455
127
275
246
724
968
212
820
433
269
833
29
257
561
349
410
783
97
295
159
944
50
748
135
207
268
826
735
174
601
291
884
863
832
475
505
420
694
598
674
111
93
701
21
202
706
602
668
588
744
276
624
871
386
576
470
306
517
137
33
899
44
474
843
755
479
590
668
329
346
895
526
382
101
442
695
220
975
676
250
501
551
486
718
409
86
182
398
122
664
296
209
58
422
600
951
303
16
188
142
347
766
413
233
574
864
537
875
336
835
774
486
107
612
62
115
396
747
570
999
122
796
853
246
244
317
752
220
329
176
694
828
45
206
369
786
708
74
507
284
210
107
451
449
462
498
897
363
913
128
224
145
127
863
34
293
730
91
842
826
250
498
720
809
121
178
75
127
750
62
961
774
525
40
4
316
172
239
509
892
722
22
360
129
841
931
560
181
901
920
848
601
717
549
306
790
993
72
393
801
2
82
55
684
681
615
992
466
381
570
954
828
547
133
225
947
102
42
822
676
395
875
993
798
764
151
813
552
555
380
500
895
157
421
964
990
692
301
508
910
241
94
782
151
863
7
44
713
757
553
692
917
893
115
829
87
195
617
508
584
472
467
277
79
76
233
412
128
642
509
593
911
641
423
870
923
727
26
219
80
51
891
264
277
290
19
689
42
857
600
721
225
96
918
579
99
432
996
758
785
673
726
211
334
888
407
374
254
96
556
489
466
943
990
378
223
145
105
832
743
221
611
551
510
780
301
674
472
486
826
813
879
958
664
395
743
846
675
724
903
691
413
897
671
642
561
736
681
396
958
291
581
545
772
6
560
326
223
909
630
350
500
900
466
997
942
582
860
71
743
415
239
441
204
415
157
600
37
867
615
80
57
3
920
712
436
453
973
964
977
20
981
657
911
289
890
747
116
990
63
3
668
191
222
678
369
465
668
269
601
396
962
302
829
708
634
420
456
685
981
249
518
693
900
682
442
467
195
368
664
14
309
4
18
122
203
897
916
835
388
167
304
982
511
367
836
450
613
737
478
999
895
864
170
797
799
564
9
790
990
196
206
938
774
438
956
761
642
786
592
998
988
297
620
81
547
867
251
411
584
961
456
410
426
915
225
759
357
962
126
996
743
43
13
320
450
519
406
148
937
323
822
379
201
931
876
877
439
475
100
328
852
447
947
307
465
177
346
498
277
895
811
622
963
444
734
39
116
612
950
597
434
896
650
71
262
503
106
671
346
16
459
997
333
858
314
626
969
56
248
641
32
10
45
665
119
384
907
691
479
823
494
356
819
116
96
764
504
276
351
479
812
797
298
521
401
433
113
421
916
493
305
25
471
794
827
848
887
74
192
13
743
973
249
97
790
353
858
73
722
621
662
159
553
69
653
819
854
783
492
610
608
832
993
115
367
739
864
896
680
886
795
536
187
481
874
890
364
383
739
971
263
277
437
359
567
964
467
543
402
299
991
894
391
143
982
501
84
729
320
940
38
558
709
152
572
718
37
165
648
278
136
388
275
451
879
931
780
126
605
408
748
734
742
373
813
755
256
993
229
315
621
126
223
112
410
997
510
902
13
300
516
460
827
776
452
872
207
225
902
376
359
735
640
113
998
62
75
375
786
661
855
640
127
668
543
559
485
240
108
392
820
394
851
435
54
615
525
973
279
68
432
225
360
918
334
619
527
741
622
920
121
659
26
776
117
671
633
205
615
614
819
648
36
5
236
917
373
169
882
379
302
802
745
742
132
995
658
331
195
901
153
354
709
99
330
225
252
951
860
431
328
892
248
711
208
486
670
309
512
909
709
281
915
421
218
850
506
651
597
216
243
900
669
14
718
514
256
550
571
989
167
991
667
494
531
446
129
551
223
970
756
230
6
759
295
706
55
914
779
929
379
775
17
53
308
14
821
587
990
131
929
917
744
962
664
95
790
986
873
296
3
93
234
986
297
227
87
955
695
323
782
960
670
120
658
921
687
453
437
56
846
818
849
424
567
795
368
635
835
391
955
627
763
946
252
443
139
765
118
649
1000
574
54
370
244
433
21
34
583
385
790
185
782
345
57
340
907
439
192
401
197
866
223
906
243
540
900
362
185
804
436
158
419
793
946
119
739
80
751
211
106
959
341
295
12
562
438
201
244
661
545
393
802
812
216
59
683
282
496
242
742
610
207
494
110
182
801
878
315
401
367
903
898
879
295
451
392
685
41
375
380
993
818
9
389
490
566
618
930
740
7
944
859
818
109
483
461
197
940
794
601
903
829
900
108
434
268
306
507
942
678
779
89
968
487
406
78
80
156
394
969
940
786
232
471
350
896
6
53
644
746
731
117
842
947
710
204
158
89
806
743
123
452
478
281
622
209
833
38
947
606
667
926
606
777
812
509
245
452
542
450
817
384
446
146
576
924
938
483
77
172
931
453
470
205
963
49
684
526
874
84
969
896
414
608
776
544
153
86
556
667
472
904
189
574
186
134
692
882
135
634
863
439
518
715
259
652
638
750
984
535
46
874
693
224
137
641
910
533
754
323
858
438
95
58
328
202
739
437
258
694
300
980
825
238
229
18
542
770
344
712
50
394
332
774
804
266
268
342
671
703
829
677
450
636
876
740
676
440
279
891
780
50
586
69
22
864
410
135
674
560
700
513
827
756
839
457
164
707
188
871
244
245
274
831
101
859
227
570
63
327
172
797
641
461
335
436
323
384
26
970
750
154
539
289
860
542
212
17
358
218
601
388
919
305
275
574
832
821
278
211
242
937
450
192
432
781
687
708
775
678
7
910
234
567
659
650
39
418
217
426
11
957
795
162
167
240
949
513
216
344
370
759
631
581
489
529
493
203
812
80
103
168
56
48
578
330
240
358
401
271
841
716
846
259
448
153
905
11
889
704
719
200
161
379
922
723
705
555
739
823
649
279
415
259
329
265
169
1
222
245
459
248
534
333
568
233
1000
872
375
337
53
106
283
118
754
233
253
324
803
810
615
799
948
547
76
18
864
364
829
977
594
520
637
53
683
591
143
669
237
38
627
770
730
206
779
985
507
673
362
222
513
880
516
268
286
29
938
585
659
474
662
504
313
40
482
673
136
38
515
814
442
776
2
447
831
70
299
224
247
220
400
843
834
391
420
499
788
986
617
827
99
777
704
353
96
374
893
813
750
539
526
336
983
870
324
228
268
484
549
587
173
620
696
865
705
378
19
695
862
962
12
893
837
130
690
993
913
275
206
555
632
546
562
486
179
354
496
435
850
694
226
859
496
596
331
836
665
666
254
8
338
885
25
312
113
731
262
971
447
452
773
118
402
294
372
636
603
640
992
129
601
769
38
50
330
21
184
44
646
980
867
754
94
412
336
528
743
148
135
899
698
767
815
710
934
549
449
800
664
740
818
18
732
457
880
259
346
877
579
992
975
835
736
987
901
434
507
205
455
360
352
918
465
917
753
782
61
298
994
54
551
267
962
60
222
476
617
693
204
147
93
595
881
35
8
338
448
23
274
905
663
340
770
411
949
603
546
521
597
631
929
270
737
902
137
821
871
62
74
517
482
320
729
5
695
322
811
335
412
969
395
518
673
208
829
833
738
889
161
437
399
686
874
321
535
240
681
250
562
403
894
180
628
782
286
566
217
574
874
927
43
255
328
666
903
224
238
355
173
585
702
728
887
968
798
4
312
157
768
271
145
758
880
367
9
503
18
937
254
204
638
182
818
406
47
282
468
223
266
94
173
61
106
567
713
779
624
566
261
482
913
842
103
852
535
138
792
887
648
723
660
87
404
251
711
747
902
996
204
393
898
16
893
206
882
744
61
281
533
93
30
655
309
254
36
378
933
116
972
494
661
593
480
201
357
338
374
371
228
212
207
565
447
612
35
116
977
248
71
727
158
96
697
35
438
526
212
608
391
277
298
376
340
900
110
906
9
747
235
668
411
868
658
910
580
639
202
763
300
800
827
703
522
529
547
286
188
11
671
163
802
744
254
900
456
412
468
55
173
787
371
785
893
499
738
397
483
629
731
775
191
257
350
680
948
745
906
172
608
400
147
737
243
909
524
438
583
120
995
369
546
909
701
817
674
705
598
833
441
76
481
493
516
24
443
666
714
960
31
719
793
505
716
884
939
856
233
676
321
113
862
154
820
446
682
272
85
546
982
123
744
156
156
532
357
340
27
574
719
894
135
345
468
546
881
46
154
963
36
114
476
636
372
770
224
884
904
109
793
590
809
34
995
113
96
101
539
696
131
371
513
107
447
594
641
238
493
341
197
55
517
318
825
359
806
502
97
601
20
450
479
224
63
383
344
652
999
69
394
444
547
390
971
234
610
990
660
681
515
898
248
878
323
965
909
957
130
6
142
152
837
918
374
307
666
163
444
703
321
371
600
575
315
218
378
764
831
842
51
446
126
799
447
900
604
50
757
852
387
990
413
237
968
142
682
699
417
39
659
742
837
242
681
579
176
308
67
878
732
306
959
324
834
717
964
991
522
231
792
673
585
546
94
807
851
651
168
905
337
327
322
542
432
970
470
795
587
301
652
340
712
279
51
881
641
424
443
526
631
206
601
96
915
501
611
657
783
722
825
678
36
1000
942
180
76
89
754
400
279
428
543
924
761
983
329
205
367
715
169
614
695
693
197
10
557
256
563
651
889
740
655
398
651
227
514
338
21
825
12
469
184
63
247
306
490
775
238
119
921
646
238
551
572
834
777
72
873
211
262
413
259
587
678
233
746
500
471
199
194
994
936
851
480
822
22
469
163
132
966
735
483
865
890
211
134
907
335
550
245
112
558
728
582
930
562
118
281
102
317
277
195
374
244
534
761
911
676
980
784
753
64
92
589
781
807
307
639
754
156
376
846
968
59
469
611
912
305
609
87
446
742
103
653
485
872
318
540
614
673
888
445
703
615
206
628
366
541
617
362
233
623
411
960
40
302
978
32
408
949
799
319
77
842
940
816
73
123
462
835
971
133
59
309
36
97
707
978
918
833
123
232
72
918
638
516
644
622
909
26
582
961
58
787
514
950
348
77
730
869
49
980
18
100
983
108
311
888
146
991
360
133
844
269
579
894
714
662
63
994
400
438
921
169
716
372
746
435
346
973
483
939
881
26
895
210
383
632
859
602
511
174
66
915
850
547
625
572
774
530
86
448
858
179
160
459
971
418
515
390
745
564
294
131
346
714
744
686
516
592
569
377
189
363
421
240
323
555
588
334
366
126
807
195
553
868
937
256
684
673
404
488
228
829
85
532
978
972
853
499
495
113
617
771
864
192
709
802
268
736
91
749
196
948
975
958
750
109
274
859
162
678
63
996
201
340
945
492
122
128
446
80
748
120
617
729
655
382
399
390
445
560
5
859
683
902
976
999
899
510
337
85
334
659
865
292
13
352
805
532
132
244
390
951
447
963
624
857
481
451
769
738
341
4
44
592
330
729
263
798
12
27
132
13
803
821
610
178
59
311
709
565
552
231
597
81
601
545
485
385
578
440
605
19
30
369
816
179
440
576
687
154
528
761
857
728
797
973
773
716
281
66
509
218
774
335
635
341
63
404
531
212
978
334
991
499
694
897
246
212
705
56
742
506
857
636
339
673
489
689
216
811
353
385
678
357
603
953
62
742
853
782
820
819
553
173
466
717
855
404
180
779
73
977
507
906
859
816
888
150
675
860
190
423
946
241
441
616
574
83
252
670
44
898
520
873
430
734
624
976
373
547
564
44
51
18
58
743
721
264
826
948
945
874
656
371
86
590
521
765
212
495
642
991
680
526
293
631
529
20
900
861
26
436
879
825
551
301
330
816
673
586
500
437
127
199
85
278
491
944
990
485
458
207
251
281
95
608
984
895
679
12
992
162
899
874
264
88
579
14
521
803
756
936
153
941
191
939
462
509
138
715
441
665
667
931
123
585
90
54
121
937
840
334
127
733
633
183
38
701
172
845
587
774
731
910
90
421
652
838
228
558
363
661
789
37
306
837
136
533
541
52
443
195
904
177
793
15
168
858
728
256
653
499
961
547
530
968
738
676
545
557
734
307
351
807
329
808
82
592
337
826
114
512
470
581
599
436
707
598
353
551
728
478
516
447
330
575
39
770
831
533
439
585
363
827
50
680
612
22
383
177
143
531
310
945
740
30
328
151
141
672
298
805
930
934
270
354
101
634
878
788
696
430
894
772
859
811
483
545
430
337
296
499
188
624
61
547
350
776
543
759
680
27
879
544
867
783
188
145
517
380
212
386
44
389
490
196
17
360
55
523
229
481
715
852
23
51
379
454
893
888
838
619
207
783
41
213
113
4
379
499
558
426
171
869
275
630
51
737
863
930
321
699
62
926
477
654
108
742
560
994
745
33
813
877
358
697
639
86
53
370
211
139
606
960
537
98
751
898
940
114
250
666
877
862
986
184
547
312
201
503
732
751
501
405
24
231
131
233
386
541
734
582
249
492
481
20
812
897
966
334
30
311
659
616
650
941
201
720
298
212
444
163
320
244
299
86
483
252
591
186
805
100
557
478
340
246
658
924
727
938
127
637
664
682
177
359
653
583
242
684
552
931
746
146
85
172
523
884
996
853
587
874
462
205
914
297
281
801
575
577
885
25
207
633
76
626
53
799
426
641
628
341
610
102
498
674
669
308
806
217
461
902
673
500
48
417
739
485
702
553
847
489
133
103
491
890
966
894
650
55
999
54
297
700
446
521
30
879
563
9
87
282
334
37
257
674
588
355
815
121
432
576
185
495
726
377
234
866
810
76
593
375
426
646
864
986
683
428
506
784
816
250
41
177
772
386
354
564
319
913
476
900
97
977
426
113
900
535
939
563
667
460
218
944
267
593
331
570
261
101
856
156
621
263
935
717
584
3
593
646
284
920
966
566
134
550
307
760
761
80
632
101
691
81
545
481
661
145
421
239
293
454
340
162
134
630
181
674
431
639
597
811
217
829
419
854
68
387
353
263
273
943
58
691
719
471
319
345
695
817
987
860
486
876
488
843
567
844
249
300
967
871
976
958
323
59
871
547
630
847
36
798
516
520
261
526
960
548
107
288
823
531
598
731
179
193
377
996
631
155
200
166
972
240
248
6
457
297
957
712
446
44
524
847
909
311
598
551
275
969
665
690
634
443
797
105
774
365
946
607
318
27
820
429
550
367
249
647
967
869
95
886
208
765
150
164
14
161
493
644
66
671
36
93
682
855
674
770
269
730
198
211
851
348
248
587
646
8
190
706
723
83
960
323
175
350
938
668
638
508
90
230
874
961
33
37
397
930
329
690
625
668
537
768
923
288
43
877
706
353
247
957
546
114
174
236
576
49
125
202
750
496
115
967
534
565
971
655
682
2
645
593
571
879
373
949
48
234
890
82
88
640
728
256
516
575
243
215
50
249
67
665
742
702
469
227
846
679
928
131
969
734
144
711
964
922
358
279
327
151
469
45
719
802
530
199
199
113
740
876
255
204
197
292
990
917
19
557
514
890
178
778
505
58
252
910
519
278
227
753
382
349
810
374
67
818
474
257
477
289
699
905
868
866
821
799
989
908
917
884
892
216
973
101
576
516
680
698
364
85
880
386
357
413
156
294
203
798
28
114
165
604
115
201
863
317
479
36
210
892
745
411
385
54
675
378
710
665
592
105
589
779
495
730
419
310
412
407
159
652
343
944
302
344
711
584
424
800
325
483
578
695
562
29
956
512
662
699
831
93
893
250
713
557
883
462
452
623
600
590
39
617
611
885
437
67
792
716
801
381
945
12
432
206
747
832
337
875
373
622
560
207
442
232
591
200
65
435
299
383
598
262
72
360
159
214
794
127
170
985
974
284
405
760
359
705
183
389
27
824
79
24
597
595
786
344
97
246
490
646
445
181
305
749
106
788
178
45
968
56
237
860
75
266
659
20
66
196
298
875
651
872
602
719
938
436
121
554
519
156
718
682
628
166
264
615
262
300
791
655
713
718
73
538
9
403
697
545
932
882
482
412
422
577
58
624
703
953
288
623
762
486
679
614
445
452
373
613
35
162
76
395
924
464
581
379
585
744
608
361
849
967
787
722
67
736
406
942
697
197
183
877
298
204
862
717
839
665
909
586
791
84
117
364
776
622
301
917
445
846
10
812
791
928
455
344
579
941
181
676
904
203
112
652
201
779
708
275
385
786
439
154
608
540
539
254
241
76
409
759
241
889
695
636
789
286
685
954
89
556
53
455
307
757
549
532
259
5
50
982
819
698
789
998
852
52
501
650
627
387
979
721
980
621
796
501
737
90
443
202
140
445
129
452
31
237
271
457
745
769
34
981
646
454
260
849
157
96
177
385
791
865
445
152
373
515
167
44
12
865
299
863
562
478
237
632
202
13
142
800
11
203
184
638
222
352
499
109
574
201
336
197
844
548
906
31
134
122
491
238
929
62
517
184
241
400
155
630
146
209
353
133
614
509
483
910
177
679
275
945
157
205
695
491
865
942
212
978
55
161
319
653
863
249
725
915
471
882
835
341
817
497
275
235
328
305
781
390
178
487
847
681
211
501
416
215
514
970
606
524
559
54
702
657
930
295
89
367
942
37
292
634
852
786
404
658
60
515
250
57
711
552
189
595
458
163
707
6
607
359
642
844
102
451
278
853
67
91
492
288
607
901
785
274
629
962
582
379
573
221
183
463
231
89
735
253
245
811
524
660
540
630
369
517
511
175
584
197
183
607
791
57
461
522
659
524
911
892
469
624
416
233
549
83
704
715
835
789
221
648
598
176
919
716
237
197
653
333
200
383
252
786
992
506
929
237
960
988
719
339
759
523
274
254
692
117
834
204
297
419
901
826
338
867
937
118
563
842
321
100
850
735
387
541
399
164
506
498
781
285
67
826
108
375
196
595
985
132
750
586
359
221
658
41
346
86
596
619
498
186
179
341
791
25
878
889
206
228
368
129
57
396
439
336
670
308
283
55
694
536
472
406
878
737
977
828
713
785
47
321
915
99
667
564
407
796
38
889
11
975
285
503
643
474
775
921
640
823
603
499
657
594
830
593
258
710
594
845
857
941
840
242
350
944
677
467
450
377
409
771
476
343
517
94
941
660
79
782
779
166
227
664
35
175
530
196
962
714
634
651
128
86
40
978
998
185
430
761
688
168
341
177
415
839
906
240
366
80
403
509
43
680
615
750
821
764
231
831
883
515
436
177
455
919
82
954
921
562
920
347
424
994
204
151
971
152
26
713
113
471
769
542
357
160
983
360
709
593
942
12
384
719
118
376
231
288
654
668
902
262
805
242
678
900
571
317
982
891
573
464
159
614
215
960
819
469
479
130
807
443
680
285
847
538
341
312
273
343
902
740
942
907
51
183
985
445
616
727
587
688
972
452
56
933
733
988
103
686
125
488
900
923
115
168
6
354
863
350
436
61
117
481
468
411
731
667
518
824
558
328
480
351
485
85
630
517
215
280
210
304
620
591
573
969
376
835
435
742
780
680
7
496
921
310
664
521
789
536
211
113
122
77
115
583
348
794
804
757
77
334
807
42
337
940
423
949
655
321
696
590
327
513
231
306
477
885
749
467
335
445
374
486
115
173
30
149
984
905
180
114
797
767
638
642
10
745
286
180
41
437
150
168
494
289
124
769
748
225
201
423
484
309
156
990
666
152
579
910
461
379
849
935
34
379
831
811
80
372
456
291
65
706
57
456
835
859
596
160
11
929
671
114
154
939
287
985
392
405
97
47
963
560
600
936
354
412
409
146
156
484
908
130
504
799
117
737
941
49
589
403
981
719
231
703
3
764
37
52
432
982
980
241
740
453
479
999
769
219
47
808
720
676
444
229
337
733
768
548
459
186
808
764
182
751
261
829
838
267
870
960
781
929
879
798
449
303
653
176
879
217
344
387
245
443
571
118
532
396
358
942
460
644
556
738
2
221
898
455
688
753
532
916
731
226
474
559
148
857
708
873
202
186
406
518
918
588
146
237
54
442
738
939
943
407
721
604
76
966
481
487
8
433
275
780
60
198
285
605
154
141
203
688
735
980
939
642
994
846
600
928
7
283
64
652
578
802
323
289
829
571
840
385
891
658
872
456
688
852
115
237
972
190
898
19
346
695
686
14
106
324
920
653
793
597
587
493
945
458
121
114
317
167
427
714
982
982
850
451
824
775
942
974
245
231
288
939
116
472
316
299
794
371
130
504
733
386
249
791
410
126
591
523
891
887
626
237
883
821
759
43
230
902
474
72
765
959
300
338
626
308
596
534
395
74
433
908
268
311
3
302
764
35
987
843
24
745
602
12
484
739
610
232
599
190
76
295
20
311
314
297
142
290
95
931
865
719
362
711
367
751
498
64
540
445
716
465
319
231
33
20
420
505
604
100
518
595
210
124
897
802
940
449
61
14
157
375
30
581
746
368
332
211
205
165
218
114
560
302
784
309
516
863
340
493
49
496
401
433
32
907
670
977
288
403
562
681
409
755
149
722
395
309
656
151
313
359
176
319
200
916
817
570
269
789
550
103
448
913
573
304
307
704
471
519
311
916
782
902
375
22
651
518
572
848
126
238
707
556
536
677
665
275
776
640
449
847
812
667
200
194
586
380
661
11
131
398
978
733
469
127
201
698
392
486
49
225
590
311
620
443
54
503
330
396
28
367
303
76
334
701
170
364
87
995
404
686
118
68
7
314
155
47
432
481
366
942
784
643
846
675
574
111
474
296
602
756
878
48
841
604
487
22
866
825
339
684
145
620
678
518
963
853
442
137
44
501
370
35
252
281
778
827
519
851
278
607
970
614
727
326
252
101
582
174
74
293
432
257
60
311
736
404
100
789
418
33
112
38
609
657
110
505
209
416
23
60
904
326
185
4
872
180
630
618
869
886
317
944
171
406
861
601
132
989
231
588
796
568
242
45
250
749
347
971
388
981
238
320
764
979
936
422
455
144
139
685
189
434
347
462
286
371
137
730
548
305
601
989
743
775
466
207
70
348
311
196
963
848
367
977
819
181
506
489
782
529
392
532
679
493
616
760
680
872
200
507
656
750
230
263
43
283
299
128
596
128
580
927
513
620
975
950
929
408
646
291
135
298
367
124
789
835
352
281
238
352
187
827
368
477
362
461
484
405
181
213
87
517
734
413
322
366
47
524
189
735
309
300
788
281
432
632
280
854
815
640
308
488
217
505
618
613
781
941
909
861
658
197
567
945
962
34
96
537
891
838
633
863
101
792
391
979
73
303
321
466
830
32
603
128
794
757
871
68
474
376
954
442
822
486
859
188
233
738
975
771
103
97
34
204
754
108
979
416
736
715
436
318
639
481
780
936
884
323
512
899
236
925
942
773
936
946
575
598
13
166
886
821
846
831
870
496
245
786
200
183
533
466
287
448
42
216
369
98
462
158
512
924
318
494
819
582
882
778
685
268
986
56
737
525
467
964
783
730
646
475
732
403
740
638
62
660
272
891
244
825
954
630
533
878
231
593
437
613
754
755
308
707
679
460
384
413
840
563
720
119
654
928
248
727
456
155
394
350
423
658
325
47
934
984
854
487
400
750
405
365
691
548
406
396
952
243
731
993
538
521
273
446
816
32
868
731
944
879
995
373
791
782
300
838
947
901
410
251
66
982
782
378
601
457
998
757
134
896
913
914
100
446
79
46
973
187
724
611
200
225
946
787
622
115
563
626
344
973
237
169
89
635
859
296
915
374
239
597
157
726
126
525
256
806
424
233
177
236
503
899
19
431
225
234
831
908
213
41
76
737
18
776
971
432
517
706
51
388
246
467
374
373
99
423
388
131
261
862
822
542
608
231
814
130
960
894
715
836
405
928
113
483
27
737
375
112
909
643
608
187
884
668
358
399
431
477
244
796
297
521
956
274
939
533
716
344
285
108
2
122
565
131
780
987
102
277
209
80
3
272
24
348
732
801
294
999
615
825
797
984
238
943
356
170
714
550
117
790
977
534
14
547
267
212
989
638
919
641
788
462
452
804
646
460
178
481
571
654
481
241
124
405
164
834
387
165
762
88
361
151
131
968
946
243
440
824
188
710
381
46
818
731
329
809
144
863
78
199
514
638
281
821
876
342
465
760
139
927
6
746
182
147
164
366
760
427
450
170
531
966
806
107
134
393
791
906
113
17
638
93
172
854
998
612
782
645
606
133
982
338
989
738
704
813
308
974
83
404
468
535
455
54
509
218
561
895
588
68
691
454
782
408
493
93
53
997
169
322
934
135
994
695
704
720
945
190
812
357
590
886
796
342
121
683
258
732
557
59
165
247
524
250
88
412
406
373
594
298
922
333
479
359
604
429
883
216
747
813
779
665
116
944
249
967
410
481
479
864
909
355
794
492
692
212
300
77
724
182
602
262
760
17
932
554
382
762
871
626
671
894
457
600
531
641
137
316
959
73
581
764
983
866
231
686
138
691
834
129
9
557
891
688
994
414
566
220
355
22
239
440
894
24
750
843
376
663
334
397
220
920
789
953
973
312
821
67
275
906
819
173
955
441
259
373
637
824
638
714
853
325
305
513
51
383
202
370
839
634
953
755
984
814
689
848
591
573
917
899
161
726
552
331
104
563
278
43
84
384
477
822
832
903
664
549
502
942
467
822
909
290
226
407
402
902
136
754
434
465
789
940
16
625
977
656
513
491
695
489
425
670
324
206
959
175
808
549
926
254
952
4
681
995
923
535
266
876
102
377
411
952
628
734
652
277
603
148
703
228
268
491
144
596
473
232
291
125
654
376
932
763
627
690
175
977
191
165
171
137
356
976
443
684
749
531
272
847
567
695
890
101
362
259
709
689
663
723
841
561
786
409
113
697
709
325
70
631
188
780
646
403
481
183
176
938
482
492
202
598
905
172
195
437
741
597
141
31
365
668
75
189
943
688
833
598
603
169
516
176
366
924
774
140
133
378
274
688
151
492
183
6
419
108
913
606
432
497
50
129
156
945
155
994
92
991
618
857
305
394
782
195
133
824
24
546
756
46
430
495
864
671
87
588
114
703
139
827
648
735
80
672
802
561
299
427
634
261
908
204
12
290
624
422
22
182
896
565
473
95
768
811
204
822
698
590
473
315
495
808
566
73
427
968
398
472
943
974
632
963
807
153
928
999
765
892
610
392
302
440
201
34
675
152
648
712
189
194
3
513
771
496
472
975
937
829
956
775
478
170
548
169
784
971
596
700
13
408
663
306
898
83
288
18
319
195
951
449
339
226
319
833
724
474
453
497
224
881
89
443
954
866
748
6
9
242
87
395
665
761
246
350
481
291
306
725
161
615
543
733
655
16
84
64
271
403
664
345
278
443
988
309
146
740
995
758
864
835
421
703
154
236
636
483
124
287
199
509
660
602
670
513
756
303
444
983
810
494
163
204
59
404
82
39
327
708
242
999
170
152
946
784
317
320
434
432
506
619
391
587
168
402
519
356
456
451
504
711
295
386
969
160
356
886
763
457
683
263
275
838
827
366
369
389
140
281
887
216
503
870
39
449
455
158
633
715
585
863
341
300
701
342
478
380
611
192
299
636
161
90
924
1
682
320
617
290
787
518
492
527
391
621
460
622
825
104
191
955
13
35
67
470
645
285
577
606
313
697
600
458
636
63
72
36
573
114
851
415
52
206
21
960
14
99
85
285
432
774
141
31
242
581
873
584
690
207
238
27
137
670
174
430
839
296
580
484
371
549
533
303
465
835
333
385
851
258
650
605
972
600
594
666
304
86
133
988
1000
220
42
968
200
726
675
853
934
941
267
489
51
609
886
792
465
71
728
772
300
780
603
879
649
905
343
819
842
124
185
334
296
292
640
591
515
862
979
830
77
871
386
89
912
439
519
489
414
769
575
102
712
313
857
275
492
654
935
974
948
122
359
513
785
618
633
607
698
497
254
309
373
301
220
117
144
526
101
605
524
295
370
16
912
900
856
874
83
19
984
280
948
855
618
510
198
641
321
341
759
188
348
35
721
320
624
939
628
844
453
808
611
732
496
190
360
568
742
489
382
612
793
966
735
156
227
641
300
68
604
59
815
339
283
732
109
370
42
402
983
476
621
900
185
96
878
179
72
903
434
981
181
909
832
720
492
867
495
621
427
188
329
736
582
437
836
834
35
597
673
429
17
826
123
466
910
304
124
847
76
720
64
482
906
226
848
13
113
332
861
97
849
524
683
210
756
126
894
147
833
632
598
486
603
822
611
367
140
829
109
74
634
588
900
339
626
550
814
366
897
532
542
626
866
2
427
355
337
797
625
264
557
847
54
150
962
537
975
162
76
141
626
63
481
872
793
788
586
360
722
226
916
944
850
790
453
99
197
706
653
200
905
925
889
210
869
414
516
712
79
99
144
980
206
940
778
644
146
964
563
77
888
387
295
447
519
929
668
705
138
940
728
528
789
235
527
658
283
191
618
491
212
854
284
829
429
11
177
263
941
485
348
531
371
127
855
316
705
104
431
594
809
641
338
643
714
116
68
322
991
678
518
593
423
868
25
317
212
645
872
405
380
756
692
957
942
505
77
601
597
207
792
429
935
758
202
942
740
379
49
709
489
619
741
327
739
567
583
424
637
408
106
24
70
180
369
280
392
714
451
283
127
678
222
9
228
786
451
963
991
283
788
806
740
160
235
176
213
935
825
483
34
472
337
146
270
430
262
812
575
134
541
515
564
1
207
950
560
484
428
33
376
119
831
566
337
29
729
340
670
952
334
35
768
499
727
857
702
811
697
458
201
229
352
488
998
110
773
364
684
628
453
114
665
872
156
236
656
377
440
140
827
722
525
351
143
459
148
469
460
915
929
311
894
900
396
552
509
73
26
606
196
413
765
470
82
581
921
217
384
506
274
531
680
674
71
400
587
935
746
288
116
524
773
50
146
246
47
666
500
953
905
85
375
903
782
576
942
115
203
695
127
533
168
702
36
926
891
810
205
211
997
706
749
216
787
504
419
172
703
530
474
152
402
977
267
265
176
355
849
671
190
732
303
51
114
484
536
408
438
838
325
623
527
246
88
932
348
482
581
15
740
843
90
808
83
562
954
454
646
266
957
515
929
670
888
654
180
810
799
943
1000
112
152
946
10
657
600
831
1000
990
712
630
691
596
564
420
343
445
303
222
860
237
986
403
491
309
314
269
74
14
166
305
754
678
304
842
430
944
381
468
739
391
755
505
311
613
722
176
204
386
109
85
900
301
581
451
982
113
682
523
598
710
888
663
609
629
31
83
172
889
193
651
825
889
861
27
553
837
784
493
381
837
37
696
197
215
524
245
152
99
720
362
140
829
721
740
349
446
948
534
131
798
922
441
871
934
72
687
671
183
440
984
536
373
423
333
626
527
567
918
978
392
84
887
99
698
865
239
903
756
241
651
223
671
546
652
731
408
212
545
327
716
549
208
286
653
16
260
466
291
585
471
129
918
960
985
575
369
637
329
128
822
394
400
726
72
348
111
226
917
309
840
258
610
677
921
651
949
348
206
566
135
356
247
314
113
869
785
221
514
246
46
949
587
157
63
826
795
17
468
637
693
348
299
123
529
33
738
615
145
206
918
171
699
599
154
700
468
40
160
557
681
423
851
595
970
234
709
416
187
874
908
673
645
147
27
512
337
538
919
757
380
839
451
888
849
790
147
5
234
671
114
707
28
577
172
477
235
811
336
321
648
148
209
686
682
377
658
835
50
479
185
929
486
927
58
67
173
862
717
137
685
791
419
381
522
356
818
148
392
41
955
147
710
875
119
893
852
490
518
416
396
481
155
470
825
242
273
835
733
661
874
663
802
914
562
712
702
151
455
652
993
360
724
138
132
182
185
784
240
686
449
418
948
984
382
879
407
7
721
736
896
933
763
713
563
872
902
528
92
200
52
767
576
691
736
906
214
401
286
97
414
709
660
181
202
593
271
787
345
177
826
443
193
280
549
858
36
363
39
567
51
170
201
530
608
976
48
534
949
494
39
630
967
828
813
144
483
75
729
132
627
757
805
778
232
571
330
994
268
153
275
579
300
334
927
288
719
960
288
984
672
888
959
477
740
322
518
509
970
669
378
187
67
676
648
534
997
50
238
694
944
812
450
990
952
310
699
172
64
634
399
135
718
473
634
568
55
629
926
670
646
71
473
260
859
923
169
457
732
303
307
656
285
340
199
474
543
466
499
769
192
224
427
271
95
500
125
77
123
474
419
753
480
941
508
806
651
126
712
416
545
507
867
615
334
955
467
119
729
916
560
962
670
106
715
507
634
168
354
658
809
411
616
733
459
970
561
231
643
703
11
839
68
723
881
785
459
306
430
244
434
616
4
262
880
784
348
179
515
47
268
45
569
229
657
348
901
668
20
934
890
946
102
96
354
596
247
667
480
952
932
923
601
940
303
177
516
430
148
76
336
924
919
57
729
776
598
262
208
984
289
136
579
384
565
636
796
573
497
545
868
190
281
663
95
194
572
560
156
306
526
196
962
102
750
343
513
593
769
486
129
428
161
959
359
273
687
151
103
687
380
623
112
210
232
69
755
756
271
102
257
663
655
999
747
782
796
765
984
709
115
871
615
171
773
76
218
358
914
332
374
539
7
88
103
86
219
82
577
157
556
112
484
822
960
72
200
540
88
163
143
254
962
232
501
603
139
756
471
151
835
125
989
723
470
533
735
941
612
513
93
892
793
385
306
975
831
19
99
684
2
65
239
653
380
334
823
661
7
404
1000
585
113
717
412
806
711
848
40
99
800
385
309
409
792
472
963
290
380
758
535
97
514
833
1
800
656
692
101
312
544
513
498
9
454
950
64
626
122
898
78
307
544
290
222
383
611
916
370
96
984
457
703
44
726
585
470
858
416
896
69
325
173
157
449
841
251
194
225
776
963
137
999
205
33
129
652
434
39
603
418
875
615
517
593
898
237
310
658
358
474
58
487
523
795
76
108
821
112
67
826
67
840
503
419
671
660
362
953
35
124
352
659
149
358
555
49
46
1
879
162
39
11
21
299
174
588
988
213
867
141
444
325
234
592
152
555
109
981
108
516
964
781
957
35
696
441
679
917
806
747
803
563
75
823
408
169
484
685
568
137
864
270
328
983
569
324
969
21
48
148
828
759
531
942
341
570
794
493
346
372
85
194
861
682
583
904
527
10
13
361
736
909
28
687
875
694
812
601
553
555
444
725
581
448
67
213
493
722
714
25
54
198
902
814
579
47
546
216
677
671
985
733
111
721
516
233
683
53
835
54
757
502
911
932
629
341
449
48
573
240
370
181
622
665
369
891
443
437
46
812
159
329
432
488
728
939
45
438
421
31
607
975
737
551
688
678
849
611
397
425
679
606
568
200
354
713
424
126
602
95
808
499
222
347
131
231
849
989
667
225
950
305
240
590
774
486
519
96
575
115
785
300
749
3
449
914
140
995
524
110
272
782
839
40
341
794
638
879
159
610
970
959
90
686
358
872
648
857
263
867
715
491
8
524
433
970
834
365
218
535
89
961
638
199
727
704
51
244
181
750
17
462
798
881
826
578
557
154
201
430
115
376
778
949
82
917
589
226
605
219
621
170
223
975
85
4
905
30
442
238
937
666
26
616
204
535
666
611
852
86
880
927
449
171
818
928
64
245
522
478
261
893
456
667
609
970
261
490
366
393
986
95
312
756
160
641
544
555
911
854
384
764
318
141
667
16
193
757
845
772
489
541
338
271
313
117
186
813
226
792
692
475
138
40
146
821
555
999
268
18
431
100
661
883
162
798
349
18
924
209
40
285
193
541
941
748
397
788
226
335
195
245
710
835
2
527
818
473
108
485
728
577
160
604
605
895
471
211
623
613
899
624
442
450
997
802
347
992
914
929
397
66
786
961
102
203
369
852
391
642
448
740
827
811
762
989
968
853
233
401
186
304
131
245
942
589
537
293
47
161
42
281
350
472
980
885
582
287
782
479
297
945
752
908
584
346
396
227
450
370
779
15
40
68
219
190
331
70
332
616
869
292
243
191
844
786
654
181
283
598
646
595
333
906
30
174
436
748
986
857
128
24
216
310
573
724
388
907
31
20
213
865
383
424
907
672
125
454
173
627
232
460
986
649
741
621
667
489
809
81
794
780
768
997
102
434
163
999
622
111
682
535
589
819
533
305
376
439
147
673
915
22
57
72
226
707
902
365
685
111
268
923
464
679
845
670
581
986
387
687
347
523
643
972
962
5
402
160
664
520
893
923
587
794
91
685
350
659
457
654
459
768
665
753
748
615
682
764
787
163
201
599
656
877
247
531
956
814
887
80
414
935
902
542
459
751
292
977
237
281
605
624
582
597
464
597
175
37
80
588
547
407
149
144
314
700
620
222
202
920
46
602
535
96
914
331
898
381
905
450
902
840
413
580
778
869
176
313
400
648
698
236
188
545
350
321
539
848
796
454
362
300
15
729
591
587
805
769
152
804
983
634
994
894
679
344
255
287
247
336
786
454
814
322
337
978
124
248
218
781
920
515
506
824
64
477
487
702
537
210
671
697
271
633
395
373
846
975
557
179
956
608
791
860
195
364
979
85
183
714
188
809
420
72
518
7
994
343
957
642
967
729
671
856
160
168
820
652
182
449
15
271
46
850
271
318
458
279
5
350
977
365
33
667
983
954
951
607
282
405
382
810
853
311
931
447
385
115
661
188
568
523
937
150
815
186
850
249
707
661
911
416
398
995
680
62
873
148
622
211
259
899
905
321
22
807
628
513
995
756
653
731
723
664
889
356
232
503
676
45
825
563
670
174
72
468
256
647
592
469
185
687
681
230
81
423
399
199
471
334
215
84
766
737
798
822
842
93
184
606
420
701
487
476
288
697
878
241
753
775
71
733
865
591
720
474
225
962
104
221
861
943
244
618
477
253
624
238
294
314
895
997
719
913
383
129
431
295
856
535
123
904
11
416
5
381
832
229
322
475
565
910
273
384
597
160
717
199
339
395
316
414
684
936
454
96
822
924
314
325
891
970
379
852
372
178
361
793
961
708
429
957
2
655
505
262
333
282
169
810
540
920
962
906
237
873
327
519
577
427
58
800
2
800
971
261
211
16
253
537
938
842
334
485
853
68
80
253
868
660
225
508
575
172
54
780
748
444
457
353
946
714
63
527
745
323
27
867
509
718
780
534
641
952
282
556
991
931
528
404
872
436
115
292
155
982
102
590
710
790
240
269
500
537
423
385
215
167
988
882
366
846
179
68
739
247
140
964
682
734
890
791
368
717
292
137
355
929
12
397
118
228
476
260
992
393
679
793
548
225
547
150
848
647
121
270
728
969
424
994
583
114
426
561
60
651
236
12
664
620
534
656
578
113
719
128
228
593
869
760
250
662
610
445
6
383
425
313
522
89
475
482
594
695
490
286
546
346
575
670
688
495
220
575
946
890
212
309
55
705
504
809
525
347
488
423
734
455
733
74
676
951
731
911
139
17
91
80
110
933
151
80
441
454
519
436
102
815
22
727
439
725
615
230
712
865
641
239
571
432
156
602
822
224
520
177
732
426
85
184
968
124
84
679
337
838
36
967
119
839
656
513
98
567
936
949
283
962
92
104
586
579
407
526
335
162
271
94
354
365
158
156
397
271
256
909
133
885
580
320
46
468
837
391
674
58
421
916
737
817
482
257
635
512
258
507
528
597
432
964
923
57
245
537
384
658
831
979
413
607
975
850
31
644
807
799
694
661
69
494
523
648
851
823
554
480
273
328
525
239
716
801
816
294
243
697
795
750
325
41
867
413
529
696
443
392
479
187
113
815
263
673
173
857
719
892
483
898
380
676
126
563
429
262
822
689
58
893
871
144
509
410
620
647
256
573
991
686
994
946
328
419
46
471
29
504
439
69
774
843
676
181
92
412
337
840
128
464
793
910
812
963
460
537
730
557
550
778
874
980
891
191
78
657
39
812
88
281
896
390
924
82
587
633
152
883
940
421
688
165
964
697
642
257
143
230
949
376
300
43
810
860
780
15
123
488
996
172
201
558
998
27
230
839
583
945
119
920
165
295
881
635
568
525
990
909
101
883
628
183
622
531
765
455
493
827
812
992
247
17
413
818
510
840
191
643
128
259
230
233
656
226
886
54
117
971
726
127
88
657
697
529
821
582
70
477
89
869
934
981
377
756
309
88
732
150
65
678
304
286
373
19
316
476
93
19
142
437
600
45
469
998
743
273
607
982
640
945
86
105
955
158
988
777
974
204
472
783
511
875
136
634
836
354
35
705
282
383
292
26
303
493
983
957
825
553
267
438
444
894
724
743
625
687
558
941
905
659
679
831
476
557
228
175
561
454
573
674
939
695
543
595
807
991
419
369
753
895
792
252
758
89
633
101
971
341
271
577
295
958
482
731
850
223
739
939
401
446
693
375
711
334
502
674
668
640
659
11
409
31
844
842
123
699
367
849
166
542
517
812
461
623
300
467
959
396
691
436
223
241
12
632
169
373
877
672
10
430
786
375
301
471
688
444
88
742
632
729
835
796
166
803
299
236
169
172
441
354
89
866
814
113
974
384
220
815
287
403
390
96
52
419
423
342
847
215
525
619
137
916
362
684
248
123
736
47
565
912
993
25
964
194
851
821
166
217
35
340
256
272
371
191
319
787
115
231
18
832
333
44
893
430
631
883
750
95
593
146
762
735
787
87
650
718
419
19
543
419
510
413
97
948
947
427
299
945
827
370
570
896
875
374
303
683
737
741
101
28
570
82
490
833
635
951
143
968
1
494
34
200
845
390
970
730
553
80
404
279
818
459
489
191
214
97
78
951
160
285
564
229
673
115
598
789
98
673
22
337
469
319
498
354
796
968
722
832
136
865
55
685
334
222
615
495
695
327
194
783
660
666
408
699
761
355
456
96
644
736
109
115
462
129
274
714
219
948
991
762
489
501
530
537
265
911
330
705
852
672
413
928
36
227
678
828
592
705
767
86
170
196
97
898
624
597
275
341
655
222
796
480
657
650
73
960
275
268
876
877
749
860
963
736
851
827
612
269
550
172
747
250
188
916
213
907
129
627
195
7
45
822
835
166
85
636
605
21
384
542
690
950
162
577
963
853
158
696
160
693
183
702
415
606
930
485
316
913
111
917
442
242
77
710
197
684
843
256
380
630
497
466
845
874
415
160
15
544
945
619
171
634
71
970
784
684
333
535
73
335
469
444
983
293
396
937
936
755
675
879
915
348
578
49
355
838
745
741
379
994
611
487
885
523
743
402
423
788
755
645
210
294
820
506
869
224
663
774
519
950
348
473
299
444
653
187
892
318
275
186
709
810
187
181
531
678
546
204
494
235
91
790
691
939
740
250
160
78
117
827
195
871
952
533
765
531
355
325
74
870
345
194
572
120
132
653
168
649
80
794
684
814
895
684
58
665
739
290
12
735
35
914
340
732
115
877
564
624
131
779
281
835
634
604
624
682
55
854
321
301
370
754
448
733
19
176
976
589
263
474
745
163
26
923
447
478
906
302
75
974
584
228
825
62
660
389
379
773
147
203
600
642
507
793
109
109
261
389
695
412
168
44
966
751
469
284
758
820
522
314
291
952
452
6
457
654
403
220
978
302
879
5
739
910
527
493
432
280
706
71
220
720
887
2
822
125
850
271
319
471
431
274
93
162
790
72
482
236
747
824
853
895
300
667
353
59
261
457
68
34
242
514
883
399
3
485
77
734
728
33
880
468
34
366
109
743
543
635
288
11
930
610
496
65
342
457
52
820
792
129
551
773
363
146
534
215
908
841
285
670
237
832
96
84
889
466
808
480
471
917
77
358
135
96
152
958
472
103
72
49
19
806
849
849
309
694
691
231
782
669
931
857
299
768
689
433
538
489
121
91
955
756
611
715
447
746
680
64
343
775
842
717
89
996
987
363
263
655
140
46
29
497
311
612
9
405
677
867
905
618
217
529
513
877
953
516
4
656
635
819
285
893
185
976
206
160
245
897
241
421
293
827
408
801
154
236
449
479
596
17
460
150
54
951
204
124
18
953
626
318
344
357
128
163
403
432
783
552
296
588
197
866
117
999
458
65
94
858
310
718
154
757
618
765
166
796
196
963
10
131
959
804
200
501
263
671
358
840
442
668
228
624
745
532
396
417
846
694
571
704
542
320
966
87
204
984
576
982
195
636
790
780
50
631
618
451
772
704
547
966
925
143
206
4
361
621
191
633
291
18
443
486
278
856
32
846
880
361
679
922
242
739
299
740
630
495
810
453
34
20
495
166
942
797
299
543
968
415
41
739
413
649
784
62
476
847
388
594
482
476
120
292
30
904
685
325
792
104
595
176
542
644
62
528
358
442
348
269
492
690
138
288
607
930
286
440
930
526
267
955
925
73
132
57
338
27
534
916
925
618
418
906
698
424
797
839
814
21
789
175
66
894
690
727
377
471
368
690
288
104
157
961
386
848
217
184
26
394
115
477
515
361
417
187
165
105
517
188
794
339
40
161
908
534
3
907
261
172
415
934
486
636
790
72
204
147
439
670
501
558
316
205
136
498
122
656
245
241
477
31
836
110
783
932
558
670
15
62
586
57
875
852
982
80
696
104
703
861
855
418
233
400
724
198
850
252
650
425
889
808
812
967
202
756
157
159
656
826
287
698
173
313
177
993
44
274
380
357
334
507
515
508
616
723
20
147
943
715
271
272
882
970
941
622
268
573
336
188
813
230
18
515
705
304
941
287
873
87
264
40
614
827
569
266
172
418
661
412
475
895
446
88
959
917
407
403
824
861
806
513
665
152
568
884
641
414
250
974
638
537
767
245
226
22
729
386
620
767
888
212
728
368
263
100
866
19
747
730
683
906
998
916
730
791
861
50
529
526
425
209
838
691
336
877
537
210
267
830
61
509
332
563
423
821
915
181
137
704
547
45
811
16
762
763
469
113
393
399
645
241
678
254
777
148
825
894
957
206
170
395
400
707
94
239
994
544
783
107
673
705
299
121
265
150
401
835
951
370
314
557
65
231
154
927
288
947
457
92
699
808
177
610
494
348
540
625
47
702
61
294
865
484
349
718
268
936
519
948
512
890
326
379
320
130
372
549
843
960
959
202
568
786
774
795
580
505
338
861
615
182
465
287
528
767
171
244
837
531
602
971
585
54
626
449
417
493
312
683
42
349
493
422
552
131
537
26
72
399
893
514
45
278
332
375
499
211
259
923
744
14
468
669
836
508
662
299
84
997
263
831
180
817
381
190
465
723
111
860
569
914
457
82
325
279
113
940
956
665
345
451
915
933
615
89
463
946
473
344
115
265
894
150
418
55
139
993
61
435
797
635
344
835
862
254
606
355
189
287
177
775
147
537
167
723
554
921
402
99
435
52
652
537
419
591
132
366
496
875
257
351
165
318
300
947
779
646
598
984
795
389
655
124
655
166
767
904
511
894
899
125
383
158
996
131
30
652
683
979
713
346
652
172
829
796
411
594
755
836
826
567
480
467
530
416
427
656
435
301
915
394
842
136
524
740
692
562
268
318
355
588
496
811
630
536
160
511
76
441
929
803
898
475
167
11
898
742
404
634
300
66
67
586
350
385
161
399
597
108
720
502
214
887
903
702
338
777
456
78
191
885
720
242
154
327
245
953
826
810
285
378
488
516
382
237
579
836
134
865
148
322
644
690
819
806
821
402
440
845
2
79
12
438
767
63
685
934
708
718
140
77
167
55
866
14
258
242
685
284
608
98
829
682
772
957
729
591
541
193
548
820
266
947
1
977
337
495
979
574
511
150
675
177
87
989
422
70
763
443
41
577
151
901
29
560
867
984
857
850
972
7
973
633
818
951
820
340
923
80
568
78
835
478
619
42
879
482
168
350
737
740
646
606
106
733
199
187
613
370
315
516
68
555
283
329
708
925
785
824
991
61
197
135
857
454
202
927
587
96
501
931
864
92
819
400
496
179
230
328
479
854
392
631
46
419
729
151
469
808
891
600
285
398
601
947
315
635
826
381
913
464
380
331
899
812
265
813
974
443
208
844
481
371
23
172
48
708
516
708
210
344
471
568
185
933
298
282
832
993
308
570
68
476
838
463
679
213
649
574
564
696
542
495
685
783
770
215
409
338
772
969
364
347
306
745
104
231
695
939
844
555
655
542
913
433
607
833
58
150
906
961
955
262
530
433
331
717
104
144
200
777
6
991
978
639
746
831
817
726
845
839
79
698
427
989
258
271
628
206
994
503
657
242
786
202
730
9
554
916
85
691
274
90
653
208
708
859
685
195
586
235
508
300
986
541
284
198
219
541
410
301
216
773
377
373
140
682
544
708
472
687
571
459
564
31
756
415
717
71
641
125
389
607
433
297
33
176
712
709
638
454
417
882
770
311
104
728
892
695
682
955
393
18
892
29
457
873
784
260
220
509
209
844
119
923
698
69
21
710
491
288
890
88
131
59
574
797
174
354
827
371
497
692
122
439
412
74
895
428
145
327
147
135
561
482
998
433
847
727
479
840
626
175
191
204
30
722
756
261
512
994
139
975
741
745
719
922
670
249
629
294
595
326
870
885
616
710
933
720
8
36
766
694
363
587
343
591
156
660
268
768
306
506
688
924
71
993
895
879
861
226
430
189
695
217
482
260
148
251
555
607
854
490
262
995
677
156
547
57
699
62
860
461
218
57
426
322
666
383
60
350
633
537
32
547
597
841
813
345
376
306
267
367
852
130
602
623
197
90
152
259
800
312
397
845
210
599
449
529
891
595
578
746
180
906
452
570
300
920
210
833
791
856
319
653
117
52
816
141
498
664
117
644
303
698
471
489
608
946
129
576
664
270
460
714
94
924
400
192
785
563
316
522
440
883
345
680
678
506
167
773
198
648
6
732
2
276
602
803
960
228
453
310
809
797
372
503
884
711
805
492
654
575
11
694
719
262
846
386
628
459
330
379
248
998
798
161
223
533
514
866
222
662
729
27
424
334
147
70
356
559
595
116
259
477
767
652
235
169
93
45
189
416
4
840
319
989
968
32
21
524
404
465
400
861
42
765
525
433
721
83
694
520
414
167
942
804
66
95
980
572
177
432
298
634
528
485
714
628
679
693
375
265
783
44
493
292
336
542
758
598
927
197
347
425
260
576
310
704
979
142
911
278
869
319
551
446
111
461
551
64
52
834
54
440
775
29
832
930
873
307
170
974
56
53
232
321
543
96
45
590
208
663
349
163
39
590
206
152
613
217
176
411
586
454
305
742
564
368
253
200
579
583
230
677
143
526
730
685
281
147
624
75
209
942
643
9
423
253
57
985
953
881
615
20
659
725
500
158
378
997
908
422
721
532
639
908
927
593
676
42
319
521
761
417
21
170
940
638
415
62
875
690
802
418
937
92
21
103
131
197
554
839
750
289
317
288
437
841
494
712
90
835
610
794
559
105
799
42
648
829
91
885
998
351
239
183
152
192
422
926
532
372
718
531
843
719
803
626
674
134
10
123
69
450
300
344
538
472
268
161
82
170
47
148
402
589
135
843
551
829
625
779
756
644
492
436
950
521
130
305
346
127
418
899
907
216
887
597
929
988
948
557
589
318
289
334
333
529
587
615
63
301
29
460
498
117
750
588
454
225
68
686
628
305
83
884
113
566
619
426
148
288
126
554
239
260
5
638
950
853
715
760
733
890
555
802
925
26
451
93
799
36
229
20
359
757
239
969
751
371
559
764
937
906
636
43
679
968
58
136
761
920
445
301
693
165
593
740
342
406
881
435
729
848
771
80
221
768
95
648
117
602
159
354
992
288
239
864
991
529
231
203
890
776
664
87
831
4
972
754
957
293
374
227
281
821
963
112
336
486
575
415
337
810
551
161
492
963
381
540
696
660
537
939
341
538
733
278
972
531
917
574
388
362
464
897
248
148
50
729
119
271
80
85
221
368
974
141
331
548
322
910
24
884
714
388
606
679
632
663
273
674
19
192
545
8
34
592
915
690
633
1000
390
355
621
844
844
770
498
921
141
20
451
975
333
770
29
112
564
731
993
260
377
943
946
687
683
969
683
637
299
38
623
762
329
374
963
454
397
546
281
316
286
487
932
910
353
412
63
831
818
214
994
740
89
912
108
208
210
336
719
820
87
824
48
241
108
626
349
106
395
472
970
298
864
443
722
99
920
476
391
390
287
373
606
279
546
485
616
128
275
985
335
340
752
514
123
647
350
810
860
772
686
186
617
374
323
910
687
754
222
646
317
7
693
147
126
104
456
744
904
454
738
821
651
944
436
603
77
341
286
489
674
860
730
504
576
325
554
677
151
563
128
266
994
40
677
586
628
144
48
551
675
573
272
890
397
920
509
39
221
583
278
806
45
255
191
23
403
978
224
79
809
371
963
666
821
421
226
679
409
264
127
346
244
258
86
34
411
208
917
188
125
388
202
652
8
234
977
654
624
610
365
212
377
408
618
21
307
78
261
986
684
447
200
65
332
299
872
245
708
452
4
380
45
57
626
977
909
240
666
891
163
983
714
72
72
908
42
890
900
733
927
837
264
781
15
236
24
718
737
759
366
115
168
202
498
344
472
958
377
210
485
944
126
971
41
231
359
520
691
384
848
328
886
848
511
932
79
248
612
190
685
276
798
645
918
733
109
165
610
904
129
925
45
996
589
782
917
148
435
194
308
693
111
103
847
38
591
550
158
507
581
58
26
915
608
932
930
171
722
65
775
815
335
671
84
153
538
718
507
555
103
502
749
906
150
895
740
178
447
179
188
290
314
16
4
36
711
699
4
981
49
206
412
263
703
923
159
97
5
280
367
423
621
273
393
64
591
631
469
926
254
698
91
471
884
344
232
936
386
304
325
628
16
897
572
43
433
459
100
593
641
766
81
787
188
387
256
334
6
739
762
317
183
262
288
310
630
203
906
163
707
285
381
714
327
754
570
484
75
65
104
407
467
140
937
793
942
900
663
922
538
829
674
111
608
304
240
930
49
828
671
327
56
357
482
777
951
335
619
932
215
587
746
153
551
624
839
543
543
985
711
672
164
975
764
44
7
675
70
815
957
987
374
259
551
71
36
624
758
836
453
680
332
931
148
523
947
253
739
232
298
289
964
547
465
846
571
846
456
316
820
332
213
982
476
35
508
650
794
372
483
463
104
828
807
32
965
63
866
909
4
789
817
214
142
415
385
70
52
852
629
312
15
565
311
574
593
72
1
910
162
417
991
454
896
929
602
60
463
745
343
245
582
453
798
778
524
379
773
267
153
208
318
298
517
989
71
552
955
796
885
735
994
868
605
279
467
763
721
417
863
703
443
633
988
980
811
665
313
340
309
691
674
31
214
814
415
276
519
809
725
228
16
381
308
705
692
312
596
664
812
300
902
159
506
359
544
940
45
81
220
413
282
253
608
488
171
920
538
205
465
948
376
8
422
661
817
415
289
655
783
313
562
106
280
693
666
149
603
637
163
507
806
215
951
140
751
12
675
273
133
57
622
163
740
628
630
376
108
85
912
297
104
733
331
587
809
778
124
253
207
676
380
876
624
526
557
548
886
217
375
757
928
475
878
605
693
589
863
501
631
381
883
32
942
303
603
490
422
586
381
125
272
255
481
527
124
818
614
128
552
171
527
499
345
113
652
997
556
568
539
527
424
859
888
736
241
993
120
386
461
895
20
143
117
304
337
486
64
516
138
371
315
792
408
951
975
469
90
869
558
847
444
240
986
113
482
509
380
435
339
693
535
33
22
758
58
727
761
655
835
490
321
688
920
868
540
695
553
981
964
398
302
576
399
722
318
514
806
948
138
867
125
831
775
802
582
916
332
795
543
957
949
81
424
197
421
6
826
817
15
883
570
442
573
404
478
179
808
464
923
880
513
403
994
699
261
706
826
724
802
987
416
245
171
781
929
68
554
415
904
147
497
790
168
366
76
391
752
1
295
531
763
371
857
381
668
122
186
692
212
252
376
139
869
542
888
215
400
407
819
160
937
268
235
863
966
809
881
365
596
215
506
160
36
425
177
39
616
458
148
618
443
986
914
876
85
111
210
740
22
373
23
105
258
455
688
382
714
472
321
425
682
199
240
707
97
133
874
15
170
768
249
600
600
659
54
790
467
785
452
719
69
33
313
930
55
222
362
652
888
29
806
617
788
397
248
863
745
446
208
668
877
805
99
300
648
390
659
271
507
928
37
771
121
453
514
881
358
857
284
415
957
742
7
392
531
934
780
775
534
155
490
124
206
90
585
555
457
20
932
301
979
921
76
87
83
533
314
963
586
98
192
392
230
429
482
872
758
11
61
721
2
990
474
400
148
635
539
183
426
480
899
540
583
63
183
98
732
807
132
6
85
7
282
8
855
956
972
181
261
990
918
556
411
329
147
879
567
655
480
4
679
56
124
936
687
841
30
896
827
400
759
924
350
983
325
575
7
295
171
315
58
723
849
506
373
249
731
566
507
598
802
204
139
251
141
159
533
830
864
174
63
755
343
55
407
836
516
650
59
237
588
470
466
456
90
885
439
402
139
686
846
53
864
152
130
346
629
130
218
438
740
88
810
330
65
171
563
433
424
312
324
452
295
873
239
529
111
236
676
554
252
817
499
785
152
323
28
35
367
631
819
482
267
466
256
109
619
719
596
324
223
544
974
136
375
970
525
766
50
151
308
750
578
624
904
911
271
879
309
879
331
264
729
486
895
346
437
164
747
78
639
24
478
250
886
550
738
881
331
884
549
169
125
596
500
411
778
865
810
345
594
602
266
801
839
840
996
405
736
533
623
86
447
870
569
880
498
485
365
133
297
660
77
570
748
151
122
916
696
161
157
641
750
822
268
277
485
5
599
169
963
226
574
618
575
405
590
620
490
223
214
188
7
102
298
118
632
950
615
831
148
156
319
765
271
407
656
723
742
997
627
552
587
404
630
73
923
143
742
798
238
60
850
879
353
374
747
226
525
479
616
257
64
673
47
293
771
259
94
209
888
48
529
688
862
370
142
288
13
898
321
834
653
33
593
961
491
318
2
124
909
572
780
100
676
195
794
198
642
678
549
822
709
175
882
890
943
599
783
51
816
114
499
460
585
60
689
737
260
839
5
856
827
667
968
715
896
998
686
520
137
423
129
326
729
304
115
332
190
926
854
34
167
646
910
479
213
946
147
216
108
689
618
497
603
862
564
830
14
682
947
360
351
460
901
738
372
466
124
909
412
63
497
388
180
270
639
617
849
850
826
980
435
184
369
629
241
174
987
595
159
750
867
45
8
315
188
530
107
908
609
350
161
201
919
630
973
215
34
159
37
988
44
712
262
36
173
474
438
797
344
943
543
629
350
876
470
323
597
898
14
752
758
856
788
91
976
742
49
567
558
427
978
116
565
24
554
769
258
447
229
654
696
121
5
809
774
591
437
821
629
154
49
827
183
866
380
754
798
35
316
267
379
612
449
517
589
134
889
265
307
487
608
810
798
640
648
62
591
249
436
942
772
442
646
945
905
173
157
419
75
497
93
694
195
162
98
993
539
100
143
19
570
961
214
475
511
623
446
276
651
264
722
986
791
240
33
286
178
712
682
356
580
780
321
618
648
769
57
456
432
105
527
22
750
606
218
126
56
374
323
742
802
837
610
773
107
207
10
739
385
55
680
27
461
839
745
877
27
985
729
378
100
684
663
874
3
144
57
707
868
749
77
141
870
410
771
79
900
80
941
724
48
817
180
308
340
929
963
242
164
532
632
96
119
269
897
56
840
679
998
963
134
157
880
786
973
128
137
666
51
335
483
193
627
738
440
634
482
793
387
569
91
281
302
990
637
859
189
953
699
716
324
682
979
539
729
391
683
211
963
35
654
365
348
954
640
484
440
85
183
83
673
457
228
736
190
711
540
455
391
956
154
142
876
882
859
879
147
668
111
483
253
118
453
832
14
998
939
943
868
623
120
303
139
712
587
936
612
29
264
258
32
408
898
176
698
233
292
123
806
123
298
303
529
277
421
572
948
944
240
478
764
112
227
316
946
390
50
660
963
875
98
143
564
316
536
562
714
240
249
969
620
203
771
537
327
611
766
679
272
903
473
519
300
962
731
905
658
116
420
729
698
375
20
119
2
180
857
240
476
190
14
905
848
815
53
201
448
240
946
629
301
463
796
952
951
160
923
766
167
569
289
61
777
432
546
411
616
586
866
487
947
827
339
728
956
808
565
56
475
126
509
435
74
413
427
39
773
343
941
960
964
473
94
829
67
780
276
803
887
247
47
910
599
852
428
263
947
620
230
677
147
106
621
400
252
920
694
471
559
619
740
501
568
623
539
227
629
845
304
574
652
49
621
573
698
137
537
260
534
264
260
960
487
959
957
851
472
796
393
394
872
809
251
787
636
304
958
470
466
912
351
442
914
506
740
649
253
431
151
152
203
650
43
136
530
323
283
28
299
413
543
10
147
180
104
819
942
651
795
70
485
651
152
320
859
852
597
463
887
514
644
877
859
213
859
637
689
783
744
450
311
396
508
858
564
817
804
119
910
225
458
502
617
816
601
107
596
931
263
345
558
444
70
667
539
954
916
986
859
542
669
168
511
551
140
503
388
119
985
825
35
564
417
363
850
185
827
963
7
648
832
285
516
917
445
972
994
353
963
578
441
624
398
128
673
235
973
113
764
742
493
69
118
898
778
14
185
430
765
271
913
241
829
772
753
486
936
941
281
389
695
506
13
354
163
30
178
945
769
458
265
339
331
459
540
46
658
807
931
8
351
586
150
378
400
99
449
509
748
34
415
461
326
711
565
34
734
941
251
55
690
206
694
296
870
755
98
990
458
867
456
430
626
849
636
670
475
73
451
730
965
981
40
253
822
938
323
324
877
397
91
123
172
204
171
584
127
364
74
493
593
503
155
456
587
165
958
628
519
186
875
349
214
962
308
353
570
878
365
922
688
440
789
79
252
809
385
98
94
223
219
98
701
502
132
63
859
238
19
675
656
655
937
397
10
696
851
566
306
955
663
209
79
776
687
707
783
167
350
411
429
543
639
771
284
809
973
379
185
174
477
652
491
771
115
492
907
897
33
267
805
54
860
716
346
964
620
962
833
9
980
247
850
760
426
315
311
45
992
636
671
438
788
612
967
78
776
347
252
388
755
513
44
175
410
281
424
491
753
387
748
750
293
182
62
747
627
446
821
382
147
451
243
799
601
317
228
940
327
397
66
476
232
512
594
726
849
919
599
314
363
587
473
119
882
320
732
992
444
109
794
301
532
735
469
532
174
867
239
42
14
14
927
505
457
611
985
699
292
131
671
496
114
102
428
291
158
335
470
471
377
438
819
198
598
357
622
915
577
457
620
356
771
193
969
473
252
130
333
696
302
63
503
360
893
537
190
739
48
63
747
183
548
637
421
705
55
100
879
359
575
139
272
118
837
835
346
253
652
69
172
940
154
895
543
986
94
199
825
379
745
466
17
978
244
52
475
655
11
38
297
718
759
949
403
179
149
544
399
385
870
226
862
55
121
656
292
614
436
320
603
309
91
485
667
244
481
862
720
682
695
397
635
786
378
832
443
931
588
773
990
61
719
400
588
235
643
295
379
927
974
621
788
957
207
241
848
430
845
189
503
82
676
804
752
664
702
508
517
156
471
341
89
266
263
373
906
696
661
313
993
159
539
837
538
230
668
728
668
516
473
118
559
675
287
200
424
999
43
793
208
877
668
551
497
4
243
986
23
57
704
454
347
112
403
812
12
428
929
567
370
371
972
814
978
188
81
665
586
579
425
92
101
103
673
918
629
536
33
818
290
331
904
275
14
72
350
461
845
485
857
37
336
843
233
354
97
626
487
548
654
726
6
57
478
968
813
661
405
303
756
390
53
518
491
733
598
363
898
438
267
77
559
387
13
92
676
735
162
480
744
44
621
624
807
295
605
626
379
345
716
654
522
613
540
758
384
962
770
786
766
477
87
690
341
918
209
126
613
332
649
848
991
890
598
714
116
453
892
214
175
631
638
132
492
461
727
175
118
573
674
6
840
220
454
35
631
284
176
945
821
522
108
169
230
938
205
976
888
199
235
784
879
721
183
250
666
829
431
712
1
484
52
278
563
297
571
898
835
435
365
857
259
887
709
581
444
529
767
275
969
201
471
294
498
666
693
289
521
838
341
472
359
368
911
115
177
45
634
816
951
237
469
500
74
412
572
290
670
75
473
75
878
483
624
889
143
723
401
434
913
844
441
607
384
542
616
342
878
316
814
51
261
38
88
837
700
767
652
412
387
101
55
11
303
684
547
627
132
459
750
789
121
835
238
756
60
365
874
853
300
402
962
280
290
509
693
142
804
862
417
468
458
25
695
524
511
570
955
445
305
511
761
434
217
333
625
369
801
480
437
507
557
898
267
768
346
438
874
954
339
319
208
441
524
990
623
736
46
887
211
99
505
934
866
348
384
173
257
229
990
866
477
640
179
155
686
299
452
806
930
734
527
953
34
875
723
470
569
215
744
650
733
301
145
702
19
345
973
198
704
386
612
429
827
456
640
541
141
44
902
916
577
615
198
518
44
568
804
69
137
281
974
159
121
67
484
985
965
404
557
747
40
604
680
545
631
5
858
659
225
19
802
304
231
708
887
900
818
151
821
100
183
471
333
907
304
266
662
67
775
179
971
73
630
620
737
744
674
263
620
121
775
402
383
989
778
497
547
7
973
367
261
240
455
754
927
994
779
387
709
291
738
167
961
44
102
348
771
550
729
955
688
405
898
744
965
962
440
740
228
994
108
98
258
900
769
485
342
174
571
189
57
816
602
653
921
113
662
303
590
610
923
54
403
564
457
676
304
993
238
744
373
514
916
31
966
294
341
636
968
897
69
87
90
867
387
267
622
979
819
544
141
164
150
733
17
945
44
533
844
123
580
22
573
659
636
368
453
472
732
451
610
933
912
177
10
585
796
195
887
831
32
880
450
971
477
862
430
727
176
304
796
775
563
743
791
739
963
355
442
45
22
822
738
263
506
497
990
618
922
722
613
314
231
440
491
818
389
328
868
827
530
883
469
884
233
486
771
136
390
687
920
152
109
644
889
629
64
695
393
335
436
376
571
510
475
541
775
875
144
880
940
112
571
891
375
539
529
762
385
978
426
344
267
326
889
724
340
654
414
461
198
24
754
365
154
837
926
897
83
524
744
965
772
873
233
110
531
582
605
519
565
163
713
172
505
220
914
977
824
818
989
900
765
753
285
975
226
794
423
351
696
331
686
90
659
311
458
318
101
480
431
616
368
756
525
524
200
636
87
175
486
781
572
71
848
17
228
355
691
305
582
871
880
782
165
975
566
636
423
279
917
867
754
654
141
131
923
209
636
986
815
828
447
519
451
674
208
713
153
98
833
879
347
956
936
735
117
632
58
898
249
949
868
760
523
17
539
177
153
762
225
419
35
370
675
341
882
201
217
750
766
900
580
466
795
729
504
907
330
474
438
861
817
99
332
134
806
656
297
62
197
305
23
529
425
306
705
787
334
82
395
102
977
206
150
170
108
443
246
720
447
30
164
613
7
217
478
864
496
866
538
368
246
603
278
45
320
437
92
575
46
514
922
13
610
277
498
758
63
18
985
722
498
442
529
24
362
86
153
357
314
258
640
33
389
161
59
758
887
710
916
179
315
922
812
23
996
695
36
492
524
447
261
718
982
60
706
147
92
756
938
525
366
598
439
737
715
22
11
138
329
306
6
294
947
927
847
443
906
996
225
834
389
1
912
577
439
170
675
27
703
665
107
832
15
176
937
479
743
368
66
151
540
512
470
387
341
182
192
199
897
663
514
510
719
506
969
534
52
133
551
771
778
8
87
169
692
396
516
866
740
95
567
990
725
144
482
559
103
906
879
519
241
645
854
712
70
515
196
753
724
669
85
724
12
112
574
898
733
614
207
136
996
876
720
935
541
886
994
78
248
174
461
64
731
967
427
658
23
851
866
372
785
853
932
425
938
781
148
784
663
709
360
948
637
786
57
451
980
99
18
947
121
963
644
161
207
514
878
1000
321
74
358
689
449
221
799
727
516
470
112
588
602
153
190
400
695
843
19
388
980
144
183
240
734
629
849
591
985
574
836
588
347
130
481
811
104
658
751
460
646
193
559
978
383
158
95
927
675
904
988
372
396
285
276
865
919
735
411
32
723
184
523
571
55
273
546
458
504
294
846
392
631
198
914
847
806
778
885
241
564
278
145
299
157
63
392
812
295
259
475
182
333
951
456
698
224
172
194
376
645
127
512
905
664
439
106
942
73
500
254
399
326
915
62
346
458
788
938
539
290
884
936
599
484
311
859
524
798
680
416
219
73
412
791
36
980
858
212
652
564
983
813
721
129
770
331
505
201
103
30
650
32
117
22
292
742
22
248
795
886
937
771
855
596
767
409
992
120
227
962
189
891
364
598
334
288
897
814
135
325
932
808
349
222
423
868
447
268
102
440
981
8
875
241
735
298
610
808
956
552
425
517
792
702
353
644
965
543
458
881
737
324
551
835
373
963
525
776
756
215
957
868
829
298
992
728
611
443
886
50
962
283
686
985
540
762
18
728
128
254
896
644
919
389
750
719
954
525
290
535
443
738
980
797
11
171
201
783
465
355
130
762
895
803
857
548
639
817
112
256
727
179
71
516
49
144
132
835
544
848
828
821
957
865
666
902
995
390
500
992
382
546
899
205
526
354
74
955
51
188
660
317
647
734
387
786
440
553
248
71
223
951
4
270
219
867
193
694
88
486
874
603
7
102
683
391
986
732
325
992
323
418
498
719
826
15
619
574
351
361
41
195
138
547
27
5
127
244
357
642
76
600
64
231
518
930
839
128
913
169
558
455
399
831
451
608
441
524
909
445
495
534
948
739
505
836
7
196
629
534
353
588
684
358
986
451
814
460
935
969
428
324
21
43
479
964
58
41
964
879
139
489
220
86
763
795
811
983
848
452
415
395
866
410
565
87
884
289
507
919
945
581
775
421
834
990
81
612
57
113
16
791
267
634
677
524
389
303
7
413
148
335
499
884
244
284
216
870
388
676
16
643
98
623
385
944
317
568
987
181
667
982
143
355
799
634
59
874
878
354
152
142
814
480
496
776
258
813
248
49
348
515
180
441
521
256
821
792
835
737
541
684
755
212
408
591
939
265
158
567
377
392
723
737
317
26
667
961
934
370
781
909
617
327
979
468
618
17
551
262
612
29
207
897
84
865
277
525
996
298
546
812
810
826
32
208
937
968
908
649
33
747
549
85
76
253
935
980
674
578
312
184
241
622
723
410
311
147
130
437
705
244
469
510
818
684
178
735
497
54
828
450
685
897
238
622
718
125
817
277
763
152
830
833
712
194
269
864
870
554
352
998
61
470
838
978
646
798
874
155
415
607
834
42
503
545
706
130
451
274
158
319
425
515
460
262
263
920
230
124
425
808
811
287
280
823
728
285
242
366
444
196
962
125
917
141
311
702
56
440
720
39
650
643
935
943
989
708
69
421
220
26
344
841
169
373
325
480
706
127
950
880
284
93
173
106
60
848
536
83
667
316
824
833
978
657
939
196
818
5
11
191
905
682
976
669
859
729
244
248
527
729
860
522
258
539
84
420
864
61
129
817
573
100
561
61
812
6
63
577
300
407
33
312
746
945
483
997
689
967
726
874
497
346
377
725
885
210
279
375
865
930
108
676
242
10
64
662
103
519
99
130
686
927
717
385
552
495
107
464
699
319
296
826
959
852
255
551
580
482
618
180
35
940
850
974
248
6
26
255
120
365
81
909
410
382
86
691
930
620
632
813
362
66
592
947
61
170
144
785
741
926
424
851
372
794
211
486
564
459
845
266
39
954
395
451
14
903
86
554
809
709
919
252
704
895
419
397
897
65
684
167
466
891
399
367
400
813
774
33
525
42
586
988
606
369
59
250
252
692
729
722
788
987
531
120
456
90
70
335
751
229
692
635
159
482
228
661
634
282
448
769
897
381
763
938
623
685
320
881
710
341
119
811
313
977
223
690
982
823
739
319
412
142
465
174
775
906
702
715
234
271
452
875
533
270
761
381
160
793
694
261
700
75
617
602
81
930
708
116
740
84
268
360
859
23
964
587
247
935
450
260
460
237
420
582
732
967
368
860
905
966
132
236
935
336
361
122
156
280
729
943
689
514
319
49
950
647
239
873
129
111
168
590
415
706
2
225
356
385
320
732
760
650
992
860
825
28
601
627
393
859
686
162
530
540
592
533
947
432
962
799
221
289
752
431
755
234
723
704
364
776
141
84
471
426
935
602
348
282
614
328
14
436
142
262
446
681
99
486
983
456
943
690
345
404
770
617
888
369
614
397
903
224
739
646
142
207
862
648
737
678
697
656
263
523
141
733
906
696
899
409
893
723
288
108
832
706
81
365
377
478
35
788
361
869
660
424
283
625
237
49
368
315
251
1
891
354
998
202
574
556
497
956
525
305
728
49
614
533
748
650
288
345
567
499
988
776
262
368
75
131
749
755
486
180
220
373
381
114
763
44
940
664
566
706
477
62
574
626
509
132
575
453
106
761
402
71
748
642
266
618
319
888
161
312
658
184
954
329
16
185
807
861
460
315
657
707
543
395
485
211
615
724
427
61
703
199
728
161
533
19
329
31
311
574
875
22
174
623
950
52
439
104
42
11
578
839
374
746
618
136
134
19
844
306
77
955
811
191
29
36
413
311
460
937
35
301
268
240
572
417
949
349
907
767
107
487
990
865
294
928
810
56
444
128
185
228
470
345
358
213
409
232
477
263
980
667
534
838
779
811
919
491
703
971
874
980
372
73
968
308
221
441
717
343
272
290
812
583
265
611
461
162
57
269
135
818
832
181
165
931
268
994
92
71
990
930
583
73
339
382
909
676
684
172
392
558
477
518
202
256
795
235
191
222
417
469
392
659
530
334
183
210
247
492
944
140
650
192
20
722
618
308
442
689
791
515
921
325
502
272
345
108
563
143
710
419
977
333
10
702
462
521
587
300
154
123
936
586
423
620
954
650
627
400
17
42
713
202
295
5
173
322
250
732
46
848
769
799
779
388
152
885
895
676
652
5
310
535
249
724
667
617
362
546
138
245
15
953
56
366
470
151
726
2
857
829
311
951
586
72
203
466
310
234
117
801
76
479
808
711
558
602
292
837
810
457
371
221
398
944
186
469
557
220
157
773
135
787
671
505
647
803
941
951
195
140
486
153
124
832
114
882
400
349
675
234
277
754
503
502
958
219
115
67
122
190
796
378
682
154
596
281
933
385
280
615
755
34
160
165
970
332
250
785
406
169
721
815
145
281
871
703
615
121
414
379
547
987
213
640
69
423
147
559
340
315
44
155
152
820
944
488
575
236
991
256
354
177
674
530
312
47
614
765
123
922
835
710
91
762
655
224
934
103
730
819
524
666
698
852
808
828
716
621
203
337
458
807
225
793
559
769
386
556
805
92
963
59
198
98
880
913
766
156
643
674
687
228
680
242
622
693
989
245
737
588
169
501
714
924
338
160
745
331
993
155
280
77
367
7
373
818
525
170
458
789
755
985
758
620
157
296
293
862
244
561
169
390
324
553
567
300
171
182
502
619
171
242
821
389
255
399
526
888
885
20
329
853
852
505
728
533
663
412
955
280
511
970
957
608
241
377
244
673
243
648
359
40
30
765
42
516
390
478
495
768
309
408
286
80
470
452
444
470
268
639
174
484
325
552
117
33
647
822
615
431
36
548
321
835
970
998
538
254
480
939
484
775
284
239
539
803
153
508
475
577
29
298
3
295
30
611
913
281
413
318
719
392
991
840
480
541
695
314
440
758
537
396
937
346
756
188
983
10
977
743
616
895
686
471
227
736
25
723
569
96
451
778
833
858
204
335
157
919
345
266
640
487
129
633
607
859
253
709
66
469
518
233
266
670
610
551
406
398
546
18
860
612
222
550
65
774
543
396
614
829
158
8
301
28
418
682
261
950
362
799
99
370
28
676
231
329
891
413
820
416
588
906
689
457
96
248
83
715
211
23
461
958
55
482
957
818
620
242
916
720
897
278
886
768
266
932
291
820
391
562
772
138
396
732
15
911
708
900
16
419
603
784
672
697
796
563
32
451
735
251
713
517
620
874
6
591
480
574
483
108
877
522
703
737
381
875
352
366
329
324
213
37
109
848
734
891
668
503
26
824
141
104
855
477
161
43
285
680
590
673
117
376
601
986
266
279
26
489
32
369
126
936
437
552
612
395
791
680
574
748
890
538
636
262
656
267
532
230
487
675
434
34
559
668
896
845
512
248
26
192
522
229
430
304
116
141
916
834
347
987
764
831
923
628
705
326
589
329
474
56
482
971
132
666
307
573
421
863
515
670
500
506
295
806
678
218
209
750
934
128
701
50
260
786
187
421
622
950
318
83
262
500
556
585
66
769
649
29
265
508
539
22
84
492
807
925
926
115
4
985
770
500
562
561
391
128
76
580
261
73
261
731
624
410
247
949
800
1000
330
849
51
134
321
650
315
57
813
256
858
26
180
56
749
535
879
84
879
178
893
877
91
37
816
476
352
368
827
377
547
203
716
417
192
519
817
137
148
34
671
366
72
602
110
762
266
711
590
477
443
490
919
645
441
630
876
606
480
918
985
452
954
292
727
618
5
35
868
858
433
865
95
140
646
488
677
794
142
172
111
773
822
26
121
158
879
976
920
45
106
309
535
749
261
760
842
684
140
217
819
310
821
468
765
544
829
989
697
369
196
321
375
217
633
744
49
375
78
11
777
274
309
39
67
210
106
957
443
404
181
192
306
133
914
392
521
407
320
586
572
722
912
471
171
328
514
271
73
310
525
593
745
48
868
199
524
14
495
621
670
60
525
252
770
852
699
456
556
997
453
362
197
219
975
812
650
627
152
951
325
561
218
478
601
992
818
684
729
391
950
658
581
400
421
213
955
590
402
422
47
971
156
334
406
507
505
450
941
82
336
461
751
784
887
146
484
103
23
374
730
968
101
142
834
147
402
203
677
536
705
84
53
793
399
121
389
984
663
672
831
786
543
872
759
553
596
69
960
112
477
49
688
224
540
634
221
123
467
776
630
385
823
431
946
302
360
630
743
700
679
829
385
150
202
972
123
261
618
651
864
758
88
359
488
422
2
714
102
335
534
518
793
178
35
406
532
475
877
249
375
329
107
196
226
921
592
155
329
755
584
996
291
456
123
666
67
770
82
167
333
770
421
7
277
843
984
221
722
307
529
893
236
376
182
346
497
552
583
385
35
315
602
309
475
726
743
116
152
268
255
419
199
623
505
952
803
165
789
884
164
39
375
634
970
424
640
647
393
50
419
89
805
7
665
871
149
543
198
28
603
183
969
429
802
285
453
32
224
26
511
735
20
564
90
163
511
215
77
434
174
198
907
635
10
901
261
503
306
215
504
632
29
168
331
429
304
784
287
213
176
105
217
183
739
963
736
759
827
102
8
586
125
568
311
534
591
373
470
227
541
766
669
892
640
245
304
500
61
215
139
560
111
15
35
420
778
35
550
353
336
348
51
584
627
301
762
899
348
396
228
791
173
963
494
547
236
831
259
711
496
101
7
74
787
332
469
303
328
34
840
761
169
434
481
783
733
380
989
446
352
540
738
403
613
749
145
415
787
535
551
107
976
770
25
973
871
289
272
903
205
878
36
327
602
608
152
212
941
413
625
332
868
746
753
401
358
896
596
165
148
713
915
756
105
979
817
883
73
964
537
847
788
449
6
956
461
721
725
535
138
510
666
754
808
210
177
97
426
7
872
904
251
801
281
927
32
223
571
110
539
901
287
979
952
590
27
165
644
603
884
522
226
467
161
652
372
830
990
316
751
283
12
366
321
743
819
871
554
790
897
25
3
593
15
773
81
815
602
523
916
733
923
23
381
161
944
675
652
770
566
90
219
516
532
851
268
458
313
426
570
888
223
886
881
162
24
388
102
35
297
237
354
496
74
171
280
997
486
702
341
33
273
783
85
544
658
316
460
677
11
510
984
434
803
191
619
258
383
41
47
409
788
995
331
398
652
394
289
979
938
108
364
820
167
867
196
589
364
297
841
609
876
582
990
255
49
941
458
549
194
416
362
702
620
657
380
453
318
683
3
584
434
954
388
521
582
978
632
744
973
830
363
665
393
7
57
751
892
764
451
62
944
409
56
115
842
954
396
115
732
306
520
305
534
408
104
675
61
721
624
892
301
498
990
111
24
282
989
192
831
646
713
824
773
437
954
109
931
954
519
598
627
445
166
951
345
953
200
947
894
363
64
960
449
330
235
476
427
94
472
480
562
665
950
310
468
909
212
456
230
668
662
648
54
65
892
272
685
284
223
325
8
710
625
618
290
404
827
204
827
212
285
849
889
104
864
992
433
267
152
84
905
338
796
935
795
175
386
818
472
634
744
91
988
722
759
203
772
931
442
410
584
478
366
477
23
348
861
719
883
686
136
264
705
260
347
527
751
624
388
937
871
398
982
643
3
952
134
424
907
367
956
4
367
307
448
546
861
377
371
462
524
87
968
406
280
622
266
665
969
41
496
752
168
337
730
568
447
443
463
686
226
647
327
147
446
788
158
142
452
581
776
958
503
401
979
23
130
239
496
377
684
89
728
434
519
769
200
879
492
385
720
22
885
661
548
813
626
772
432
58
891
36
446
577
593
124
161
40
42
778
894
73
106
576
421
331
279
932
296
916
826
224
398
822
176
414
772
553
521
996
126
75
777
512
683
750
198
418
425
300
6
28
864
634
741
655
837
704
897
962
116
199
608
400
468
149
650
897
240
686
911
55
464
990
93
969
419
674
564
738
480
740
895
92
562
217
239
541
877
800
381
63
915
797
912
679
430
722
642
62
73
161
602
303
229
307
863
519
924
998
591
337
312
964
474
31
872
12
889
137
870
78
619
73
272
464
767
268
82
855
326
657
583
812
765
683
444
843
972
424
37
75
146
240
1
998
945
128
161
866
375
902
518
64
795
896
52
509
785
953
905
941
464
87
138
835
612
771
816
292
147
911
110
623
730
412
167
830
453
866
954
328
227
321
843
385
357
459
284
23
528
926
350
672
851
709
718
277
682
75
856
694
417
368
297
599
971
757
490
1
968
378
176
138
321
759
3
340
123
473
42
619
156
954
444
411
139
762
873
559
475
543
36
63
613
308
874
736
594
376
191
227
786
497
990
774
489
701
222
661
847
888
878
151
26
640
947
64
320
531
645
417
898
636
147
976
602
348
788
490
397
431
46
47
167
244
594
944
499
37
304
245
145
122
834
974
95
863
292
593
601
656
590
867
837
733
566
958
362
444
705
500
838
574
963
561
251
958
951
66
323
585
506
117
131
111
36
126
366
890
891
378
694
516
392
791
149
138
605
841
43
645
657
100
690
817
643
81
618
853
892
145
916
199
880
48
5
271
52
962
75
616
528
39
684
765
631
874
227
514
131
106
770
30
66
670
956
945
7
601
404
227
318
160
420
628
843
154
529
176
320
19
826
183
301
382
471
599
26
508
547
197
486
536
935
979
63
183
145
346
455
507
804
622
191
546
809
852
135
627
170
389
271
663
501
730
214
225
586
567
82
726
902
883
327
911
880
72
862
156
829
73
573
638
127
79
820
411
993
353
485
854
373
864
69
74
704
533
978
804
608
645
624
139
113
122
466
767
73
496
563
174
297
162
56
349
713
65
616
763
855
547
14
593
551
906
353
319
892
195
912
531
210
595
435
662
322
183
53
551
196
461
25
576
536
79
377
818
613
494
421
821
272
128
925
296
619
305
567
255
44
122
743
30
731
338
401
869
233
730
469
963
845
987
254
551
897
876
93
857
852
999
702
110
218
917
394
458
747
772
496
927
206
994
516
663
526
157
937
946
673
315
977
73
563
10
163
93
528
895
332
977
996
35
180
814
639
356
76
120
283
842
705
56
858
876
703
140
502
619
877
998
724
215
520
893
438
630
490
483
509
409
839
907
365
587
492
390
314
411
193
911
702
81
314
736
41
772
179
128
991
833
633
755
223
236
681
618
640
916
233
710
129
326
664
456
187
92
832
528
298
352
697
994
557
494
832
628
353
262
197
533
890
152
847
53
432
760
787
14
390
106
376
457
612
406
182
182
270
19
41
874
215
644
208
230
463
21
901
307
14
997
1000
731
236
907
330
817
555
929
430
141
322
319
344
544
654
125
415
485
853
199
285
733
100
499
413
717
193
50
752
553
15
259
769
531
276
745
605
257
523
178
877
286
842
344
926
874
534
786
458
860
927
109
967
34
328
514
714
554
888
792
367
428
299
33
301
462
898
924
840
946
214
251
650
364
787
532
240
676
370
875
375
999
44
177
717
198
615
280
738
272
739
556
828
959
718
558
407
816
348
634
165
515
852
915
555
179
302
416
89
387
727
527
655
670
741
953
120
782
771
528
946
297
114
429
65
491
638
818
275
973
404
979
793
300
390
119
993
670
126
91
82
679
767
993
895
650
733
668
100
763
53
238
58
530
148
346
129
868
160
500
198
309
630
144
991
881
912
456
565
274
839
794
633
479
84
113
573
231
595
525
655
28
326
914
979
681
997
198
134
862
520
673
931
129
441
926
616
185
275
929
134
894
83
485
618
60
298
100
305
474
885
466
853
695
633
606
280
427
136
229
858
733
257
454
576
823
496
147
491
144
616
217
502
869
578
844
599
920
619
435
352
922
678
788
499
722
768
678
967
717
125
924
161
889
117
278
967
106
184
160
61
152
772
123
209
713
287
8
510
78
817
192
98
746
31
42
595
522
401
865
671
419
50
323
778
886
52
818
789
691
132
330
722
279
67
56
744
248
918
511
689
388
413
143
847
731
216
763
203
815
305
464
334
633
890
463
57
272
845
549
615
699
884
383
71
456
668
937
609
437
788
700
860
336
788
822
929
91
119
361
367
313
464
148
17
632
287
722
135
865
856
767
15
127
192
891
309
957
619
576
512
343
809
882
850
856
369
368
1
197
238
664
441
524
501
857
935
773
829
879
193
422
388
524
930
911
478
111
18
604
137
902
392
388
330
94
150
161
351
849
147
193
723
884
885
537
29
256
317
706
590
89
581
276
208
367
862
673
114
54
215
398
107
254
285
340
278
288
871
671
355
196
316
363
459
767
777
781
863
583
238
545
384
939
701
1
47
280
441
166
396
916
696
512
775
258
70
896
230
684
454
740
709
985
389
24
741
997
629
473
704
552
125
74
697
300
469
227
551
299
736
530
542
785
826
340
318
339
418
179
990
104
429
317
711
597
581
578
929
621
643
139
162
926
579
60
757
115
122
481
757
381
311
225
262
92
495
498
139
913
31
297
419
953
754
419
69
761
605
976
962
75
928
814
971
280
355
853
149
184
912
275
751
925
168
67
603
495
379
610
275
707
301
196
697
461
972
463
389
535
490
4
892
5
470
426
732
342
677
586
379
770
830
715
892
560
16
325
932
318
685
536
299
582
620
802
564
513
661
895
740
553
273
406
557
813
570
825
629
476
324
911
177
29
815
650
887
633
383
736
763
805
63
503
874
35
417
764
560
551
555
69
827
428
328
6
235
427
689
560
874
804
25
413
461
210
38
712
288
761
303
14
243
879
372
904
757
415
72
983
853
705
449
403
241
794
603
837
184
640
356
833
590
197
692
902
214
325
521
74
223
118
252
243
428
191
579
220
586
602
934
70
860
734
32
903
6
945
226
175
283
152
289
324
167
152
859
220
882
462
189
697
348
835
961
530
231
60
151
9
94
308
628
580
522
716
159
922
647
502
331
569
219
29
952
112
484
34
232
347
540
572
155
998
801
280
745
988
284
305
718
59
413
614
538
372
913
47
296
376
771
615
754
773
253
83
616
864
443
635
547
782
25
501
948
642
902
799
787
608
879
7
637
358
440
686
984
192
665
732
291
562
616
743
146
887
734
473
822
403
318
290
839
324
874
346
231
712
55
482
267
79
902
510
873
361
344
812
445
380
146
161
121
765
953
531
364
225
572
378
40
316
145
322
829
562
888
950
747
301
240
375
908
849
402
42
706
4
498
944
671
662
628
188
29
99
947
982
831
874
317
746
292
182
473
444
386
195
684
787
518
197
773
306
396
991
703
77
722
99
896
570
118
266
381
260
58
779
76
733
767
941
533
408
975
140
802
699
739
740
364
181
166
81
860
880
657
851
368
183
980
301
776
537
795
519
377
564
978
949
337
835
228
136
587
357
336
94
122
58
184
624
12
630
292
568
510
836
58
313
261
258
143
361
800
381
435
718
553
365
756
448
922
352
342
813
368
591
270
21
872
728
742
395
628
987
569
706
211
30
744
704
278
258
937
652
266
47
622
888
845
645
864
49
849
82
708
66
619
631
308
958
359
972
331
197
753
156
463
68
59
389
237
646
342
478
463
722
302
851
851
579
131
121
505
760
953
887
491
124
291
483
152
430
880
14
549
956
788
909
626
270
922
704
563
242
685
20
704
574
111
276
104
352
134
597
76
561
316
704
277
586
900
642
385
800
996
480
465
572
561
469
162
679
611
911
724
342
380
681
538
980
177
86
308
573
980
507
589
430
71
9
218
642
524
388
464
234
907
576
747
774
750
650
43
29
633
773
462
745
725
498
621
172
692
735
475
778
98
353
457
763
394
29
315
970
546
705
959
264
213
326
369
742
981
632
161
967
931
208
325
691
697
223
818
716
180
998
967
902
431
230
356
983
770
290
413
347
311
164
444
572
220
554
748
178
824
342
69
841
334
244
550
231
209
995
58
353
553
770
320
444
925
456
385
432
443
225
517
108
15
125
863
355
868
275
387
823
550
403
799
549
314
520
239
804
199
730
888
395
542
405
684
896
112
993
488
757
43
499
37
919
947
71
252
261
375
284
18
250
764
839
166
594
381
774
475
842
400
577
422
118
430
476
726
791
116
430
568
509
925
661
640
40
917
180
667
208
975
517
791
332
923
847
189
539
653
994
307
406
91
929
480
901
592
790
355
9
982
196
978
885
759
242
31
436
560
469
590
925
803
58
363
499
708
788
323
517
226
894
523
607
703
142
153
742
322
919
988
319
923
717
747
701
97
233
289
233
553
426
136
270
436
436
342
333
916
956
920
918
757
848
756
475
614
148
253
110
149
696
190
329
269
183
376
604
853
714
385
123
636
871
846
122
831
109
866
1000
817
139
747
783
440
50
737
945
490
2
836
433
28
905
598
533
942
636
317
638
244
628
664
333
740
684
743
212
293
837
844
462
398
695
418
466
330
697
675
644
534
733
347
559
446
33
965
585
251
557
439
457
41
626
802
884
123
604
559
634
204
561
810
738
781
24
525
203
309
233
196
894
650
450
28
602
573
64
834
36
41
428
37
648
234
416
994
146
789
937
88
37
524
708
94
168
755
949
261
652
76
343
542
685
568
301
730
982
941
20
812
288
76
551
810
634
701
224
829
628
412
547
215
904
605
531
440
982
919
149
413
975
135
1
3
551
650
626
552
208
615
425
16
443
307
225
818
528
997
355
853
625
766
5
440
570
230
499
416
139
934
871
996
84
382
584
121
120
148
16
180
961
771
689
808
579
463
255
733
123
719
610
818
407
294
761
643
659
780
722
803
764
822
590
209
996
120
129
907
781
555
841
162
726
702
274
648
145
571
258
222
125
307
184
457
400
568
686
732
532
450
740
553
896
988
132
155
221
400
552
46
915
726
108
768
968
245
485
992
335
969
493
974
682
924
2
848
414
627
758
168
706
711
571
654
555
956
615
303
805
911
390
88
255
604
524
486
730
56
562
963
55
777
52
989
689
761
969
646
682
480
195
395
534
970
118
185
55
290
816
286
462
704
839
262
381
813
34
885
455
98
822
4
550
686
81
332
67
11
644
432
816
759
111
435
125
461
79
141
21
920
343
497
145
963
382
238
900
249
480
714
985
806
601
268
400
390
732
661
771
746
224
184
42
637
81
645
98
468
468
77
379
86
760
821
130
828
291
934
179
727
294
295
953
461
1
854
308
716
90
63
759
799
238
40
479
685
899
843
504
666
619
175
243
376
393
445
882
404
684
448
412
467
63
39
469
795
314
21
259
109
643
197
774
928
327
140
88
370
811
109
742
565
193
850
330
328
477
318
7
144
364
388
229
200
208
480
634
149
173
981
727
394
703
639
24
449
131
916
942
736
113
548
549
949
391
640
154
509
782
977
240
418
277
265
219
808
705
638
965
584
931
20
754
911
656
580
523
504
54
29
614
568
926
467
750
23
962
801
878
210
883
764
95
661
740
464
13
347
123
517
416
373
399
256
909
726
379
287
818
537
767
290
958
874
838
394
659
439
294
585
884
940
794
872
859
306
854
973
45
389
386
329
441
764
658
437
521
57
855
669
513
685
160
360
688
408
371
911
277
129
839
658
319
304
525
1
479
286
541
911
850
599
758
276
405
312
220
737
806
214
617
240
321
331
734
118
659
139
845
21
476
708
120
257
151
400
158
358
941
390
40
473
556
292
843
473
812
941
639
156
654
173
320
529
680
9
720
672
520
358
901
640
522
554
397
497
254
129
18
585
362
519
766
273
413
970
505
515
523
119
475
840
451
969
131
781
352
835
138
575
15
1000
687
493
12
345
363
125
725
825
342
871
924
437
960
694
78
640
12
85
988
523
282
922
546
757
26
413
852
943
571
8
895
92
748
944
855
614
957
291
499
300
234
622
159
932
495
432
545
707
427
872
985
392
966
65
625
270
660
33
552
790
903
50
521
331
938
880
118
984
363
168
712
845
792
823
142
435
227
423
11
509
364
404
840
940
455
815
9
181
309
911
28
966
140
906
759
706
384
438
5
685
443
415
611
705
801
172
155
837
784
720
792
174
478
819
831
139
380
3
312
815
750
654
420
371
986
858
820
708
526
529
793
691
354
553
611
847
615
627
952
193
999
377
658
466
476
555
120
893
504
844
183
778
509
290
633
393
768
235
582
934
749
888
854
485
529
793
178
223
317
470
685
494
673
922
814
139
554
489
168
89
536
547
119
138
910
539
947
493
467
705
287
295
598
312
892
639
840
836
198
167
42
44
614
500
573
76
492
397
275
223
606
229
566
314
69
171
107
789
231
876
130
561
205
857
997
295
812
94
626
427
565
626
500
740
262
338
107
807
401
934
625
374
706
263
833
71
888
428
805
717
649
534
269
44
941
454
979
379
365
881
783
416
378
861
765
19
278
599
264
459
82
904
222
822
97
424
727
328
664
909
421
627
8
380
408
485
673
110
971
846
161
551
681
338
183
621
697
59
895
470
184
42
374
188
823
219
630
733
303
56
710
290
668
979
943
111
946
479
395
440
290
168
497
641
563
709
750
371
600
711
911
329
719
920
536
755
469
868
303
256
10
267
917
399
599
768
689
206
227
887
888
750
957
69
188
522
884
604
668
916
395
919
447
671
375
33
981
499
193
901
432
872
188
794
509
845
854
547
706
718
716
29
93
94
152
935
535
716
86
210
59
426
700
401
727
450
227
839
146
769
258
986
387
171
238
469
921
112
949
57
577
850
411
85
587
831
563
187
451
164
992
813
36
545
434
161
678
483
944
405
908
719
995
784
561
979
607
263
985
490
326
1
734
979
441
452
963
850
515
541
233
431
596
84
507
753
579
413
727
546
576
728
532
74
434
178
926
357
822
713
774
162
342
426
919
698
391
619
521
2
526
510
144
500
844
736
663
594
337
389
839
398
743
215
273
349
410
90
224
37
293
246
270
366
774
48
605
567
75
273
992
506
363
110
815
360
911
69
148
362
166
392
444
864
62
665
90
427
581
124
8
158
468
628
877
872
78
456
693
37
834
147
701
999
428
209
651
486
87
620
925
252
905
596
916
850
358
984
512
784
511
618
164
831
557
630
193
654
431
652
239
313
792
186
408
473
302
553
733
319
815
937
592
982
414
247
29
834
862
515
970
162
134
956
715
976
940
831
478
173
698
683
149
253
670
874
99
274
187
232
513
478
708
310
186
614
517
557
738
840
870
273
306
50
126
405
218
617
88
297
575
197
432
110
238
588
268
341
627
409
497
197
189
260
118
117
170
536
488
881
87
830
30
221
174
1000
430
474
743
200
120
469
321
907
905
420
332
573
918
886
379
290
58
15
456
749
886
219
328
586
748
253
468
741
941
739
161
652
212
760
204
295
17
325
848
606
611
662
298
835
61
763
107
558
976
654
466
915
945
757
405
462
962
669
554
524
498
413
378
80
428
43
128
517
285
534
128
64
963
232
391
935
722
764
264
145
680
512
272
629
311
519
872
877
354
70
284
408
126
399
619
949
478
291
157
104
691
576
117
788
222
730
765
783
17
784
871
765
981
462
977
372
897
463
120
280
956
466
253
475
470
880
981
66
235
428
541
732
141
134
698
943
352
189
150
502
782
288
987
904
140
36
944
439
296
222
469
551
137
707
866
895
773
910
577
224
75
395
841
428
241
748
447
117
733
300
913
579
217
562
113
746
86
938
781
940
885
47
714
878
175
380
427
127
864
460
55
620
120
624
496
663
818
631
159
400
927
457
327
52
822
179
815
736
880
208
417
671
177
104
496
766
110
221
586
392
135
415
11
153
887
863
421
483
416
976
841
100
221
170
709
984
968
958
522
508
508
422
430
58
212
116
650
624
533
358
192
928
205
426
87
939
276
519
651
644
842
803
577
883
860
419
981
293
8
512
261
646
588
647
938
725
898
491
263
909
532
597
821
166
415
146
608
216
239
221
871
513
508
921
608
480
110
267
115
52
987
895
508
696
916
577
396
180
849
203
287
932
929
587
879
319
877
105
430
61
656
744
208
545
752
562
962
60
781
853
111
677
600
597
832
466
933
967
16
976
940
31
846
118
216
218
269
801
271
368
440
424
700
343
6
914
15
893
361
145
516
54
982
214
976
124
850
64
434
446
647
952
207
68
695
804
625
380
75
728
940
927
19
676
325
213
403
144
260
292
757
752
520
134
915
71
430
409
790
145
429
526
625
827
148
922
486
496
617
954
272
47
853
900
916
465
468
509
531
194
330
782
179
513
351
571
663
673
682
996
564
324
906
54
83
633
356
202
874
619
349
377
1000
488
690
864
287
851
58
765
239
587
76
723
401
936
476
988
131
507
530
628
88
625
796
23
581
762
226
413
434
573
315
205
274
118
907
675
758
445
306
223
305
869
857
608
443
481
922
86
925
472
619
944
988
290
958
198
529
945
118
465
24
221
951
70
718
658
105
977
85
298
176
292
158
874
698
41
279
477
234
670
711
72
835
63
202
265
204
395
125
383
222
30
719
198
479
200
666
202
669
591
729
269
974
926
495
362
916
969
690
80
125
667
518
381
285
764
167
150
994
261
716
681
395
900
975
950
286
709
815
638
667
995
303
537
793
685
693
233
371
356
334
518
191
464
439
86
260
168
664
283
603
162
819
785
918
965
963
335
930
589
854
15
384
247
906
777
864
311
460
910
153
906
892
764
758
844
529
78
844
445
789
332
991
493
427
504
10
676
247
467
69
653
101
166
347
162
974
980
191
241
47
463
53
685
443
694
143
662
687
615
848
113
492
985
58
629
355
928
313
808
271
285
176
855
640
28
182
579
278
260
153
721
459
939
661
561
108
292
986
104
838
916
134
952
762
787
397
605
596
157
265
328
612
71
161
650
807
662
583
358
309
448
728
301
113
856
500
352
127
677
13
986
294
920
60
749
477
679
383
346
645
379
677
709
867
324
949
696
993
487
851
944
697
337
297
663
853
387
140
466
421
320
521
893
686
366
607
553
482
33
807
26
653
678
631
38
350
562
169
982
299
59
469
337
387
665
519
14
276
567
30
616
407
314
661
774
936
525
666
281
67
990
48
704
182
907
463
508
92
999
856
543
639
748
795
184
144
514
166
65
571
844
197
471
358
914
512
376
188
100
506
727
471
387
13
17
752
755
108
763
768
316
703
110
153
201
569
93
610
304
166
450
500
418
417
175
48
975
377
891
67
128
995
621
554
243
191
622
483
24
604
218
734
693
371
932
124
704
615
99
143
530
474
732
24
636
720
582
551
129
512
34
381
968
70
323
127
938
963
871
927
534
125
638
476
965
996
251
125
208
625
289
847
850
801
850
133
172
767
257
425
475
472
508
489
586
190
113
686
582
824
747
719
92
513
66
127
966
909
783
255
493
36
372
989
199
290
210
541
212
849
253
441
921
497
279
687
631
649
911
98
63
470
467
189
193
582
742
376
588
475
930
311
957
134
623
404
287
805
611
792
319
170
405
811
74
983
701
916
689
834
765
977
138
725
479
233
131
483
201
498
716
750
591
300
885
578
917
369
306
255
801
950
459
181
842
477
549
56
604
208
867
676
321
413
799
847
23
129
866
92
200
684
745
633
366
463
865
379
532
180
773
99
971
976
965
823
553
655
424
726
381
464
299
717
256
126
729
399
592
922
795
34
160
337
963
294
818
258
696
46
713
746
589
53
124
663
472
217
956
325
282
556
268
623
418
875
239
231
782
279
140
947
268
795
466
833
97
392
845
315
952
52
443
195
627
323
48
554
802
386
322
684
807
776
975
772
356
882
356
743
895
10
961
859
207
798
977
145
131
310
852
663
556
288
882
402
850
846
959
253
411
797
661
374
478
244
239
30
41
735
807
793
498
728
442
786
935
437
857
628
602
807
649
502
893
708
599
959
946
288
830
908
311
422
163
63
504
55
108
824
677
956
893
236
34
959
445
976
200
219
182
838
572
351
812
926
235
849
77
340
970
486
299
7
35
411
288
91
785
481
129
314
769
97
500
328
252
178
999
543
712
48
635
249
676
507
323
160
291
89
401
871
44
277
222
15
470
654
920
651
319
994
524
911
459
805
574
898
23
616
89
725
349
724
493
114
667
97
191
544
2
354
266
96
750
456
962
196
400
707
676
722
97
689
520
706
160
150
546
471
982
64
626
659
34
812
668
550
11
259
755
577
852
662
363
402
535
161
646
448
435
148
618
985
725
23
91
416
400
435
877
396
859
940
862
983
749
143
736
587
324
900
321
190
144
397
288
863
945
444
486
510
964
461
194
432
412
613
52
882
838
185
527
630
363
521
297
303
288
373
200
710
887
163
379
97
625
535
258
37
560
892
621
473
971
754
684
583
252
3
586
26
431
784
307
589
715
784
78
503
896
444
743
334
682
184
996
341
787
794
212
435
399
205
941
708
157
70
230
77
650
352
441
729
318
944
687
589
761
729
300
515
520
740
218
713
873
384
439
442
838
329
984
155
193
426
341
435
846
514
822
842
657
218
641
761
843
757
759
683
512
817
692
970
532
10
946
817
941
251
189
257
687
497
374
787
684
43
900
704
747
195
256
45
611
387
341
261
401
265
96
289
523
16
244
886
402
240
514
670
307
776
355
194
293
581
207
778
993
160
156
944
115
648
899
924
12
896
124
340
256
272
149
392
176
340
724
270
885
820
607
665
22
393
286
243
101
665
840
475
239
800
493
944
610
272
320
215
172
707
215
535
495
347
92
284
982
170
146
360
17
85
507
541
343
680
527
315
762
90
972
59
213
790
740
96
407
668
305
91
690
67
819
387
693
427
86
427
359
96
116
212
136
53
840
615
91
659
913
687
562
38
67
395
430
633
539
510
942
255
606
503
926
351
890
321
495
273
223
662
71
543
804
118
275
626
193
866
147
247
852
768
972
843
836
409
479
832
184
345
219
152
674
561
772
89
492
358
375
108
994
369
46
49
641
877
762
389
333
213
697
569
16
588
899
615
882
849
465
7
399
238
406
676
634
993
332
837
995
348
824
200
430
974
865
589
243
922
411
739
421
504
94
948
231
972
295
479
642
25
311
432
714
363
164
855
720
312
688
362
241
663
26
294
244
35
472
267
556
729
364
10
111
294
821
915
107
941
365
979
925
332
398
692
371
581
13
649
964
861
86
452
521
131
598
540
679
615
588
2
349
748
523
645
959
187
527
137
504
18
23
29
137
235
499
228
531
75
648
348
151
828
969
699
360
897
844
286
519
187
210
827
883
535
43
356
172
61
765
77
248
300
588
976
755
515
1
992
538
27
993
417
988
678
971
897
252
239
529
819
193
574
285
202
576
530
793
412
159
379
925
490
32
52
698
69
380
58
269
981
282
861
846
443
958
340
744
565
424
689
960
540
730
936
87
255
10
360
901
15
176
821
6
201
484
460
16
258
872
994
421
540
637
559
278
867
479
726
996
818
519
999
251
636
305
233
998
374
492
418
713
778
95
214
367
755
658
265
639
424
163
703
300
81
68
747
524
198
901
562
185
716
602
312
585
738
184
708
456
531
108
278
854
146
585
391
801
419
502
725
785
744
480
487
53
746
718
582
227
860
274
699
170
259
195
878
816
801
84
730
203
217
4
561
353
919
138
763
259
32
767
669
719
752
742
927
883
98
562
121
352
556
305
196
231
679
843
36
602
981
923
932
828
88
108
619
485
910
38
376
255
794
450
82
380
875
501
482
384
209
426
361
65
568
145
122
268
275
127
41
915
393
601
526
586
783
322
574
46
868
521
297
461
19
22
347
364
327
483
643
344
160
500
266
172
796
552
222
868
988
920
359
138
255
106
712
977
447
268
661
45
738
772
721
770
347
531
257
782
14
672
706
237
824
526
846
289
813
933
888
969
739
703
518
852
942
83
501
272
346
375
287
533
661
811
924
96
503
430
78
870
340
689
870
308
707
850
860
379
108
804
826
445
322
15
551
716
660
967
64
934
373
963
621
1000
294
59
539
164
744
19
331
499
886
969
9
195
689
547
99
814
633
568
321
603
278
984
467
432
306
894
884
24
907
770
306
715
922
432
617
344
214
871
122
847
379
309
292
66
845
97
679
742
729
981
774
158
11
268
586
40
444
1
294
283
515
344
543
187
887
495
29
769
116
629
760
494
473
115
399
935
189
111
502
1000
565
528
79
763
447
650
812
646
245
834
695
804
620
810
873
905
884
8
763
660
513
118
645
851
34
99
79
141
274
391
805
73
697
347
254
229
815
84
705
376
988
315
936
695
162
283
918
439
551
6
797
176
577
11
798
110
796
55
232
660
343
266
747
673
35
198
248
299
849
870
206
617
990
787
890
898
436
86
363
842
993
208
181
56
12
858
743
636
938
290
973
894
348
309
452
40
990
254
510
975
416
530
853
725
409
835
604
959
460
79
80
343
180
935
265
836
949
387
610
566
962
216
715
720
193
297
658
927
851
355
35
201
649
673
119
814
196
591
187
160
244
727
481
525
952
901
603
702
75
839
258
368
47
856
791
62
579
196
361
73
937
741
451
97
694
792
537
324
706
866
305
399
859
875
125
604
204
388
2
642
62
426
805
761
415
704
436
182
516
195
129
831
733
889
767
511
488
827
780
99
370
320
119
490
323
605
410
108
232
354
596
639
852
949
736
222
291
206
248
17
197
923
546
422
716
770
570
128
102
691
238
818
448
801
518
205
94
367
972
515
3
887
737
222
250
755
25
130
811
417
846
384
34
335
387
178
586
318
219
887
653
219
990
537
599
826
930
18
569
59
989
945
632
730
500
183
374
851
605
243
677
897
753
699
533
469
252
238
971
57
428
306
367
489
10
572
538
80
42
412
60
109
415
754
677
822
341
58
243
487
934
972
118
163
776
177
555
495
792
605
540
898
663
116
930
826
844
330
755
439
90
368
878
98
970
286
263
751
933
215
535
729
412
105
81
167
948
466
804
170
37
93
95
723
476
16
219
251
167
296
142
253
213
657
771
81
928
95
895
915
8
620
822
976
103
473
298
354
187
641
301
692
227
627
675
636
186
258
555
586
155
329
381
695
363
548
916
154
45
453
501
222
176
550
237
588
8
347
757
991
422
577
650
750
872
302
300
96
381
934
481
149
893
732
840
536
314
486
189
429
172
642
653
911
190
385
439
474
653
282
99
292
819
609
49
672
534
957
687
242
452
148
109
274
371
786
157
708
230
20
421
591
13
37
961
696
87
345
402
529
644
278
673
212
740
875
685
726
887
4
794
7
41
865
968
233
36
173
549
483
343
555
753
415
639
853
597
712
546
90
567
581
182
486
563
164
992
468
883
903
398
343
788
997
223
611
446
58
83
46
207
600
617
966
880
73
136
83
556
965
652
82
929
65
679
930
176
817
86
104
953
400
594
766
154
190
213
5
972
1000
757
749
650
798
741
905
548
530
922
196
21
440
674
358
221
946
887
937
357
11
317
296
159
703
46
568
388
855
386
439
312
885
986
465
968
515
547
862
827
92
190
922
366
170
813
750
950
486
405
819
149
441
384
96
721
792
663
93
89
194
203
98
274
269
489
617
661
989
204
883
625
627
353
975
71
852
106
561
138
851
498
960
831
954
552
276
86
929
250
132
837
367
275
435
815
966
398
490
831
204
503
686
273
938
47
559
501
884
919
938
160
382
163
250
351
133
288
372
630
995
89
396
716
685
909
478
678
102
72
389
650
845
493
292
350
523
32
785
336
696
713
160
900
999
2
317
217
442
766
538
523
666
667
768
259
429
646
843
953
945
886
193
5
988
99
294
894
45
560
793
610
599
873
627
286
10
268
827
148
381
784
464
133
587
118
997
208
270
587
333
132
156
299
75
699
30
693
659
787
50
547
661
953
946
352
629
743
431
792
413
181
298
172
294
840
260
247
729
90
249
920
453
86
836
284
751
312
88
426
640
636
556
950
770
166
339
648
51
32
88
953
996
611
170
2
711
287
353
895
851
305
267
28
471
894
414
918
485
350
121
629
595
57
998
445
567
299
707
296
423
541
203
395
249
559
258
524
141
779
361
167
351
614
597
344
152
976
933
364
429
201
629
283
86
806
574
426
145
325
688
691
866
777
303
665
784
465
557
150
288
773
571
977
245
970
752
305
790
854
619
211
390
499
703
416
144
526
513
697
909
435
968
184
190
895
791
359
160
416
248
593
382
906
45
614
810
900
565
348
176
647
960
467
170
568
705
731
165
891
346
395
634
734
366
693
254
16
75
369
341
64
670
74
703
651
531
740
268
157
456
428
902
174
86
331
796
564
139
513
66
668
885
553
197
785
330
787
319
842
842
90
932
418
643
712
36
263
370
395
857
748
780
24
603
704
669
161
119
723
811
409
11
710
338
371
918
887
960
280
18
27
210
934
720
807
406
971
592
536
388
566
886
361
775
758
272
605
623
212
782
107
997
115
401
309
865
960
174
308
166
466
361
862
212
389
605
101
977
217
580
328
626
36
161
539
278
556
338
918
221
153
924
911
953
641
367
940
692
192
440
864
345
982
864
445
155
587
118
740
779
438
506
931
858
459
996
947
361
830
680
287
578
902
431
129
241
205
33
117
262
756
580
517
295
330
470
111
682
282
670
621
274
277
976
265
792
326
334
292
744
260
876
407
1
967
697
123
845
999
178
98
124
317
329
976
788
931
344
461
571
85
815
554
30
795
660
712
75
150
181
304
568
636
407
119
419
84
534
521
578
22
552
860
731
601
785
84
80
205
374
385
653
63
340
500
788
230
35
92
494
135
375
904
652
445
264
711
333
721
463
501
42
971
842
883
944
115
954
525
901
776
592
767
377
460
76
382
7
534
524
358
846
660
504
440
111
947
464
983
973
941
472
589
359
253
241
563
688
669
407
104
84
987
418
981
306
349
495
401
431
362
739
67
657
511
69
320
200
529
453
691
936
441
310
569
468
524
955
721
814
668
135
727
314
159
462
278
518
724
604
499
199
369
624
455
58
791
149
834
64
181
495
14
808
349
541
903
571
792
35
314
887
876
748
822
147
359
779
227
883
849
231
789
415
511
611
805
411
873
887
285
763
164
276
641
333
706
251
47
897
928
487
120
433
4
682
360
590
406
211
981
915
920
887
977
20
447
608
273
810
769
49
562
216
864
962
342
151
550
152
401
14
124
609
629
214
325
225
290
209
335
796
3
824
542
830
440
137
389
727
433
493
49
441
803
4
906
938
56
214
716
916
488
866
242
693
84
556
373
63
721
147
533
19
979
712
55
35
403
334
143
502
681
30
232
830
475
940
967
907
413
38
738
143
261
65
524
512
452
97
674
208
970
582
524
204
495
362
100
793
583
760
918
451
781
321
710
169
342
994
92
442
707
278
979
879
708
253
900
161
165
823
26
431
425
329
657
176
861
71
889
21
831
46
368
263
187
201
679
629
305
29
47
431
890
95
530
113
755
334
26
327
453
817
881
345
682
828
508
609
244
396
216
897
564
105
595
901
517
834
885
505
720
714
322
598
439
274
370
441
287
523
70
786
718
165
368
194
148
750
932
882
435
226
499
150
628
118
65
539
540
37
167
922
326
249
965
605
820
981
127
933
772
171
683
944
543
269
148
916
44
219
529
489
805
340
960
587
585
15
272
360
835
371
60
99
159
703
580
790
209
205
921
669
599
453
313
631
505
623
523
364
475
265
503
833
16
774
941
575
27
536
224
337
753
850
605
243
182
505
842
245
630
428
204
994
108
784
189
512
996
670
372
86
667
516
754
428
969
985
954
13
533
136
165
793
576
921
358
256
853
672
97
536
129
941
311
787
513
295
845
665
267
692
219
751
766
196
640
51
163
963
116
89
286
76
170
860
788
404
527
916
644
416
661
980
931
451
70
337
532
881
885
800
428
929
965
277
490
53
959
558
256
694
636
641
56
826
422
493
303
404
875
533
463
870
686
633
310
706
199
253
908
263
764
920
368
661
86
516
203
997
324
718
289
865
59
66
335
857
712
299
350
765
197
993
945
311
106
269
853
691
803
568
735
856
367
822
723
276
565
74
422
727
644
924
359
818
902
559
663
890
145
152
956
683
80
549
218
716
711
928
148
759
932
647
989
600
10
287
962
254
997
743
658
962
981
114
372
32
285
18
543
509
805
670
586
172
905
778
299
352
924
619
535
395
160
553
597
485
385
378
916
48
274
940
84
99
248
7
769
623
130
576
562
110
552
868
238
466
739
4
896
57
146
324
54
718
198
25
270
425
545
426
39
991
938
193
716
338
735
977
880
469
679
381
174
34
413
683
241
498
899
194
229
69
781
74
848
966
285
545
769
615
635
487
599
793
214
903
374
123
942
614
79
663
52
687
578
608
942
121
751
474
547
530
930
200
168
850
717
712
552
506
603
455
514
915
294
549
70
541
473
740
907
163
374
349
773
592
259
989
318
860
90
472
150
809
274
716
296
855
722
952
786
470
642
343
994
867
696
396
674
44
746
7
717
603
824
795
172
113
640
801
314
750
183
645
341
411
854
168
134
844
177
228
636
313
114
740
128
338
879
234
492
497
961
465
977
916
491
918
949
967
497
31
370
407
303
141
620
448
94
969
817
586
416
753
777
884
444
529
564
685
697
690
638
928
169
834
962
515
911
23
579
561
923
256
241
370
669
504
275
219
767
91
525
386
71
911
830
485
985
243
524
632
110
7
223
852
925
659
305
954
857
97
558
193
25
45
970
169
210
81
324
494
504
104
447
342
751
61
34
30
771
525
664
21
202
701
594
917
670
953
585
636
324
176
533
889
263
105
173
950
97
572
762
771
641
635
28
588
982
328
654
156
737
979
700
276
611
203
661
60
196
281
432
291
206
641
39
255
190
39
514
376
184
181
903
593
486
495
209
538
866
26
556
46
904
910
481
477
860
131
949
893
419
341
842
928
837
403
174
446
6
795
605
935
407
409
46
362
434
769
871
403
930
566
868
113
744
795
720
308
729
486
393
800
514
724
716
898
811
722
663
293
505
882
458
641
336
206
683
170
53
65
87
350
90
843
674
372
945
616
846
315
165
918
562
907
438
918
370
666
464
570
393
300
62
701
724
467
513
305
799
752
477
680
686
463
405
317
708
828
149
333
255
110
591
77
766
361
321
390
626
880
86
478
696
454
982
815
99
497
49
415
676
258
918
702
895
969
579
481
49
738
199
403
78
544
641
697
206
692
112
778
566
708
371
461
936
668
469
945
972
505
708
289
155
322
700
82
802
571
269
824
491
259
158
515
260
150
556
806
621
920
920
820
900
102
288
455
323
917
721
972
34
800
49
723
12
798
568
941
5
276
231
570
742
464
408
996
365
719
235
242
719
57
836
178
869
936
83
556
356
243
95
387
955
881
57
760
226
965
277
358
512
276
118
126
822
85
901
421
472
306
151
242
33
180
301
902
272
757
827
425
400
951
483
562
345
641
855
709
575
791
393
409
257
180
496
266
901
236
119
190
779
632
697
998
580
224
535
652
107
382
300
212
295
534
183
203
962
955
352
808
701
757
664
705
121
338
265
304
699
720
420
89
7
1000
5
556
646
720
898
359
493
12
665
909
173
893
994
604
616
329
20
828
66
194
609
704
690
331
83
201
46
152
551
574
616
329
685
343
607
572
156
461
254
488
635
456
921
483
106
394
124
411
353
204
188
687
927
701
520
853
320
860
22
340
185
342
613
18
166
169
975
326
478
530
272
296
942
918
533
944
922
746
427
420
43
69
823
133
305
445
814
924
198
520
947
97
211
7
403
702
778
414
554
245
150
253
135
608
458
910
744
130
422
636
378
132
337
590
206
117
179
649
612
226
134
742
340
361
76
54
218
481
695
72
964
798
496
103
528
880
717
795
901
950
215
566
856
643
276
10
723
516
110
447
590
802
701
806
136
333
712
92
454
726
65
862
742
433
355
998
638
407
985
127
576
585
410
547
25
221
31
71
326
403
564
787
75
420
342
785
255
194
895
437
334
652
583
388
41
544
768
318
289
753
597
739
222
774
817
23
321
236
649
343
29
375
728
855
298
865
26
461
685
960
135
891
731
300
160
833
972
121
273
89
447
868
844
84
451
52
788
494
391
331
890
803
336
443
150
39
235
96
477
533
977
492
145
246
427
838
555
393
469
760
19
782
906
629
501
537
499
903
393
557
618
356
962
711
910
435
366
522
318
926
854
410
985
521
628
757
368
505
889
906
674
737
835
150
172
226
16
476
391
549
84
94
470
637
597
799
170
687
311
67
680
689
587
657
176
462
883
699
743
239
287
39
439
616
113
128
860
594
48
798
246
772
8
505
944
677
516
793
892
217
331
177
909
38
633
542
897
294
502
731
658
204
720
234
788
412
61
914
144
16
795
230
542
42
466
344
266
178
737
917
690
489
569
230
644
387
158
592
883
453
609
176
936
717
142
85
776
745
575
300
367
437
249
326
193
695
871
950
503
299
432
177
52
334
6
640
401
793
287
636
844
390
612
753
38
498
478
480
581
371
101
518
205
544
95
105
913
234
895
814
499
464
728
99
393
450
791
872
290
145
284
610
886
694
77
274
936
260
952
177
293
177
538
692
350
57
515
567
460
91
692
298
105
243
492
507
713
102
627
948
254
346
452
693
892
563
742
167
463
416
242
23
167
664
815
878
74
411
976
841
728
493
193
723
570
787
12
998
763
654
701
630
326
202
744
505
463
733
537
144
283
955
57
65
655
195
794
396
316
651
964
270
233
995
481
293
308
982
986
517
112
271
277
924
743
331
150
956
984
680
215
78
475
437
530
314
948
323
722
767
877
274
669
797
815
844
567
313
642
107
99
714
970
649
450
232
683
157
920
287
179
452
66
467
470
353
379
815
296
966
135
1
272
623
17
564
232
875
547
687
819
811
593
621
869
381
113
871
252
160
181
47
898
561
383
94
242
440
253
102
356
467
654
671
441
251
639
873
199
649
695
400
874
256
765
427
520
830
607
113
635
367
325
779
404
359
567
364
489
338
74
840
690
99
513
465
392
533
109
457
665
255
708
680
344
871
962
110
481
481
813
942
944
299
842
75
409
344
256
323
848
141
498
726
42
33
180
504
209
817
521
860
55
738
247
999
380
650
676
241
854
330
655
643
630
390
453
612
170
211
866
910
382
461
60
514
760
434
863
489
650
92
153
29
242
861
921
304
819
260
375
61
327
15
847
655
41
596
504
55
431
203
778
18
353
432
94
289
627
755
225
560
320
712
521
122
5
636
657
270
709
112
686
561
405
111
112
123
489
690
56
826
770
637
199
901
313
61
89
493
716
158
399
592
398
426
498
337
886
956
1000
573
498
66
491
90
656
203
718
788
630
165
317
242
516
544
516
808
84
217
187
380
956
493
7
309
477
891
962
797
736
938
93
983
623
466
282
923
797
888
513
239
800
406
154
527
430
670
735
321
981
604
901
479
747
928
136
128
772
264
221
291
533
382
415
568
440
746
881
273
976
798
179
698
446
110
442
387
356
633
230
9
903
69
32
948
939
532
372
985
404
393
708
152
181
189
56
131
859
911
906
837
977
826
873
120
857
317
842
577
334
416
870
851
187
713
973
138
517
79
114
525
499
507
646
918
87
586
734
567
984
804
922
937
196
92
718
281
270
601
650
224
333
768
457
950
5
217
702
522
239
551
126
244
703
467
960
590
822
655
104
626
710
717
295
721
605
24
286
126
408
980
516
252
172
555
538
91
410
169
887
197
627
860
908
511
511
570
269
167
300
489
830
572
571
151
78
707
619
430
311
743
717
201
752
503
112
490
544
503
25
55
301
425
238
22
274
282
853
245
7
819
518
229
909
706
616
217
892
140
809
170
49
797
316
254
396
284
532
794
454
190
560
828
342
282
862
594
415
93
225
208
83
487
449
875
165
385
567
894
789
443
98
366
602
782
921
13
955
488
689
530
104
754
895
105
491
107
83
813
913
689
267
395
719
1000
712
1000
768
386
168
616
152
198
580
274
602
69
586
363
619
383
983
662
49
788
500
534
178
97
367
234
11
903
100
292
679
677
570
502
226
155
790
523
217
455
716
121
440
793
574
613
735
412
730
672
530
361
952
390
16
254
271
646
207
509
42
645
747
849
427
547
882
567
61
78
751
669
753
139
824
588
930
71
800
285
737
38
820
540
366
788
171
681
112
667
807
321
583
665
678
849
780
117
996
749
122
990
739
659
476
999
633
961
787
261
996
36
326
406
463
407
750
538
957
303
963
682
773
462
717
462
888
647
319
354
69
783
334
786
490
470
513
570
612
158
321
891
478
291
962
515
286
481
521
549
2
313
376
199
307
684
502
24
517
398
673
842
718
405
135
438
451
782
828
729
403
989
344
746
166
371
649
399
925
591
11
155
493
389
869
573
102
189
514
890
84
395
143
427
740
153
115
736
765
4
981
791
218
85
316
496
745
305
578
155
667
811
172
542
541
858
43
256
242
242
454
238
525
615
372
466
184
526
116
139
717
657
397
324
367
781
183
942
50
710
916
127
759
934
587
364
332
441
551
766
463
434
682
195
197
662
833
941
251
533
571
60
44
38
611
32
298
69
728
245
18
415
867
95
523
713
930
985
22
473
287
718
604
690
300
456
582
3
576
510
833
808
733
727
851
998
834
139
852
286
965
587
263
436
244
718
423
580
508
862
338
281
631
575
498
517
785
949
92
274
773
817
366
6
119
266
471
67
77
851
258
519
359
581
824
459
320
359
408
580
893
21
174
702
254
152
426
861
149
752
651
603
940
441
772
611
340
225
214
689
17
898
667
346
148
125
398
701
387
144
94
917
56
446
68
517
253
564
194
649
673
535
925
495
536
556
2
595
925
165
240
422
213
612
609
898
591
293
20
416
484
71
94
896
368
796
41
595
518
115
721
835
530
499
750
469
738
239
520
214
498
762
421
290
996
353
348
70
243
231
1
832
917
81
661
916
369
900
717
397
591
473
982
515
295
549
990
681
457
789
952
171
785
659
359
76
412
420
109
234
751
712
504
33
25
882
776
681
881
301
138
932
436
333
774
50
958
344
27
847
722
614
354
509
270
199
694
650
823
329
99
231
685
184
581
525
753
344
326
998
474
739
350
629
853
27
956
314
637
721
660
100
644
526
645
798
37
635
217
42
405
565
101
237
97
307
997
991
733
898
59
943
321
666
511
616
95
125
307
451
678
986
835
41
279
489
87
340
875
537
14
105
606
339
269
516
851
499
5
629
632
410
295
537
550
86
55
287
178
499
132
401
883
498
179
840
959
536
873
396
240
830
686
948
523
435
9
184
587
349
628
95
104
603
58
861
515
817
658
768
701
304
160
493
913
388
724
337
528
536
955
755
662
38
372
546
552
476
352
551
78
334
908
519
688
750
105
55
717
632
734
512
867
656
130
291
514
417
805
228
753
642
274
852
275
802
619
91
292
792
696
616
290
932
252
996
625
498
305
83
282
351
853
890
513
608
98
905
988
792
306
72
931
757
982
229
199
658
425
646
262
842
103
415
969
886
453
665
314
572
980
826
142
831
596
671
344
317
646
618
694
999
771
226
635
219
712
167
468
51
392
747
211
31
717
442
758
701
274
937
132
540
385
223
767
724
137
80
60
876
146
780
606
651
850
341
266
802
404
380
786
936
689
606
934
684
122
325
235
971
108
648
727
43
735
376
245
389
326
78
725
591
444
623
62
520
915
24
399
111
128
770
106
743
381
695
737
112
439
315
124
465
387
103
234
855
904
724
100
287
746
174
279
777
554
996
530
826
320
304
969
276
822
633
500
301
647
231
200
881
662
628
997
874
757
908
180
644
626
932
152
858
374
29
461
327
240
854
471
400
715
917
613
915
991
492
59
160
901
991
335
883
579
919
294
621
874
161
599
362
985
227
746
237
806
764
115
355
501
112
563
496
180
441
469
217
786
959
869
939
387
912
447
213
994
220
139
706
980
699
138
725
19
336
759
232
808
553
278
581
818
367
452
909
545
127
479
443
699
654
120
672
945
575
186
629
970
191
145
213
554
388
193
255
296
793
457
985
678
715
227
865
508
943
340
537
848
572
102
382
211
288
198
449
480
568
965
459
464
422
845
837
686
401
509
808
565
420
681
277
346
219
649
370
693
777
158
385
271
109
539
917
110
142
557
708
35
192
825
763
64
267
116
340
185
397
604
553
199
327
624
297
263
203
563
747
246
958
377
665
858
713
496
939
694
731
823
625
726
547
72
689
372
112
701
277
423
131
529
203
730
842
583
964
498
57
955
513
762
324
828
971
836
227
649
282
959
674
963
854
344
646
725
638
263
703
279
825
547
52
744
142
669
790
477
527
990
35
885
944
510
191
314
448
815
726
622
588
944
960
494
429
104
515
340
693
223
710
762
374
610
734
969
230
479
18
450
742
247
107
517
688
18
270
625
995
604
850
567
566
760
678
233
711
318
990
116
495
868
562
421
108
904
342
213
322
930
919
403
518
324
563
221
534
610
653
504
172
965
50
831
45
481
730
892
684
382
827
427
504
763
633
80
464
556
853
533
637
618
998
314
308
276
644
888
191
181
754
357
626
332
859
493
724
419
122
924
195
576
559
378
933
930
923
885
899
750
524
435
160
243
237
187
671
277
724
978
121
144
236
327
453
849
7
250
410
204
117
496
104
481
977
802
913
567
455
689
425
12
755
744
238
1000
340
123
621
120
833
955
121
249
670
148
163
878
216
231
790
170
213
68
832
311
384
111
975
740
230
92
177
932
498
984
197
461
416
877
379
243
741
118
508
49
870
39
979
469
702
802
661
78
229
780
720
26
450
688
613
468
730
876
794
331
594
167
174
379
857
585
924
454
292
497
9
16
513
493
289
18
777
156
27
530
307
313
374
161
44
270
454
906
483
113
165
120
987
586
998
808
916
238
58
117
207
169
772
252
667
932
762
288
299
550
955
914
818
103
194
710
256
898
78
871
977
83
419
356
856
667
588
643
833
607
795
938
542
179
809
565
961
360
42
616
419
74
185
459
46
575
931
376
730
461
74
946
450
45
126
890
96
877
734
432
596
478
40
785
392
464
933
264
495
694
260
657
917
522
518
659
522
650
976
744
815
717
774
995
260
234
537
136
707
470
615
363
193
496
187
647
958
916
486
446
953
544
25
574
851
398
863
691
211
76
828
833
270
342
808
158
955
388
238
432
900
647
668
759
22
978
799
455
136
626
781
738
891
960
545
666
548
661
700
136
636
387
795
94
218
118
953
529
86
808
290
927
624
583
438
793
640
143
236
992
994
317
175
303
840
132
568
206
912
873
866
3
129
221
291
887
865
138
247
623
585
166
239
763
67
96
73
784
39
888
729
351
428
253
473
743
362
329
597
612
88
34
786
446
570
549
701
283
411
509
933
855
626
679
82
45
501
145
760
702
869
357
638
755
353
363
44
100
600
259
986
479
269
433
143
316
136
134
757
923
911
315
737
269
395
841
132
839
144
691
728
397
206
579
681
856
95
275
769
923
772
619
61
126
180
622
448
721
886
645
579
149
802
559
871
632
939
479
499
130
279
899
493
882
456
564
346
748
655
773
280
767
884
195
282
550
465
967
184
328
424
307
282
983
58
52
92
837
512
995
784
52
862
935
15
134
72
15
854
685
102
209
609
14
441
793
457
932
708
496
219
435
371
365
545
489
323
205
341
749
966
185
799
746
505
950
308
270
680
333
700
576
852
979
532
767
252
548
467
663
167
750
816
104
889
506
253
730
607
404
917
752
931
516
553
863
438
440
551
620
2
441
305
270
286
994
385
882
869
341
894
128
317
495
748
56
322
127
212
932
817
592
236
365
514
314
608
832
855
206
897
884
470
747
190
889
244
908
675
377
796
834
463
476
956
86
894
217
267
795
187
933
200
946
725
771
324
307
953
442
818
955
884
837
253
499
169
889
607
901
855
132
496
309
89
640
621
327
130
462
729
224
64
651
72
125
225
264
913
604
400
113
867
194
667
599
862
120
513
101
903
301
343
62
28
813
194
475
446
395
214
598
379
688
984
284
126
668
740
1000
107
651
261
273
953
708
339
829
335
369
535
703
139
46
52
657
1000
692
558
280
565
461
17
764
545
893
757
573
89
900
20
59
20
82
785
473
454
688
649
547
740
284
205
673
251
136
526
991
197
372
904
706
342
19
957
851
92
380
407
557
671
929
668
431
543
841
235
403
66
273
51
699
526
203
566
672
346
978
228
349
410
924
618
242
629
680
744
898
561
16
951
124
920
42
262
96
227
452
338
56
275
99
389
279
267
91
631
726
948
905
46
445
46
141
203
604
133
2
951
518
801
424
439
527
216
265
158
912
23
590
664
457
615
186
875
782
496
953
374
321
976
935
986
593
365
9
234
299
249
911
79
301
317
679
321
879
922
321
109
705
880
360
958
542
223
126
696
775
15
287
715
285
89
333
351
776
322
691
501
412
49
473
331
798
187
779
473
548
949
419
552
412
583
400
350
484
463
535
679
544
124
845
530
412
139
534
619
495
119
254
625
65
219
458
969
339
989
206
880
589
279
583
394
851
55
754
640
993
316
756
898
859
831
653
988
338
557
741
961
170
869
769
28
865
648
438
4
73
806
902
601
981
709
286
439
692
594
435
20
676
995
795
227
944
171
795
363
224
295
22
27
331
597
162
545
279
772
561
570
333
185
998
71
387
920
79
926
994
841
768
79
899
100
956
385
321
292
329
222
167
853
556
437
939
412
599
892
893
852
875
662
368
550
501
282
772
349
945
842
129
272
252
617
185
651
206
118
405
386
151
243
684
92
999
806
547
771
829
377
869
398
786
192
716
235
391
61
437
641
127
821
683
938
319
663
440
755
96
649
383
103
717
812
584
806
307
173
220
649
381
981
57
610
885
486
243
896
277
362
61
239
957
837
869
939
270
869
156
199
537
501
209
543
834
620
534
196
2
908
496
889
238
612
769
361
224
524
819
548
975
90
862
294
202
721
865
932
911
578
462
611
96
178
298
548
643
758
141
902
408
679
605
455
396
499
96
299
347
733
517
140
541
386
645
964
176
478
620
821
529
349
171
302
203
609
11
702
389
320
520
997
688
925
507
375
671
91
481
627
343
813
245
519
834
117
296
212
123
171
882
903
976
898
783
63
6
697
981
947
536
108
989
885
795
295
707
265
732
837
305
85
40
253
513
185
563
96
455
366
433
23
255
687
207
33
34
3
750
590
167
136
781
343
696
771
92
558
2
103
879
997
909
65
877
210
463
665
303
340
701
56
58
209
882
700
395
462
783
710
659
230
473
262
762
891
874
35
274
224
200
66
335
495
789
301
891
977
249
459
92
848
430
263
299
28
16
316
887
936
264
533
910
864
950
467
206
480
87
343
378
354
178
21
755
543
654
457
85
949
479
263
692
818
706
727
864
308
921
143
277
160
568
362
22
31
35
254
547
57
286
142
665
726
508
524
362
429
1000
978
220
97
756
978
572
887
243
389
809
286
599
772
556
222
629
662
122
611
207
666
800
626
619
342
911
634
567
860
751
414
299
126
647
836
476
756
701
335
847
924
37
588
557
381
673
148
442
545
614
69
700
479
938
879
886
62
188
261
853
307
915
751
521
462
359
209
186
419
649
125
790
39
227
259
400
571
473
2
15
986
863
396
222
537
155
230
983
662
526
308
856
122
898
902
428
702
503
851
683
528
112
398
879
640
169
857
962
569
760
66
388
815
608
318
210
56
693
149
244
51
407
90
921
460
969
108
456
537
146
192
330
827
629
750
600
706
869
288
170
90
759
482
632
188
485
849
973
837
473
16
614
872
169
544
374
377
664
485
34
130
837
438
583
443
289
379
637
303
976
80
200
347
851
733
383
836
404
617
234
98
929
677
959
627
879
730
978
889
532
705
803
732
814
138
294
679
309
222
397
143
191
310
217
161
213
690
311
255
671
456
385
634
219
40
529
714
798
526
967
595
183
936
703
73
626
330
990
635
451
290
522
881
791
739
47
984
768
648
638
193
668
741
35
371
223
427
441
23
518
443
649
970
161
408
682
129
156
404
491
446
845
62
348
630
957
339
951
48
1000
856
141
7
918
565
138
517
499
120
992
917
642
953
247
426
661
428
344
74
684
817
354
815
763
228
590
652
343
108
803
930
400
130
82
620
998
59
118
100
507
728
426
569
515
355
665
970
270
161
823
554
875
583
563
258
469
908
209
540
241
616
752
313
282
792
46
597
147
376
114
5
292
546
11
778
354
91
377
482
23
471
942
886
502
892
495
977
307
934
243
699
634
686
674
376
839
485
527
823
551
444
645
547
949
434
405
94
39
971
935
522
198
728
388
551
752
35
476
458
759
709
362
288
64
860
723
756
458
822
335
707
584
864
997
733
855
249
186
337
801
415
376
999
322
587
142
865
198
425
660
948
339
997
438
823
934
995
617
378
379
141
283
822
58
197
827
801
797
933
148
402
939
828
950
227
134
905
615
29
59
562
342
829
479
45
593
107
760
47
642
117
393
388
782
970
340
622
208
29
328
198
636
412
110
953
178
184
219
712
83
931
119
295
675
241
356
883
780
17
56
441
467
904
885
946
488
921
308
405
938
559
942
193
120
931
566
469
837
89
768
294
378
542
102
744
65
921
475
957
25
237
706
236
539
474
727
421
947
868
709
839
294
728
647
878
706
913
382
993
804
468
931
451
51
693
908
302
36
255
467
121
493
542
333
619
718
819
65
922
625
972
72
313
368
458
666
878
349
487
225
719
752
464
496
26
855
58
31
266
889
502
953
399
114
214
618
816
541
941
963
620
708
455
918
855
830
358
57
203
266
70
254
96
851
10
909
408
483
861
946
587
185
86
183
46
57
374
481
150
166
278
591
202
761
914
67
382
726
621
188
56
752
160
696
839
321
778
520
106
114
650
772
418
20
179
770
254
147
737
376
724
825
63
426
744
66
181
688
731
462
254
435
212
361
894
694
627
150
884
162
833
150
682
484
351
646
224
86
734
575
910
245
236
65
687
31
948
337
711
537
299
759
741
579
342
884
100
282
924
556
509
947
163
153
2
682
405
366
128
602
688
59
177
488
44
793
126
526
207
886
857
546
176
475
140
972
963
372
714
412
820
723
760
301
494
236
767
294
872
426
326
674
472
23
962
881
429
697
699
507
68
911
938
700
926
613
498
625
416
671
198
814
660
143
568
797
728
639
242
356
146
127
91
958
838
776
889
755
74
758
805
212
220
837
941
837
160
983
574
573
175
928
842
567
388
924
179
765
229
132
541
82
175
650
866
760
224
687
95
300
810
797
928
253
950
934
922
327
577
484
626
35
594
727
313
157
552
841
208
299
961
300
940
520
703
972
491
107
62
463
493
829
311
233
357
692
43
403
956
976
869
564
174
822
879
188
158
188
428
955
15
973
117
417
602
563
304
586
456
74
709
161
510
944
680
273
860
746
889
647
35
339
896
657
958
81
659
633
245
14
337
465
233
88
640
671
688
202
612
237
293
585
24
437
219
630
330
17
629
289
573
878
493
945
16
435
733
252
659
928
574
483
390
398
404
247
126
402
14
570
852
976
61
732
963
948
398
605
661
823
247
419
92
645
279
796
763
777
180
316
195
806
376
275
943
47
409
834
91
568
44
108
693
368
739
675
934
589
270
944
971
458
859
25
187
188
513
503
370
383
2
717
333
111
662
859
260
903
663
559
570
107
489
952
26
975
23
184
83
120
880
264
432
66
861
929
667
210
293
254
604
64
51
136
922
510
485
472
133
700
63
761
234
758
381
687
637
884
277
70
906
258
751
375
45
55
193
252
787
10
910
826
454
858
581
237
760
908
158
98
518
64
186
448
441
289
193
816
71
256
1
87
530
203
752
525
71
683
14
666
162
925
221
257
644
169
870
722
501
711
460
183
989
985
615
594
1
96
47
114
179
128
273
524
671
101
688
371
749
70
253
621
324
44
555
560
382
108
166
1
766
773
319
700
278
474
78
640
544
994
415
879
996
802
197
430
445
636
219
418
844
237
941
880
849
221
317
848
821
989
707
901
494
187
574
451
454
709
123
19
525
627
297
152
208
271
206
66
295
753
461
729
216
942
966
10
880
78
998
257
197
669
960
595
326
507
659
736
699
331
242
773
884
912
836
689
736
612
772
357
354
890
624
791
102
169
820
397
394
558
492
710
612
229
331
704
669
180
881
722
641
831
540
730
874
701
515
905
667
72
191
336
824
434
824
683
783
446
464
84
940
62
9
204
292
629
807
178
751
742
119
868
891
568
659
819
213
780
853
72
269
800
898
516
45
261
832
690
36
357
368
209
869
995
484
794
884
157
643
985
522
253
526
642
744
654
314
503
980
767
830
24
489
460
725
785
524
152
983
319
820
565
803
510
513
457
567
814
559
679
656
427
178
174
979
59
694
793
731
809
243
340
549
228
598
830
661
337
933
361
598
239
547
283
208
152
198
998
39
919
808
954
73
790
153
974
947
162
648
478
262
988
981
117
971
36
740
70
338
951
503
172
382
427
461
310
96
819
480
787
14
249
595
283
597
985
33
240
581
787
353
821
34
532
252
740
883
67
562
728
622
29
87
795
826
696
667
161
444
431
56
930
928
489
910
586
742
736
374
273
959
384
856
762
384
238
825
195
297
208
885
559
539
19
854
581
73
699
433
172
460
389
151
577
22
46
976
688
497
236
943
308
937
660
904
805
821
495
963
850
663
592
73
121
131
404
391
310
761
41
384
783
354
750
785
497
824
458
619
231
45
600
275
631
787
617
764
365
497
559
153
204
688
824
583
485
885
791
18
289
492
11
414
458
974
685
315
221
72
698
691
893
742
387
809
50
748
158
513
357
689
241
965
94
709
519
623
809
355
856
174
62
783
104
606
371
742
300
659
680
46
375
631
259
60
329
822
557
912
302
114
403
403
947
953
426
974
554
772
654
297
268
266
817
508
831
488
774
638
821
206
112
993
341
817
671
428
743
414
945
331
272
613
315
712
271
866
104
956
128
422
263
813
138
915
126
357
544
681
308
544
52
19
439
395
773
826
641
645
198
127
745
46
294
626
692
562
607
960
26
167
452
363
537
341
3
826
375
532
874
618
629
916
228
794
408
744
99
59
107
426
280
266
600
662
723
911
777
514
562
569
290
168
909
573
294
760
654
236
164
618
217
288
447
428
409
334
974
433
278
563
63
297
975
759
602
117
887
610
68
846
752
264
694
35
119
422
765
992
448
371
898
455
488
225
373
921
569
498
764
1000
336
410
857
734
82
773
296
370
326
611
345
643
790
180
144
363
503
800
163
152
973
980
282
407
426
756
388
519
897
674
115
859
412
279
430
815
235
665
467
288
580
590
794
628
856
863
205
427
653
622
832
138
534
784
244
372
796
55
498
205
298
441
600
62
522
127
389
712
256
715
753
984
513
598
393
291
416
695
882
268
433
126
359
161
678
844
875
60
705
508
745
866
936
690
926
249
537
323
343
242
498
704
223
522
491
928
435
993
456
40
910
305
476
171
971
722
184
994
114
857
232
867
761
750
178
125
993
207
903
606
90
191
722
979
335
900
701
566
743
978
530
411
803
661
996
101
150
953
807
718
709
757
586
621
76
798
736
583
773
342
807
594
332
493
678
624
17
810
6
128
911
225
25
425
448
229
296
960
61
975
48
987
121
706
339
749
697
975
961
372
871
443
457
341
159
725
585
219
667
162
940
195
809
277
768
401
278
360
701
521
571
363
792
942
223
245
318
52
479
840
860
590
271
909
28
221
197
584
183
728
902
623
534
109
759
806
170
731
931
131
535
985
788
781
110
87
338
140
329
92
507
24
431
684
824
921
376
597
61
260
964
484
67
204
116
643
403
552
225
467
458
32
919
135
167
784
942
214
133
553
726
613
70
853
573
505
436
181
65
654
596
942
195
749
833
32
82
525
1000
83
667
28
229
827
924
460
193
295
635
560
420
847
145
438
9
532
9
570
745
344
153
269
576
381
895
186
737
935
250
323
12
287
289
753
603
523
387
12
540
146
420
399
611
143
651
952
586
427
247
426
237
3
74
120
846
128
223
82
800
541
745
893
299
453
652
624
982
119
456
838
512
277
963
615
397
231
540
90
586
427
22
701
858
729
927
926
344
461
612
754
511
939
144
365
385
986
99
282
216
44
634
50
187
584
488
371
858
410
697
907
184
458
215
624
961
117
446
547
959
919
953
176
316
101
666
174
458
633
541
509
962
751
183
356
998
872
878
654
132
3
382
267
182
159
925
516
560
150
149
340
966
825
771
989
640
193
482
585
296
993
817
400
451
232
45
372
225
411
943
255
288
451
540
353
202
719
357
545
541
877
574
774
232
398
147
469
65
937
729
927
925
627
873
402
149
31
513
255
500
997
398
411
303
117
950
424
681
186
653
30
865
605
838
810
429
541
271
987
911
773
318
535
632
723
652
188
121
422
793
359
717
984
290
786
793
213
936
650
191
879
298
865
906
518
876
81
490
110
652
263
49
15
971
186
226
354
644
684
806
695
318
483
638
888
72
148
881
65
208
205
608
711
869
987
777
980
536
390
237
274
406
572
842
219
750
250
325
5
194
336
619
23
920
893
763
2
695
108
422
875
349
813
251
861
401
477
667
994
839
199
352
855
345
117
688
233
587
500
476
435
604
635
42
467
245
196
567
927
687
980
377
4
374
924
336
882
363
802
309
643
214
772
991
63
544
296
133
750
933
837
491
744
225
194
243
96
912
966
315
42
255
516
609
19
237
749
463
309
941
820
164
11
104
275
107
504
973
569
863
218
345
365
747
524
179
958
402
763
634
576
135
744
239
381
788
938
189
892
234
247
126
566
673
785
854
844
538
104
25
258
218
166
152
660
95
88
882
514
508
435
760
881
616
585
247
319
218
708
702
66
28
488
249
532
765
745
777
381
538
152
926
912
221
410
906
16
654
741
687
626
322
308
758
103
75
339
606
265
45
886
831
250
808
712
347
512
202
406
727
952
355
684
75
127
641
253
673
938
742
982
804
936
841
276
371
657
497
80
211
92
183
287
779
710
86
294
59
262
221
720
744
948
28
185
204
395
504
732
984
767
986
669
780
616
906
651
200
319
916
979
592
764
183
840
753
432
248
371
615
182
561
533
155
861
245
456
499
883
108
506
562
945
258
976
42
949
409
553
202
763
427
306
354
411
196
252
227
11
505
311
334
77
903
306
256
148
956
468
215
704
79
620
969
944
136
187
428
134
690
916
129
494
30
597
991
654
663
47
953
601
524
579
631
173
610
505
234
430
953
398
809
938
458
523
743
896
711
937
238
483
480
342
493
45
44
380
705
693
84
399
339
691
785
650
59
815
17
779
16
436
369
146
608
803
768
242
845
650
621
867
969
901
632
853
655
755
138
674
319
999
517
73
177
80
838
944
179
973
854
555
932
863
380
278
435
820
661
663
526
505
568
383
726
498
223
13
809
869
737
350
573
869
267
679
621
490
873
502
754
523
335
172
620
493
150
253
852
517
707
865
124
370
979
992
28
455
562
127
492
974
320
50
622
855
128
890
577
96
683
768
197
422
503
432
712
471
335
317
727
851
822
180
18
271
861
339
900
497
600
351
886
562
123
782
618
188
224
998
274
140
728
389
359
73
637
31
950
730
596
596
912
812
188
157
123
298
82
334
618
367
216
650
58
86
156
354
397
793
134
810
129
717
623
513
758
545
214
817
211
173
140
862
48
877
206
793
682
520
98
239
345
56
844
150
436
652
96
728
22
713
998
504
56
907
355
605
253
187
876
685
813
670
793
970
168
553
760
603
361
717
265
892
588
50
171
528
199
975
383
219
329
967
255
535
112
626
671
75
262
477
279
539
337
723
100
817
506
239
151
469
431
343
155
907
254
783
394
135
448
576
911
24
870
904
154
980
784
232
661
102
350
245
652
182
160
90
852
447
549
44
876
694
699
803
424
46
44
670
740
34
616
576
680
121
34
439
130
374
440
684
72
270
853
781
546
207
879
806
61
208
16
631
998
185
33
245
347
26
239
749
764
985
69
622
520
247
349
223
341
140
790
595
889
914
639
5
705
986
464
365
122
688
694
483
160
105
741
66
41
362
439
760
382
18
520
989
237
403
675
504
804
390
792
493
98
901
546
442
279
215
890
584
40
809
787
808
316
723
552
928
808
583
778
139
349
593
865
183
205
885
802
975
744
39
635
369
906
642
105
271
662
864
355
557
220
182
14
412
541
460
296
51
308
516
881
597
483
696
397
170
477
631
214
677
539
907
669
646
749
438
138
43
338
928
766
792
204
335
476
174
991
143
69
685
449
200
185
676
44
571
222
338
812
401
900
715
460
545
323
566
444
299
298
951
236
835
388
559
108
665
417
455
227
291
17
131
332
301
499
660
422
466
803
887
856
850
341
446
62
240
678
259
216
739
802
700
946
77
524
923
530
459
415
1000
787
214
258
176
895
758
850
507
851
527
158
815
399
259
741
32
551
100
81
730
887
475
969
702
776
530
427
302
322
15
904
861
47
116
150
102
969
861
984
516
230
409
303
21
311
193
86
220
288
387
688
429
380
930
429
158
678
1000
448
150
918
191
114
730
321
693
123
190
122
846
526
575
435
236
315
328
731
805
225
871
877
444
123
983
672
43
268
944
376
950
597
879
185
704
760
91
39
676
775
390
595
748
537
889
834
61
779
229
676
397
712
125
523
186
904
71
476
339
363
137
512
51
478
129
86
97
139
715
422
767
229
767
961
58
926
903
992
199
327
635
433
39
396
930
145
927
273
402
967
861
130
340
234
284
827
200
816
260
750
992
249
241
141
384
800
997
468
237
522
995
127
941
459
213
794
145
209
216
18
371
840
57
156
588
162
457
254
869
146
697
796
736
314
834
99
270
36
25
861
122
188
327
743
608
382
875
747
993
187
32
47
268
851
113
474
952
272
768
648
701
73
37
388
396
655
252
879
900
8
546
803
262
697
595
360
335
73
377
945
431
715
536
325
626
18
358
482
532
636
11
896
925
881
780
13
247
970
362
781
572
183
628
633
846
908
72
636
460
624
258
578
472
860
859
62
853
359
625
273
501
528
157
65
625
607
94
73
718
991
418
735
999
776
243
990
504
952
306
449
909
377
22
345
916
872
888
19
701
282
13
540
366
971
592
332
829
930
693
672
63
811
355
622
537
583
27
694
845
884
321
860
573
381
10
842
543
538
789
839
401
793
774
66
469
224
952
966
822
603
577
852
138
696
151
690
424
731
888
806
850
400
373
457
682
788
125
83
693
630
797
136
891
900
553
731
685
85
172
460
545
384
29
193
70
17
461
302
505
133
146
550
517
49
989
284
936
873
341
799
128
31
575
716
353
888
624
951
324
982
79
458
726
570
701
126
829
337
88
268
465
249
709
315
290
325
782
15
177
564
733
176
167
569
452
463
149
993
325
320
208
53
603
112
113
240
701
140
553
793
147
629
815
540
507
56
595
566
466
528
915
672
215
102
549
895
69
153
30
706
18
870
176
882
608
443
640
736
805
836
237
291
291
985
684
665
866
518
417
218
604
775
609
963
96
623
573
810
724
971
562
570
301
370
548
499
665
438
788
598
930
793
181
989
182
609
728
938
967
151
616
221
292
236
769
858
444
830
709
255
36
101
432
897
691
167
749
438
189
892
586
956
176
92
6
673
17
718
323
426
50
745
797
756
682
550
308
222
260
568
489
803
346
497
561
823
862
417
481
502
203
529
909
541
678
974
562
273
827
521
792
609
488
107
453
489
480
400
325
527
162
190
288
702
394
861
447
868
3
948
601
517
964
34
238
868
524
819
907
530
196
664
789
823
859
534
1
406
933
514
242
9
157
678
224
653
400
292
938
337
362
453
918
705
490
147
685
80
299
414
222
506
272
154
19
588
262
5
764
744
347
340
868
150
304
143
564
589
697
883
367
869
131
223
746
556
567
624
173
850
995
146
82
98
661
546
477
18
598
66
857
635
697
72
815
743
625
231
949
746
856
384
349
257
451
4
365
196
860
468
969
317
879
647
669
576
848
345
529
934
583
394
802
904
728
301
61
675
859
923
535
890
343
531
882
469
783
90
464
595
686
667
980
370
817
964
402
390
106
956
822
45
175
165
314
430
646
556
445
425
283
866
468
287
285
839
361
625
289
193
434
518
45
834
309
445
587
41
448
112
342
706
634
791
142
698
752
20
944
132
9
287
241
412
313
174
23
752
278
967
448
130
795
419
906
46
977
844
866
867
552
533
536
972
534
135
998
428
715
877
163
680
183
575
766
407
988
559
243
537
288
515
535
646
303
543
904
247
744
793
453
398
718
611
98
360
41
954
436
81
388
875
51
972
413
305
80
614
517
958
933
653
660
654
73
114
173
355
971
253
801
684
206
184
780
199
867
46
915
689
602
56
95
949
645
271
692
818
192
398
897
578
982
638
230
25
775
164
986
512
572
671
316
780
977
637
332
54
477
1000
773
316
531
599
226
221
652
690
112
39
400
76
431
532
951
97
9
928
404
370
788
569
890
115
165
520
610
481
798
689
845
430
522
625
127
543
259
770
617
776
236
30
704
580
223
183
747
237
587
800
60
424
734
469
258
203
22
595
431
394
958
898
778
243
791
350
121
793
380
689
275
984
614
301
89
952
43
297
597
72
549
157
135
553
125
635
11
438
843
414
489
113
737
347
318
768
687
211
687
835
288
561
933
142
952
653
339
442
144
45
930
757
847
963
613
474
155
916
539
604
965
235
984
696
809
312
967
768
183
884
362
778
988
232
378
419
72
398
299
844
924
138
967
532
1000
970
353
292
96
50
302
267
950
818
117
635
243
104
636
727
300
41
67
681
208
740
73
385
441
268
162
356
991
321
374
626
858
571
258
187
257
202
585
563
785
710
656
978
987
392
598
376
373
575
888
918
102
789
12
796
784
777
136
152
753
466
89
151
370
625
625
566
560
460
697
246
167
235
954
279
935
620
584
353
62
581
907
47
575
263
343
547
659
652
880
81
726
620
827
677
761
780
247
2
460
318
459
50
426
415
926
206
544
953
83
579
102
314
560
905
592
920
331
56
441
892
534
406
831
103
785
402
743
294
98
81
328
625
110
508
751
792
711
94
158
241
342
546
689
365
737
617
669
710
472
249
340
712
276
708
824
747
218
652
175
801
380
971
672
114
139
457
82
436
659
302
408
504
288
570
980
289
182
394
607
882
931
477
3
186
346
758
289
405
580
63
561
656
227
380
266
787
206
743
339
440
816
683
190
327
55
598
901
759
630
701
152
686
277
589
47
442
950
816
117
132
371
737
827
370
641
315
903
784
413
339
282
569
816
873
321
18
568
758
806
406
503
946
326
69
169
261
150
632
681
756
963
1000
380
15
716
254
399
893
258
480
485
399
18
129
676
173
436
703
67
218
376
142
494
957
313
73
413
217
369
596
19
96
367
172
512
234
162
614
776
233
763
518
287
949
160
898
645
856
104
905
25
840
465
241
55
739
466
55
415
510
521
248
788
835
728
720
199
535
442
619
72
5
524
660
162
349
629
989
101
912
609
440
210
161
102
30
459
490
177
836
587
214
429
312
569
167
679
735
121
179
561
476
389
576
283
575
425
877
250
304
833
109
22
800
806
816
581
954
143
803
203
848
210
437
805
9
732
820
220
412
458
761
268
570
755
636
963
962
220
444
263
947
501
689
690
821
278
866
201
419
250
815
696
455
511
176
351
550
256
304
222
424
6
728
925
800
856
83
32
542
415
408
570
682
232
669
934
214
89
579
34
718
7
545
616
630
153
219
510
948
515
592
275
96
188
520
611
872
417
69
674
640
636
311
640
821
217
33
745
950
218
424
769
601
897
60
690
662
418
99
66
892
819
181
359
762
915
198
954
563
486
516
998
880
65
397
269
466
820
425
113
770
208
787
885
714
203
36
834
569
782
447
293
508
521
652
378
572
280
716
438
682
87
637
115
857
996
503
280
923
831
253
289
35
525
317
546
773
109
731
203
387
115
378
707
327
378
916
763
365
812
96
736
500
971
647
513
273
45
407
818
767
519
807
378
676
505
718
305
286
917
870
217
884
419
683
917
33
579
867
813
241
822
433
498
601
637
675
705
173
432
503
215
790
822
856
677
530
887
895
195
883
648
285
781
370
908
202
942
295
182
555
943
838
169
217
122
22
343
764
567
604
276
650
404
546
318
649
415
110
216
5
413
8
726
369
235
815
235
896
430
457
97
234
232
570
121
429
218
948
532
522
705
466
753
124
13
446
263
906
375
998
43
989
43
207
428
252
81
10
536
483
638
388
184
772
484
446
228
158
954
881
32
542
540
109
762
843
578
637
688
19
328
683
972
149
149
873
502
631
46
773
296
547
89
285
644
728
653
585
924
469
837
704
686
693
568
795
379
2
731
840
474
298
977
179
204
369
940
402
400
580
728
555
823
269
816
960
967
316
264
500
109
13
312
706
187
574
208
536
788
666
143
282
941
335
233
467
642
789
30
56
736
658
173
512
906
508
609
429
934
506
971
512
799
731
582
630
591
353
709
360
109
758
507
900
182
261
609
369
667
153
426
653
470
489
746
95
120
1000
689
688
331
62
753
478
118
496
203
389
357
354
971
620
590
849
777
712
886
562
632
573
384
137
816
412
586
783
38
836
72
593
991
392
318
902
449
611
900
687
229
747
806
756
794
717
936
42
154
595
246
216
311
106
291
213
357
454
833
526
289
479
580
997
304
824
718
970
151
669
129
850
636
83
555
98
201
328
773
404
776
440
999
398
563
382
828
243
336
673
206
557
978
679
952
600
66
602
981
418
519
570
735
905
665
943
87
330
764
947
358
904
889
810
369
588
18
647
414
573
898
974
384
78
408
32
364
835
136
385
820
306
588
624
284
247
424
490
801
456
357
310
316
403
880
387
471
166
527
545
786
215
793
547
164
361
380
497
678
336
523
808
106
916
909
490
142
388
840
826
983
763
565
584
707
780
174
18
596
283
354
169
988
481
570
601
333
541
230
482
366
218
946
862
248
96
869
549
553
162
89
914
772
765
120
719
227
833
763
910
424
258
119
954
614
332
721
24
276
604
382
416
798
209
928
789
158
203
278
975
122
236
664
661
461
233
860
273
927
378
774
511
645
291
833
309
187
848
606
208
10
79
340
68
255
994
184
696
234
272
674
597
459
245
338
149
703
459
630
282
531
548
123
836
277
660
353
522
4
306
417
647
729
649
908
408
293
846
480
435
864
488
74
999
807
564
89
37
779
573
526
926
674
176
119
674
94
838
741
649
913
935
174
434
37
304
733
621
401
847
317
742
221
837
889
791
308
122
933
274
145
516
79
476
714
551
381
84
675
468
405
214
100
933
19
919
700
482
949
191
27
79
128
756
973
2
469
637
92
755
563
776
710
544
496
49
568
813
846
70
506
610
807
262
504
877
541
167
228
328
829
776
639
818
181
523
961
78
531
641
439
126
629
97
855
92
545
713
67
785
218
834
967
617
363
736
808
394
50
506
427
411
449
353
452
74
208
611
81
816
162
736
418
870
219
502
191
532
372
66
228
879
179
988
649
469
391
802
349
520
87
931
194
660
878
514
328
565
230
475
645
447
945
787
592
992
605
840
677
340
183
539
114
700
690
656
36
449
397
192
251
733
132
684
333
76
734
580
409
568
75
383
727
839
661
729
468
247
451
22
611
516
272
294
37
845
495
181
469
364
472
991
719
547
932
963
413
973
70
70
822
657
953
851
504
369
52
937
529
609
976
421
229
85
143
216
627
856
66
178
270
43
797
388
871
946
348
101
429
603
708
586
380
471
218
902
577
377
963
146
61
920
752
836
691
706
485
850
250
827
810
358
36
64
643
430
986
455
707
978
428
68
597
805
312
964
241
179
188
697
292
187
908
924
17
206
798
213
674
319
521
510
644
400
247
409
977
159
981
983
507
266
540
514
659
300
805
755
352
572
940
388
388
796
193
509
655
265
120
167
426
397
1000
380
729
218
779
66
563
343
877
727
724
665
667
125
710
270
980
37
582
777
529
811
39
127
336
628
945
123
627
134
760
503
17
196
924
577
79
159
327
638
402
880
299
915
866
196
497
456
220
634
667
568
625
947
398
643
826
146
91
886
326
332
708
116
235
768
526
764
607
228
17
780
57
764
871
45
111
22
788
8
525
390
197
267
403
620
941
791
693
311
372
539
524
730
395
589
946
918
348
61
272
299
833
587
888
579
629
694
684
285
120
772
951
627
17
650
411
295
49
920
775
698
864
384
330
205
18
295
321
241
660
573
305
397
755
101
205
10
751
468
940
268
556
469
469
812
493
911
723
512
205
453
716
958
48
111
887
191
459
25
803
211
861
555
660
641
949
561
721
810
345
494
68
699
223
836
655
45
870
77
261
517
588
630
271
504
580
548
866
632
639
421
269
894
720
629
719
752
817
687
740
225
300
207
550
540
657
275
539
33
836
336
62
481
305
458
740
305
555
590
827
513
406
45
633
458
967
652
800
151
275
308
854
796
203
501
129
64
651
508
382
102
908
436
936
691
361
536
133
539
830
25
960
31
631
654
209
820
304
334
407
901
961
164
530
909
863
616
224
609
195
506
712
263
21
796
36
899
154
348
747
221
309
729
118
21
112
640
549
613
725
889
510
222
473
567
510
167
8
74
582
718
108
830
281
452
180
336
404
241
351
854
959
454
362
413
346
477
264
564
464
918
868
908
174
938
372
185
475
195
339
560
285
391
211
914
349
710
805
229
804
578
374
494
812
85
818
551
649
509
61
29
964
253
875
651
907
700
678
926
570
63
982
977
580
253
119
63
154
604
213
201
884
522
527
121
537
678
62
762
480
763
