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