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