0
1
mirror of https://git.sb/baoshuo/OI-codes.git synced 2024-12-25 19:12:02 +00:00
OI-codes/S2OJ/1686/data/count3.in

100002 lines
383 KiB (Stored with Git LFS)
Plaintext

100000
467
297
847
673
70
669
455
217
189
16
935
309
392
774
980
588
800
615
131
442
147
424
280
655
744
396
429
613
380
194
186
225
437
63
907
596
461
875
96
741
484
177
691
173
972
384
218
277
392
328
406
610
486
371
498
383
876
545
296
434
304
709
282
23
250
792
989
947
443
280
968
104
811
17
996
657
337
914
965
166
179
1012
882
309
119
415
847
316
112
853
703
91
433
63
849
91
113
669
588
615
49
450
177
929
453
418
271
499
855
387
341
140
582
439
708
875
759
182
735
689
520
514
585
409
830
82
581
456
94
469
152
837
961
921
656
535
792
25
376
345
483
669
50
166
977
26
472
343
264
487
136
321
164
381
663
708
9
794
940
282
744
866
325
313
227
252
544
134
225
196
537
854
782
371
829
374
188
209
909
699
465
387
200
552
24
377
458
934
167
12
499
24
638
123
200
121
517
827
304
104
171
833
972
965
637
626
124
348
530
563
745
731
898
594
967
5
387
60
732
839
347
582
686
504
705
338
28
441
40
786
230
807
614
669
317
266
922
959
73
736
605
597
604
263
261
566
1021
879
240
996
228
403
100
551
344
975
274
613
476
822
224
510
555
303
832
380
154
148
139
630
818
1023
210
341
700
575
150
459
229
969
26
318
486
706
395
260
76
1003
21
107
33
120
261
878
898
644
668
60
528
83
983
678
447
589
584
18
876
383
358
471
858
750
175
521
15
981
221
972
569
86
257
532
944
236
934
632
968
315
388
246
207
932
343
433
869
163
76
904
717
822
230
712
24
504
952
310
1002
1011
541
970
685
415
532
278
440
402
824
1003
970
154
592
830
56
71
943
509
198
763
15
982
608
183
358
498
75
43
350
20
191
361
877
455
48
964
115
248
232
991
801
542
642
185
449
74
383
933
1010
385
926
504
250
73
559
49
160
534
815
394
101
174
805
628
300
300
53
499
880
134
944
84
685
368
611
988
328
172
392
346
244
55
525
827
708
629
683
94
191
276
191
406
445
684
445
321
251
6
950
423
174
74
937
800
865
141
861
214
894
701
550
179
461
572
255
816
357
446
651
416
4
262
871
984
31
78
189
15
430
129
902
998
686
881
446
517
674
539
881
212
681
885
420
750
750
998
825
273
234
899
253
340
841
432
848
23
120
352
664
684
310
906
280
1009
942
924
452
102
366
903
656
568
159
612
303
299
852
216
245
939
390
417
512
353
454
943
65
382
674
321
542
385
466
331
45
458
463
833
256
843
307
293
765
843
49
577
399
124
974
516
289
269
91
453
416
966
1001
568
384
555
997
291
942
18
196
214
146
878
448
362
95
682
856
829
695
256
856
495
932
755
686
327
782
950
81
484
43
576
444
468
542
185
86
424
705
231
87
72
90
178
738
420
910
968
565
667
191
706
245
892
480
994
7
708
344
933
330
163
108
975
929
870
757
723
186
864
591
205
424
52
376
301
893
270
273
237
883
868
996
690
339
812
407
890
632
530
539
288
814
430
84
318
939
446
958
499
216
574
374
248
281
885
200
194
493
203
36
53
679
723
252
278
664
249
502
693
815
964
158
783
269
340
680
887
540
486
133
831
472
490
308
890
274
637
166
206
462
923
432
108
743
376
71
576
978
807
392
610
675
138
805
875
109
763
747
288
181
29
290
363
777
234
114
171
785
997
343
151
867
174
404
42
548
952
760
127
635
828
19
792
545
316
604
373
893
398
780
902
560
179
735
237
938
653
220
418
420
191
310
441
41
785
477
410
629
875
348
181
855
1001
42
662
487
588
322
133
444
94
814
1013
996
865
979
715
873
911
280
68
699
118
648
250
954
272
587
605
538
310
912
369
794
977
506
697
865
836
214
850
689
935
780
700
35
23
863
69
327
1021
352
986
264
474
141
643
10
38
502
163
810
209
202
1003
89
27
973
85
995
850
243
151
252
380
171
321
503
543
695
444
1022
305
1000
529
432
7
459
909
947
706
2
185
491
356
322
956
503
658
77
634
512
254
1020
892
493
586
579
371
748
304
747
779
266
342
553
847
582
445
756
5
244
758
132
892
393
968
937
220
272
674
403
433
664
982
882
23
278
611
171
177
590
411
265
69
526
412
621
486
602
910
989
651
751
102
356
501
603
154
867
904
480
5
53
109
833
91
885
709
218
755
33
182
351
325
126
159
342
330
781
863
624
250
517
881
691
169
263
744
553
290
558
811
271
380
540
849
294
192
150
125
1002
730
822
63
350
535
328
482
881
252
486
214
98
2
670
439
447
473
244
968
137
640
940
887
121
455
687
608
13
821
400
478
76
71
357
164
7
594
730
587
378
1010
904
818
153
940
124
355
416
133
300
16
138
139
359
188
33
363
450
416
507
208
906
493
953
506
975
317
317
824
827
901
525
830
709
447
790
35
85
767
628
356
117
791
910
434
29
223
161
910
622
650
244
152
936
199
938
658
378
252
274
1006
980
333
820
142
480
48
733
470
1014
316
380
382
703
258
230
321
283
843
177
329
309
135
1013
758
831
452
858
82
438
327
37
691
80
841
302
483
585
585
4
958
938
70
997
104
146
770
977
143
722
68
340
208
175
257
279
845
57
0
650
131
401
757
268
338
853
900
1007
703
499
364
504
146
311
611
330
734
768
649
746
648
441
312
275
767
264
57
594
108
590
524
74
567
578
922
317
453
787
904
131
650
11
820
832
696
555
980
706
684
733
248
889
800
791
462
344
596
42
643
686
451
98
258
105
432
330
254
740
225
319
671
297
893
658
861
859
395
777
552
138
247
374
957
907
428
134
112
545
783
461
775
145
447
481
248
112
578
775
945
592
360
349
538
656
400
719
210
235
765
108
802
124
471
917
860
526
647
33
827
588
482
54
991
737
218
852
916
305
213
640
150
249
107
468
846
575
656
874
686
299
182
295
745
402
670
217
780
169
657
898
397
440
49
100
342
745
436
752
561
678
37
4
398
932
899
638
644
1018
881
766
42
6
406
957
475
506
908
992
632
37
899
149
912
179
176
210
644
45
980
948
893
788
263
992
444
134
890
0
936
573
467
528
973
52
581
552
682
535
945
57
220
812
749
614
32
57
949
920
760
871
75
735
176
811
492
322
998
609
816
663
184
208
363
801
898
86
985
671
917
879
310
63
1014
838
625
843
1011
924
750
324
643
696
472
81
111
633
38
232
561
949
129
752
510
10
484
877
148
714
649
473
237
147
885
75
399
686
726
291
31
432
932
877
584
18
579
320
642
514
366
192
652
73
160
695
285
286
256
423
283
890
361
217
657
794
695
834
81
802
292
575
417
388
483
807
254
997
867
205
286
66
167
401
748
747
557
321
325
324
322
514
504
399
713
309
582
829
220
344
595
993
506
742
880
37
74
48
383
890
862
112
519
365
212
733
321
175
268
336
605
80
24
800
1
587
116
806
315
106
766
209
143
111
33
803
556
551
534
787
175
482
334
220
297
956
528
486
738
236
134
675
718
471
29
818
646
256
336
894
815
96
784
498
899
1006
1012
309
13
975
714
217
476
744
322
243
166
173
494
22
785
631
717
8
789
365
220
25
513
986
958
303
591
215
739
904
824
994
224
42
194
484
272
282
312
861
417
590
588
600
757
216
649
926
131
433
230
815
734
861
695
861
880
394
501
889
65
625
938
509
820
932
242
615
614
766
306
93
387
862
534
433
787
477
401
703
329
430
284
43
37
752
71
881
949
766
139
864
503
23
714
754
38
973
612
515
728
849
745
771
280
244
227
628
435
968
146
566
353
356
106
643
645
722
859
476
106
574
835
868
989
954
326
626
416
15
222
730
547
682
717
534
1005
660
574
103
126
961
585
38
433
957
584
290
573
960
432
275
134
96
894
9
18
727
620
82
505
287
521
762
377
906
911
8
848
386
40
535
46
350
1005
558
401
717
779
158
358
515
624
962
653
590
655
364
298
129
968
218
129
157
321
685
306
210
541
914
884
207
702
811
691
133
740
383
317
675
786
1007
703
466
704
989
780
111
623
115
153
129
1014
539
485
159
399
841
80
26
75
634
97
257
295
169
741
666
534
328
775
310
270
254
437
769
444
624
674
343
549
596
191
477
49
303
726
300
212
711
224
731
909
936
152
96
752
569
292
772
545
71
112
111
749
362
276
62
846
438
946
269
582
867
508
41
46
269
928
748
728
174
992
480
567
796
743
784
844
128
245
650
399
723
233
990
683
848
882
520
700
425
808
621
567
795
339
440
855
463
465
857
314
358
236
638
971
996
612
841
42
795
368
447
327
19
202
555
1017
225
58
741
738
976
587
887
659
333
924
794
709
395
809
531
272
225
558
130
537
720
780
546
295
256
360
567
330
514
556
441
244
934
940
719
558
324
388
910
835
626
840
242
489
700
867
921
634
567
703
19
289
296
197
12
243
433
985
575
505
603
209
499
578
810
528
854
1004
575
465
20
295
27
761
152
593
441
523
193
868
514
893
138
887
719
965
175
167
13
10
302
614
415
489
320
617
522
530
921
41
102
107
609
348
834
746
189
277
397
88
428
276
161
812
957
85
900
107
234
314
279
188
159
618
731
450
490
635
133
444
50
637
510
335
746
598
47
555
189
766
516
836
935
358
879
591
724
981
492
487
281
953
6
403
802
489
536
662
782
61
802
809
349
731
23
185
641
705
261
372
426
530
935
391
103
752
87
184
663
256
202
257
922
207
853
46
472
457
936
424
283
631
274
765
922
655
595
254
253
342
792
800
679
549
1016
496
662
793
804
981
538
390
826
880
534
595
653
870
513
1000
999
592
728
762
824
960
179
397
919
565
588
560
530
83
901
401
910
916
296
418
229
330
801
867
399
297
292
371
671
381
563
270
385
904
915
330
673
103
238
995
35
358
973
622
822
528
79
63
584
581
421
328
399
372
178
889
808
738
474
722
764
700
680
498
433
56
62
84
537
225
185
771
526
279
930
789
414
712
532
763
590
890
540
994
276
72
622
324
29
215
289
798
786
487
352
416
464
777
977
858
589
386
731
272
242
130
385
342
564
86
942
776
495
151
267
535
951
611
235
412
565
849
1006
223
766
405
1005
132
254
936
70
945
801
821
571
242
456
157
905
11
335
686
11
348
607
134
890
850
851
810
745
119
287
418
784
946
15
268
606
925
688
828
507
93
187
837
629
63
969
661
773
272
678
530
592
290
15
699
229
837
720
819
712
15
685
992
122
264
208
547
797
92
752
452
191
590
812
690
432
872
518
524
802
464
54
428
599
748
857
507
16
880
525
817
223
169
324
104
537
799
887
357
659
201
378
461
895
76
113
982
359
792
659
352
486
137
238
801
107
810
490
972
99
917
877
522
403
839
337
771
50
354
1003
280
200
571
590
547
366
791
1020
861
241
596
954
514
590
473
686
219
646
806
704
63
831
764
408
443
406
932
837
855
836
706
757
54
371
324
136
744
554
599
607
96
947
535
287
647
663
564
204
275
1003
441
457
479
26
238
267
721
623
824
488
513
807
650
629
11
363
765
349
973
575
426
714
325
711
502
809
582
948
976
942
558
908
882
472
16
390
500
620
33
713
581
60
191
14
205
995
953
269
327
977
302
329
813
524
1004
217
195
619
460
639
874
462
147
378
599
420
147
948
275
515
626
23
834
760
682
68
674
298
551
806
11
290
133
415
325
232
131
387
350
687
69
717
194
860
987
199
944
664
656
44
530
45
690
1023
394
90
826
439
249
94
513
826
401
264
919
588
332
292
6
1012
566
167
600
537
679
227
387
512
35
579
499
318
950
189
154
391
655
758
57
316
804
696
562
473
216
946
589
92
136
663
730
962
863
799
180
443
480
560
738
253
499
714
182
921
833
891
855
866
184
984
588
685
695
653
666
806
536
390
831
572
836
774
639
905
354
612
103
202
603
838
769
526
4
781
215
259
354
871
824
732
647
414
1005
855
584
21
440
209
792
429
477
25
685
903
174
293
707
959
512
908
321
912
675
387
394
88
32
606
305
909
967
316
888
181
675
40
778
272
931
934
303
335
38
949
676
380
177
182
724
295
695
975
309
426
576
855
499
993
894
777
640
80
106
852
377
12
859
699
613
576
349
673
244
791
98
810
241
936
786
999
945
463
755
46
745
565
435
987
458
689
0
245
261
613
272
580
241
878
643
608
250
749
477
482
788
337
711
592
313
769
599
1018
797
565
548
652
491
603
324
992
346
759
413
443
985
476
123
62
415
384
78
3
695
692
112
388
526
82
852
496
749
13
668
583
853
753
263
897
377
341
968
262
949
883
848
614
386
898
778
581
301
157
255
186
8
664
677
1007
870
788
392
108
489
56
897
299
858
205
990
717
925
868
350
703
747
508
22
957
612
643
1013
7
327
445
435
707
899
484
374
114
704
857
430
736
293
696
988
835
279
528
504
818
447
860
49
727
546
224
900
700
823
673
188
591
835
184
844
492
774
286
429
778
448
841
166
268
759
118
316
948
364
45
109
651
321
668
883
775
675
613
909
133
465
563
54
345
581
122
424
560
200
729
209
499
790
166
661
353
938
309
129
563
1007
599
951
500
95
13
938
144
725
630
115
36
704
50
618
37
804
513
669
809
109
403
866
893
71
579
159
120
579
64
646
135
969
103
158
341
364
228
270
841
554
346
784
814
616
918
369
811
867
664
541
652
944
147
328
800
294
670
1008
837
219
261
875
407
906
585
622
24
696
789
458
91
162
833
813
739
837
502
159
348
87
303
539
717
870
964
37
587
904
930
26
521
958
232
153
435
569
210
295
901
122
685
390
956
2
966
435
675
96
879
441
367
637
490
100
55
100
1017
593
169
960
414
813
181
106
200
738
153
417
465
917
930
22
536
722
919
920
971
835
622
880
858
897
679
185
975
848
972
792
693
662
606
505
223
960
337
719
251
926
11
584
295
660
940
720
207
623
915
563
881
575
820
385
828
677
256
281
202
284
116
766
419
429
912
477
1007
240
567
538
112
574
33
502
994
531
432
658
858
363
1018
491
711
1003
325
723
148
956
985
547
108
728
93
819
849
133
609
466
950
160
468
594
134
414
522
199
847
821
188
166
243
549
711
888
272
303
264
966
720
683
51
363
239
624
649
712
92
387
594
515
915
923
307
924
118
896
209
592
648
576
48
173
312
1000
819
304
903
875
216
435
326
366
950
544
116
989
52
416
910
533
938
235
233
816
246
825
618
558
885
550
757
329
764
181
615
17
337
922
778
295
53
725
271
213
108
105
986
198
396
842
751
260
234
483
676
522
423
924
778
333
836
838
444
63
285
216
224
36
69
723
403
611
222
61
964
980
259
310
772
128
897
919
605
835
13
673
404
270
568
729
729
684
467
620
75
216
847
539
829
100
838
314
436
1018
861
867
188
517
665
836
831
902
52
29
589
724
662
567
361
888
51
175
848
495
99
788
782
812
208
1019
995
177
418
437
454
623
275
409
667
216
386
698
116
129
453
70
487
210
503
942
454
370
52
716
490
632
490
765
156
861
713
643
847
920
457
527
460
839
182
74
661
514
779
964
271
537
734
523
8
472
455
315
846
595
852
636
925
1019
795
540
617
916
356
117
1002
732
591
719
1000
965
107
805
790
246
570
695
622
973
201
233
971
670
867
890
378
601
32
369
602
580
0
299
636
755
248
767
340
126
74
574
313
90
451
427
678
119
737
392
797
947
43
313
859
882
428
171
874
952
728
842
378
393
851
743
396
141
127
797
187
930
684
940
7
614
249
155
394
771
325
275
497
1015
985
56
468
110
270
393
106
889
591
479
479
351
604
36
387
520
588
844
89
716
161
364
589
898
674
29
664
771
234
918
827
588
239
575
135
7
220
637
133
315
991
255
175
153
997
497
125
457
769
522
435
632
985
688
752
207
360
494
442
381
744
654
395
334
799
119
211
739
310
685
286
515
736
208
783
279
1009
784
783
620
688
877
830
18
613
180
812
989
700
831
509
304
248
477
95
304
539
76
0
96
840
695
245
456
231
797
986
800
842
376
193
225
384
466
208
277
5
606
683
1016
603
80
79
737
962
115
962
789
556
532
374
219
595
934
950
250
195
976
501
851
303
345
1022
718
444
67
336
181
493
930
542
589
574
380
837
465
688
997
590
65
621
333
430
468
979
213
911
401
310
347
361
846
818
666
177
690
208
381
721
819
273
489
376
177
497
710
681
853
897
762
199
280
219
309
192
476
95
48
847
887
934
27
373
178
987
1021
535
617
250
966
335
963
129
561
658
737
570
398
960
196
71
508
442
207
767
57
328
959
14
264
158
571
780
458
322
357
196
908
756
112
1007
911
398
4
372
721
905
631
179
685
177
202
828
825
365
780
422
936
862
366
768
23
969
799
921
587
119
308
612
95
901
989
138
298
129
24
986
540
550
944
884
120
367
838
870
288
404
112
900
946
978
44
302
206
464
763
254
464
676
145
215
535
6
626
179
906
532
885
767
565
433
792
662
390
726
717
920
809
901
807
474
323
940
983
897
470
482
580
94
649
889
357
943
876
1012
215
640
321
21
797
215
397
490
755
150
586
21
725
177
126
402
373
329
197
269
858
625
599
1000
761
416
882
393
946
783
121
415
857
904
417
140
781
141
939
72
71
459
301
934
879
887
468
1014
460
573
751
996
222
120
392
545
710
113
318
623
496
946
619
269
357
784
972
615
1021
593
246
496
16
1003
915
963
369
407
12
773
39
591
124
6
747
56
393
497
540
320
790
23
907
35
813
423
879
117
465
181
462
577
186
510
518
911
333
177
840
327
338
1001
464
80
824
286
797
90
305
96
306
299
601
416
443
402
18
1018
593
660
280
217
452
853
983
729
309
332
298
122
646
911
808
351
168
83
289
608
981
207
231
741
154
28
841
832
799
840
872
541
756
45
359
941
153
596
525
491
100
411
158
386
34
43
738
550
742
638
265
345
214
107
897
531
284
869
632
243
422
160
317
25
288
846
917
677
143
576
543
135
922
904
635
912
107
330
542
537
749
15
770
501
555
675
922
557
162
248
126
579
652
447
406
563
7
260
570
897
545
521
278
668
25
503
48
90
240
915
829
512
397
929
877
613
746
672
372
270
940
197
741
70
751
42
460
311
1002
622
135
40
798
95
907
450
781
371
860
606
244
715
613
878
978
95
231
146
660
44
132
100
213
370
629
534
865
1007
107
921
384
891
735
255
204
167
602
924
795
368
233
614
586
730
505
1014
3
326
34
580
942
398
464
552
391
343
109
828
419
202
280
278
945
0
900
790
686
433
168
178
151
45
301
328
682
176
460
29
578
822
893
720
423
814
777
965
836
114
342
235
346
47
777
507
842
703
531
652
785
812
514
181
510
74
81
386
678
382
809
403
902
717
792
847
224
787
154
577
200
132
437
626
644
380
300
384
908
972
123
267
117
136
230
322
368
145
537
756
386
824
843
648
1014
990
563
304
1003
16
714
1022
647
993
3
516
182
461
88
845
291
960
389
473
875
765
607
103
195
606
115
928
488
625
996
988
690
471
247
737
566
62
984
832
203
445
443
897
1004
554
5
994
926
476
714
222
241
777
354
377
56
218
992
981
943
43
127
510
791
661
598
424
725
978
294
217
429
670
185
765
50
543
125
303
485
290
54
76
509
212
730
755
850
922
937
148
803
754
60
973
574
299
601
908
57
465
901
39
666
188
817
984
875
855
755
641
126
696
749
696
151
635
403
588
622
652
225
446
1004
883
645
32
364
351
757
789
486
1002
34
316
193
592
209
993
780
212
3
419
998
223
714
814
384
636
759
799
955
97
318
494
944
625
942
284
126
928
43
425
78
864
163
809
436
725
311
506
548
345
559
300
246
737
632
605
591
41
417
281
45
164
944
900
56
857
850
704
209
915
937
475
0
963
442
1004
441
618
397
116
739
615
613
618
284
534
924
263
947
457
958
651
959
971
297
617
355
29
821
306
654
922
166
603
689
264
945
1009
215
252
912
420
249
678
1002
777
44
820
688
131
1017
307
662
635
801
45
397
50
923
536
198
3
1000
903
814
590
1006
190
847
173
688
15
158
288
276
835
273
1008
440
273
514
465
920
539
3
830
456
431
926
991
544
288
843
675
140
475
604
185
222
722
960
85
513
42
485
1015
595
258
875
18
871
853
785
551
869
590
805
596
29
268
454
789
921
912
879
862
883
460
941
955
553
101
417
714
481
129
957
96
350
470
357
320
199
243
523
696
954
798
796
168
236
660
190
154
46
400
950
512
687
140
249
930
542
563
369
616
945
794
1005
188
841
903
744
596
742
218
877
185
312
434
419
1010
276
105
592
313
641
805
87
820
891
230
520
238
754
532
548
880
416
407
357
189
286
266
542
33
493
880
679
342
856
53
469
859
619
438
497
971
820
841
138
731
840
508
855
656
267
1021
82
324
402
699
507
248
35
582
355
153
810
1001
55
475
578
284
838
350
332
157
612
586
582
718
182
160
922
871
266
981
39
646
906
166
551
996
332
598
853
1010
233
231
163
435
808
334
675
958
221
685
875
984
139
417
620
864
650
231
987
364
774
669
574
725
713
206
200
923
453
632
768
181
865
852
944
999
462
471
800
974
616
336
699
125
346
120
151
596
487
246
944
853
230
147
850
743
164
679
740
800
544
214
58
958
939
297
475
43
438
633
457
638
624
343
352
545
572
71
584
129
560
492
851
425
428
594
117
280
587
638
222
623
345
83
284
279
429
167
538
323
985
106
216
146
786
89
880
431
341
266
390
461
875
689
98
976
172
554
486
695
341
281
829
788
1010
874
602
107
969
158
746
906
697
838
998
356
556
771
540
402
1016
982
370
1019
657
467
164
286
164
816
557
773
859
772
441
733
814
445
419
877
804
594
772
963
873
146
844
373
846
113
207
877
732
675
171
903
646
395
650
659
274
527
246
329
19
879
430
353
182
128
782
573
459
107
418
24
765
640
741
351
114
118
36
406
124
422
310
704
462
50
348
959
130
502
335
1019
906
976
713
851
218
554
644
189
800
151
521
382
97
244
1009
2
725
830
1021
450
577
627
170
751
318
194
261
191
904
271
459
314
328
584
651
669
493
484
234
735
959
67
831
697
818
549
520
167
682
1002
280
334
739
738
972
362
999
647
109
225
8
105
764
953
242
716
976
182
683
183
386
252
735
872
574
4
861
537
502
471
1008
167
389
395
792
161
419
781
943
170
410
249
170
339
175
895
512
630
171
953
12
668
466
82
82
418
460
507
19
327
174
15
262
235
176
815
975
901
621
268
23
880
327
600
209
608
203
582
877
546
593
9
767
180
568
533
549
289
371
453
135
284
32
579
749
706
226
886
512
793
990
959
426
348
184
736
433
793
337
136
899
180
318
269
842
336
283
993
452
178
936
365
527
214
338
372
603
33
74
197
372
628
725
187
857
326
332
876
372
658
811
154
699
489
606
215
36
705
244
421
828
711
900
129
889
633
532
614
774
280
246
120
234
731
478
560
909
618
816
753
701
672
778
73
482
599
308
869
553
580
220
140
719
176
638
281
561
869
125
34
798
524
105
307
803
603
459
1001
830
193
627
839
388
890
1013
779
542
597
341
761
407
802
297
1017
451
171
414
13
335
183
85
229
414
158
410
139
802
389
131
58
441
915
8
491
2
253
715
741
688
711
446
351
388
602
206
472
10
540
521
581
604
377
74
95
618
400
846
363
807
294
969
49
528
364
659
493
125
32
22
442
939
268
989
18
375
759
331
551
914
34
417
401
669
597
269
686
553
458
977
408
318
644
508
533
830
658
692
672
997
474
251
378
740
239
790
91
335
741
83
79
116
891
175
442
233
972
779
109
468
228
110
707
332
16
429
507
357
642
704
762
51
94
1004
747
420
1019
793
789
859
30
132
380
982
892
257
949
729
142
342
24
22
51
905
747
595
825
568
613
675
963
927
361
349
187
816
837
863
906
759
147
487
239
854
917
723
290
149
244
135
457
699
509
935
488
358
508
969
698
632
240
84
843
58
675
946
956
880
228
617
478
595
283
346
757
854
834
126
179
1010
798
687
8
321
50
696
741
63
935
652
643
952
517
799
298
704
59
800
991
771
141
502
1008
232
496
129
371
270
314
740
1018
56
868
48
395
483
935
126
347
570
774
303
525
868
355
495
200
314
352
475
568
329
803
742
952
896
942
132
25
94
780
122
491
83
1001
844
373
424
733
615
27
257
492
168
377
746
316
416
867
311
332
975
297
984
850
906
202
981
474
592
334
919
339
37
287
100
196
143
1012
310
191
550
307
348
86
724
142
264
195
281
607
162
352
541
90
478
107
825
927
151
755
645
782
255
619
794
711
804
490
707
509
758
697
725
644
220
886
659
424
923
98
443
723
279
179
33
882
836
859
787
85
312
122
463
854
241
8
618
553
133
692
812
979
249
314
36
892
892
337
755
723
170
524
923
826
127
63
236
238
35
12
174
360
918
395
43
211
54
837
252
730
749
350
261
443
870
900
292
753
916
320
520
836
248
911
48
235
664
914
434
805
645
424
707
825
798
474
141
23
755
978
188
177
970
1002
834
572
258
92
9
520
322
975
819
101
248
1012
18
432
423
656
226
81
775
478
778
952
165
810
108
643
411
1013
417
923
101
624
652
582
90
508
0
156
969
183
76
27
344
275
600
372
13
197
651
36
934
281
684
621
602
189
445
114
433
173
986
175
11
157
2
700
814
179
269
187
915
617
979
579
106
398
208
18
274
839
540
701
956
255
138
12
390
223
353
684
338
383
269
639
511
1007
65
102
666
991
425
657
752
938
976
762
286
509
280
747
74
421
543
269
96
608
292
751
401
121
304
938
353
33
18
673
952
275
129
328
375
363
534
350
650
487
216
867
217
847
238
87
383
688
442
517
965
933
626
575
877
754
1016
356
468
1021
975
360
258
50
654
137
0
1020
517
636
411
450
657
189
83
398
254
105
516
107
992
569
225
1006
835
847
886
529
205
376
197
90
420
498
138
389
159
937
795
967
320
67
830
926
516
929
226
545
711
117
63
826
359
560
408
392
99
1005
694
482
407
13
609
449
853
681
988
581
149
343
92
866
168
97
986
898
970
177
838
582
313
550
739
616
242
231
847
307
869
656
121
260
409
524
366
187
259
347
639
729
525
719
1007
354
129
918
173
75
535
854
697
63
709
381
629
27
326
409
290
513
148
215
665
101
582
101
93
283
49
799
666
869
109
672
166
675
376
450
226
924
819
655
532
49
138
462
818
331
476
788
998
320
422
802
958
164
222
730
412
310
918
141
905
259
864
240
46
500
672
64
593
125
68
856
346
389
690
308
430
666
165
614
206
232
650
786
173
424
636
534
1013
313
602
905
320
367
108
212
672
738
600
519
360
967
825
536
522
895
28
823
790
116
323
332
226
34
886
336
382
574
443
856
768
887
836
464
570
632
79
731
645
684
1021
874
834
635
185
187
218
969
346
937
637
194
284
596
793
256
437
102
2
328
606
31
897
526
452
24
480
860
104
323
427
11
677
524
624
104
386
501
468
442
979
956
716
413
36
746
257
672
1001
981
138
589
127
821
923
818
267
482
701
689
604
486
43
292
600
277
182
660
318
563
19
597
278
545
323
281
257
818
541
233
347
658
489
1021
19
406
526
645
473
19
846
289
752
693
685
479
484
507
381
969
676
267
758
426
382
110
727
400
884
161
45
993
557
251
448
829
188
246
1018
923
922
727
326
93
595
705
725
202
754
158
914
182
587
923
194
225
217
807
436
210
99
137
43
113
905
462
380
796
57
482
355
173
898
903
989
625
763
865
823
700
708
434
1015
248
6
310
94
286
736
427
620
274
134
1020
120
450
875
569
433
185
756
795
973
925
372
888
511
895
977
361
431
365
469
906
910
591
697
980
862
217
712
654
86
57
69
463
158
600
626
591
950
585
143
664
249
768
759
819
433
592
597
874
47
451
76
559
472
841
396
770
420
790
970
72
213
348
784
510
474
521
140
918
679
518
491
892
921
742
249
660
605
582
605
487
156
139
232
565
23
15
5
994
244
163
543
343
316
856
925
468
1003
183
636
404
972
248
279
382
623
988
45
528
834
115
207
60
658
480
833
949
284
711
814
839
151
482
134
267
316
887
27
896
439
1002
668
238
270
735
0
138
224
640
329
1021
989
348
430
43
595
653
553
979
280
150
149
237
661
419
518
178
841
151
977
600
74
144
175
233
237
784
556
355
815
866
1017
0
468
976
661
978
446
697
904
481
1006
986
415
527
114
601
182
138
980
969
709
77
796
331
261
733
817
853
515
174
952
607
796
652
139
178
720
452
997
643
335
204
236
67
508
340
896
402
160
901
3
286
768
817
649
95
731
1013
975
985
808
990
493
127
592
353
706
906
520
252
114
819
638
994
432
1015
11
613
648
768
780
56
805
388
454
903
429
797
82
612
572
592
704
966
604
115
657
485
735
581
686
813
60
883
103
20
19
821
810
884
610
125
600
927
24
449
244
402
912
784
980
756
616
585
257
216
397
768
774
194
860
538
333
931
974
966
409
901
31
106
806
548
232
517
949
187
579
833
645
314
425
919
117
543
931
388
360
925
880
95
23
58
988
84
64
582
390
941
573
372
257
67
286
462
857
279
65
544
849
124
159
95
466
203
715
407
65
197
623
745
395
439
694
640
1006
888
970
100
2
21
621
901
102
443
906
224
145
561
11
414
695
572
540
932
488
376
844
265
652
411
532
420
797
425
882
477
411
55
474
805
422
640
640
68
439
210
946
53
521
582
126
239
2
551
807
762
579
116
834
220
914
4
637
488
250
118
381
133
672
525
954
649
510
460
533
619
665
1021
1020
706
451
385
1023
579
680
573
504
79
892
913
919
49
587
415
260
1005
1006
747
808
446
42
43
958
907
1013
478
810
827
358
743
40
135
994
224
339
294
671
448
308
556
230
724
368
446
153
50
96
117
71
485
967
788
177
321
72
987
206
357
317
584
41
536
466
776
559
901
0
636
532
635
484
177
809
60
63
945
128
877
703
676
752
152
666
609
501
963
930
62
670
524
981
186
385
798
409
464
325
197
433
272
125
147
797
410
830
182
575
348
554
376
229
41
916
945
632
184
927
946
447
587
75
144
221
756
426
560
972
543
69
274
732
576
7
690
425
699
236
443
1
786
697
400
161
543
373
969
376
150
765
330
1009
842
604
227
999
6
936
47
133
253
918
470
913
436
327
522
761
119
369
221
789
442
671
837
21
271
745
324
3
671
292
727
337
869
531
597
270
401
543
329
7
650
180
811
300
703
415
387
268
753
649
189
838
1008
903
807
439
835
727
541
747
396
886
916
72
506
91
757
207
471
291
708
303
790
289
272
543
990
50
120
828
713
540
110
91
686
696
169
839
506
830
742
663
232
272
377
899
348
552
616
233
563
872
529
481
200
801
695
956
167
279
260
128
65
622
579
144
344
781
91
794
601
110
215
757
4
56
107
615
689
703
1013
925
817
259
513
401
380
730
867
85
678
800
743
577
24
634
130
145
148
590
217
789
567
566
145
800
919
1016
419
133
242
258
77
375
722
482
674
709
366
383
111
943
954
222
250
680
831
287
28
378
124
681
212
435
254
518
482
755
152
423
156
250
549
48
494
337
330
48
561
891
999
613
20
118
387
930
55
611
473
178
503
890
223
810
620
585
950
58
779
437
239
459
557
307
802
739
503
210
216
172
783
514
527
494
305
214
976
179
729
397
126
198
747
104
781
56
798
969
943
21
187
51
380
603
245
24
244
66
291
655
194
771
36
106
849
315
240
953
759
114
428
780
387
552
117
69
414
821
150
869
564
1016
753
381
409
869
572
939
543
202
775
792
769
145
895
283
729
466
706
8
59
625
773
308
923
861
95
1003
641
128
238
227
524
412
156
297
79
547
936
418
373
736
851
791
840
780
727
971
581
717
236
769
969
157
120
253
233
194
274
22
213
677
557
830
442
53
319
403
485
504
846
468
52
1004
741
896
549
237
893
181
766
573
706
415
636
103
952
73
902
114
409
825
378
171
637
444
205
209
679
605
522
961
189
888
34
401
655
182
171
306
601
1021
210
508
611
19
725
289
128
638
538
324
836
656
663
640
417
253
672
721
273
215
924
405
874
847
455
649
164
908
519
229
529
185
461
538
578
399
775
1011
42
331
109
524
929
18
163
746
776
61
391
936
885
938
532
972
845
195
289
862
333
452
182
431
890
364
776
792
391
448
4
134
969
175
987
830
398
439
849
128
475
872
20
340
526
371
548
241
27
626
611
495
497
855
493
69
133
763
607
376
412
619
190
774
654
849
593
999
859
706
780
785
828
624
1004
50
211
628
835
291
842
705
926
981
893
841
668
588
349
553
837
61
405
338
490
639
522
387
805
751
638
9
113
942
525
129
166
359
188
203
105
823
522
108
400
310
452
129
12
857
589
897
656
95
219
911
880
909
695
542
516
179
700
277
71
754
661
664
729
374
723
304
2
1003
107
764
198
920
5
500
76
767
488
293
997
713
406
180
611
1016
328
224
376
831
771
287
887
515
578
66
193
402
895
557
232
593
765
695
778
138
853
565
793
404
776
897
77
754
115
454
60
118
865
956
63
566
272
858
647
180
37
485
614
956
266
870
999
835
839
543
162
55
591
652
650
217
659
944
513
48
653
838
204
395
739
364
959
721
163
596
856
94
539
549
55
606
266
728
353
534
96
528
814
366
918
265
66
788
81
942
916
948
517
715
248
304
428
522
82
334
640
61
53
280
487
727
479
206
626
865
562
926
979
680
118
296
350
558
244
302
356
427
423
78
88
56
846
32
378
622
989
371
80
1015
725
807
924
1014
368
412
451
975
974
464
511
887
755
542
135
80
895
606
546
796
718
1020
187
501
728
409
975
851
278
578
341
372
624
462
198
883
525
450
131
809
1008
17
696
495
256
409
24
637
829
100
758
132
592
497
976
614
824
682
264
457
430
133
484
872
287
718
273
267
638
629
956
1023
693
631
822
294
2
886
173
448
206
153
518
541
134
869
985
42
813
880
822
381
588
742
904
823
388
599
106
162
984
425
718
442
906
565
1006
600
757
824
577
360
825
145
787
751
1013
243
384
555
186
488
892
482
131
658
781
79
750
557
119
952
305
231
796
184
816
311
746
170
23
488
303
838
676
119
994
1008
318
624
674
246
384
1013
200
819
483
908
261
368
480
956
694
252
117
315
528
868
431
236
556
28
778
582
351
487
300
950
667
298
67
412
794
50
897
456
671
847
529
574
978
473
208
108
711
811
26
277
784
284
153
892
791
898
63
934
1010
898
1023
96
958
900
738
525
454
424
668
520
187
721
747
636
415
743
496
861
806
630
330
640
248
960
917
530
1018
209
176
588
155
542
110
140
785
343
995
191
842
380
356
738
734
1002
156
116
167
274
638
345
804
445
596
387
226
35
839
92
965
190
44
957
528
822
856
565
699
49
202
187
229
221
703
454
171
728
947
582
308
417
826
928
590
532
849
179
889
388
753
853
442
891
913
624
55
850
237
961
384
524
579
524
553
818
697
970
618
828
479
520
454
42
432
713
369
613
490
65
586
229
357
708
599
640
672
824
368
112
941
59
400
653
702
196
530
989
2
5
374
850
706
52
733
6
300
963
462
771
1011
318
150
687
497
549
829
181
389
980
62
648
361
315
109
339
586
481
763
898
355
209
824
900
953
824
489
400
362
434
822
830
273
474
75
879
38
237
669
56
717
1010
479
290
599
156
969
788
818
453
532
548
372
424
778
729
167
752
530
144
522
697
309
1020
528
577
448
7
462
595
362
440
203
444
934
167
68
247
99
393
328
376
753
857
58
94
973
595
977
410
795
310
428
245
1014
824
142
1010
65
956
45
104
890
625
820
991
7
977
568
91
391
502
728
937
95
523
32
825
968
149
722
289
237
293
78
79
862
637
85
257
836
646
541
15
414
441
890
911
701
603
733
897
215
915
936
766
513
447
617
217
862
2
200
660
1018
557
93
997
414
651
594
255
685
525
450
811
410
229
69
564
998
757
224
310
961
527
615
156
895
21
443
347
478
403
182
945
628
636
430
82
582
163
439
272
686
215
468
11
139
246
522
225
666
634
804
134
70
469
979
348
496
195
699
166
598
884
200
863
789
1001
165
142
712
30
271
104
773
395
666
577
179
791
233
875
527
896
129
155
974
339
691
880
38
804
297
354
500
964
259
795
279
266
237
536
669
463
665
584
802
48
74
327
995
580
826
733
313
128
569
27
638
785
466
90
198
367
312
255
518
674
31
503
151
115
932
324
296
380
733
336
954
217
88
732
557
210
991
625
141
609
502
595
311
177
248
178
686
396
249
601
661
186
966
328
798
98
271
323
201
646
632
481
991
112
99
608
389
462
925
139
667
441
290
116
645
211
790
172
354
494
506
312
936
772
499
655
866
894
1013
64
878
256
1005
898
722
784
728
213
313
496
478
420
922
533
647
393
584
789
901
416
333
699
727
1002
720
521
777
914
982
468
376
760
886
939
864
454
29
793
596
621
331
491
424
452
886
475
980
260
807
1021
956
431
670
676
363
724
527
428
401
413
870
107
724
1008
658
444
702
533
1023
281
1000
394
119
174
786
935
116
834
639
978
300
739
638
952
757
515
931
739
48
700
241
452
1014
998
301
777
616
3
84
246
175
253
88
134
681
915
254
903
465
407
370
742
788
530
58
761
445
840
877
56
384
383
146
546
31
980
20
579
916
985
867
402
303
894
389
991
355
356
214
1000
918
157
557
819
632
172
869
557
128
954
122
13
661
565
963
711
734
465
310
518
932
883
752
369
750
681
822
267
431
59
248
745
237
109
666
656
254
429
729
847
15
834
546
866
731
817
806
676
903
579
517
745
311
0
377
571
770
328
624
579
333
266
905
546
435
313
844
363
19
28
425
701
671
610
998
658
225
59
880
376
72
528
221
188
1000
409
99
392
777
988
1020
668
504
385
180
543
351
437
541
460
856
192
458
765
598
63
559
636
990
246
202
179
525
160
890
807
1009
68
244
755
237
489
159
18
562
1022
876
304
984
357
698
981
403
816
506
1014
960
97
938
474
909
974
690
465
493
816
96
780
187
523
610
938
875
840
881
762
874
217
573
935
823
702
779
124
451
204
639
2
898
204
493
128
299
514
970
827
765
981
198
732
388
156
923
968
714
958
206
599
387
190
598
926
845
1011
58
30
817
402
776
168
258
753
527
592
760
175
172
287
900
690
390
910
649
519
250
898
602
520
448
213
656
937
915
769
943
189
362
261
646
684
417
845
380
549
359
646
474
760
375
74
768
81
679
455
419
665
486
396
528
262
713
109
93
708
933
941
448
541
247
773
284
882
1015
934
836
856
336
644
216
616
942
217
845
96
900
891
113
562
586
418
123
447
143
531
1018
179
364
62
341
923
946
26
908
267
826
600
622
184
132
80
21
976
33
1008
441
679
886
203
701
194
622
767
294
578
721
432
840
464
966
601
101
315
251
201
591
428
54
450
337
151
636
639
214
802
437
165
199
106
64
543
336
791
314
719
736
390
677
6
933
155
608
390
444
106
19
907
743
7
609
65
202
801
412
748
962
504
461
900
222
667
965
606
915
238
654
621
808
683
63
708
902
748
117
455
554
779
733
878
985
787
742
598
558
455
136
842
960
436
858
56
659
818
399
715
960
335
529
947
479
641
538
488
70
134
904
161
175
274
779
126
545
234
9
698
889
48
301
177
116
972
699
170
288
577
46
17
289
847
514
656
74
914
158
138
649
307
996
962
977
273
878
222
844
508
612
624
513
27
488
240
368
409
547
574
353
216
357
487
107
110
909
404
280
896
3
345
511
224
605
101
934
595
847
190
256
682
344
306
854
365
1019
40
517
500
569
535
634
862
997
611
137
137
11
612
310
686
734
226
695
979
527
224
742
886
13
153
925
152
54
438
720
589
270
48
836
210
400
779
849
834
648
341
407
297
315
75
899
275
651
672
858
642
557
716
806
1021
682
218
424
226
880
58
1006
394
924
223
305
134
178
673
444
832
723
14
510
87
471
362
149
227
997
187
835
774
576
265
647
915
937
132
767
175
374
339
202
804
150
55
312
740
888
883
755
355
509
619
197
252
432
619
173
639
810
386
26
663
43
817
346
333
90
590
27
798
883
662
513
963
40
543
19
704
715
711
79
378
845
168
167
86
213
951
370
557
42
1006
1016
774
315
447
260
216
256
30
553
776
40
126
145
943
765
714
643
789
110
571
313
512
1022
497
734
560
588
210
545
668
701
932
105
431
213
333
416
388
153
44
445
807
19
618
836
289
224
167
547
505
643
427
857
977
6
686
1005
5
229
290
547
336
719
150
991
145
557
568
962
663
634
620
854
135
31
487
595
130
561
981
351
695
916
13
530
1022
991
514
869
114
499
393
104
320
137
42
698
261
23
239
384
286
95
413
382
656
504
781
40
874
593
828
30
810
761
829
100
211
881
288
616
201
622
177
518
206
365
670
925
48
285
526
653
268
227
522
298
83
616
709
345
972
314
362
422
453
579
563
568
903
510
409
282
462
430
391
217
926
932
587
715
789
162
549
17
96
943
632
660
378
662
4
802
205
902
942
950
472
213
806
215
167
498
10
683
215
382
221
752
296
422
306
762
577
628
416
975
1019
211
954
366
139
342
766
991
1002
888
780
243
280
139
920
378
420
330
826
868
656
903
375
137
462
750
752
616
978
854
572
913
31
648
354
955
94
980
854
637
23
854
113
793
403
555
442
452
219
829
495
255
456
204
519
121
785
944
873
995
964
872
561
481
159
888
459
280
275
453
956
132
655
197
701
521
629
426
757
209
352
713
889
906
240
865
0
484
21
616
148
368
11
541
498
358
956
169
232
875
136
298
919
882
186
509
559
851
909
146
330
90
255
211
256
71
472
473
351
6
110
158
996
679
341
417
120
636
76
184
58
912
197
929
837
973
726
66
920
386
948
571
618
1022
251
335
80
301
539
709
622
341
268
579
659
104
812
951
828
434
128
818
484
147
348
867
358
503
338
528
130
772
103
726
680
50
906
874
882
165
442
789
159
117
592
869
633
536
337
625
575
382
433
949
713
874
429
921
806
395
516
769
1016
87
535
977
841
729
371
203
738
699
278
939
828
591
478
473
538
335
571
8
751
967
484
712
96
397
37
505
564
503
937
205
695
997
525
168
561
492
816
628
963
882
889
335
304
902
865
152
639
694
11
747
188
103
557
883
453
959
45
430
529
935
501
655
685
493
705
320
654
462
169
705
584
300
32
1011
510
388
62
77
456
489
201
220
814
501
124
1
1012
47
766
311
133
148
763
967
645
953
124
897
485
477
577
280
384
617
273
331
696
843
870
435
95
957
381
543
864
402
708
1005
323
28
516
106
568
488
576
982
912
728
121
433
116
811
494
280
146
4
544
976
681
803
388
739
530
778
38
433
977
333
172
506
992
49
385
899
105
431
135
491
420
133
957
61
15
793
917
799
170
203
506
79
631
140
196
725
739
549
984
192
872
634
870
537
241
1023
863
586
477
120
955
621
654
785
21
889
773
190
81
770
117
291
1013
968
114
269
417
507
866
340
866
79
246
795
761
1007
684
947
33
677
555
748
349
976
816
285
745
685
428
226
715
335
461
852
721
196
843
228
553
591
850
953
268
641
555
218
806
817
753
656
316
150
982
819
355
309
77
210
996
526
688
266
580
433
48
202
376
557
274
835
894
177
39
74
460
769
749
699
530
82
690
92
887
665
594
545
514
535
15
836
928
320
47
535
239
127
563
84
527
601
44
574
838
436
946
368
167
644
145
802
356
365
988
1000
546
7
423
613
182
522
28
91
12
884
280
829
662
888
808
800
491
176
810
605
348
168
692
22
588
505
2
778
216
623
217
335
884
416
83
714
555
534
559
136
437
574
801
1018
97
892
43
262
837
861
286
890
467
47
698
283
205
662
504
157
445
754
810
404
707
312
759
720
443
500
699
220
554
637
88
613
632
668
356
438
499
80
151
645
229
408
171
857
314
537
552
714
882
378
286
699
528
181
860
889
80
696
803
670
344
356
847
402
797
280
137
782
90
545
598
356
854
909
765
665
457
438
744
591
864
660
735
798
447
625
944
207
596
317
527
246
623
89
799
256
749
598
734
439
674
477
720
612
920
536
720
1008
207
439
152
181
136
906
727
547
680
973
407
847
142
780
440
716
737
903
254
341
127
926
920
1022
432
441
951
962
835
530
772
893
422
449
636
295
70
751
217
889
958
393
105
816
535
756
40
697
43
388
182
263
958
0
303
299
515
874
318
392
1
50
668
646
558
251
573
323
117
142
67
747
703
238
778
885
81
33
167
225
411
23
611
89
616
329
706
1011
451
344
8
210
211
906
654
50
395
319
735
845
301
581
806
957
275
496
776
543
820
182
529
583
302
783
766
355
75
59
125
400
597
181
773
652
597
642
702
301
403
363
172
746
955
885
215
143
308
56
633
352
461
676
318
217
801
255
401
805
738
331
247
649
265
60
640
633
966
300
863
702
967
239
514
680
816
330
226
687
886
814
269
93
661
229
99
149
578
549
879
930
490
305
936
363
728
678
325
66
1013
420
567
131
383
737
653
188
822
536
100
510
494
683
841
774
773
381
94
536
756
546
872
38
106
147
199
293
389
841
81
419
497
356
517
486
256
260
2
770
879
266
593
507
231
71
39
699
196
266
793
710
753
426
771
1015
299
213
277
304
640
542
201
913
181
926
833
705
76
596
448
597
822
478
463
142
863
871
219
416
777
676
614
907
946
740
523
424
259
594
386
771
935
631
333
816
390
211
704
632
570
473
620
6
806
16
830
127
356
849
588
711
489
604
761
1007
1010
502
189
950
465
812
978
683
634
699
886
57
764
826
94
214
936
844
578
51
699
426
348
384
397
272
693
936
779
602
435
779
963
550
939
242
746
57
298
601
915
947
631
413
361
745
743
692
566
56
64
106
771
565
566
893
65
381
961
62
1007
732
737
816
272
607
129
281
631
85
401
893
83
663
698
589
347
953
502
588
525
337
608
270
871
71
709
552
729
246
840
229
525
369
898
592
717
621
607
829
411
751
793
165
169
934
220
90
726
25
984
456
199
757
995
953
127
267
989
274
958
341
547
806
59
12
746
734
881
371
475
817
108
410
121
913
68
336
888
687
233
607
57
694
160
959
141
802
965
187
429
66
323
791
19
937
888
340
937
126
381
12
165
866
100
397
421
686
877
85
599
477
50
542
537
789
49
937
264
890
790
251
194
178
253
270
414
190
522
999
817
536
729
912
607
992
608
1001
468
1011
186
915
672
153
206
912
546
820
1005
969
713
456
142
787
54
3
283
42
287
268
249
586
860
729
170
613
538
764
609
725
175
842
76
588
69
159
10
583
114
465
683
254
457
647
738
652
508
1023
554
414
847
409
744
777
361
400
924
240
359
446
269
140
685
321
486
182
316
447
764
325
125
34
44
18
715
507
957
103
492
502
777
621
150
658
565
481
297
1009
499
28
914
62
73
572
478
286
848
407
247
19
304
692
92
539
899
337
60
37
153
335
250
423
1014
757
385
947
829
829
281
805
667
753
684
383
133
377
1011
623
321
773
570
303
124
197
739
153
890
523
568
822
457
145
730
237
881
490
186
855
228
302
209
728
931
233
1011
862
48
641
941
478
976
342
1014
717
953
224
78
508
663
445
629
327
324
2
935
825
587
610
187
827
465
631
871
706
988
152
330
483
391
802
66
684
506
193
61
667
167
303
432
867
858
364
991
690
51
981
287
722
30
920
258
658
961
140
37
893
203
374
643
316
741
945
993
32
319
444
400
278
233
767
705
501
267
1015
757
651
646
655
542
952
977
825
284
672
209
361
288
781
119
844
346
1017
692
216
988
616
913
851
131
230
982
216
322
337
241
6
299
28
357
922
123
736
366
828
12
794
715
181
375
566
76
869
982
991
959
370
944
868
133
144
58
604
87
835
441
175
964
151
776
487
845
478
711
13
228
936
696
770
447
598
879
228
38
67
458
124
707
529
713
31
714
878
749
891
936
583
858
79
720
845
849
283
750
33
1007
5
21
62
727
190
393
170
27
410
910
125
526
847
372
267
247
447
329
633
158
779
806
152
446
1010
92
732
52
926
688
318
591
706
782
466
225
106
419
929
139
260
94
124
582
797
474
154
183
743
746
541
212
610
181
524
945
313
805
415
328
828
447
384
351
466
551
760
622
195
186
175
239
1005
739
992
908
357
670
843
356
429
879
140
898
339
881
159
728
354
120
9
10
449
23
87
820
692
15
937
388
986
889
40
392
580
675
378
461
653
104
937
43
429
24
37
239
160
290
237
724
336
246
554
820
352
511
326
1
214
447
674
563
435
66
635
350
177
400
451
413
677
112
264
432
10
570
491
551
854
231
166
819
944
205
270
263
956
658
421
802
770
872
405
855
313
8
1019
110
985
570
356
542
151
144
785
529
780
819
833
775
446
820
786
247
891
343
467
988
436
76
711
64
71
166
408
796
200
934
567
363
907
357
441
239
599
822
857
989
147
551
271
328
57
503
202
528
706
916
602
381
896
593
111
406
368
249
526
56
779
886
628
50
351
714
190
712
550
352
988
837
830
114
37
492
867
601
91
909
995
883
106
160
263
705
164
848
137
1009
345
543
695
786
483
329
136
80
892
756
518
302
835
551
750
109
200
91
924
375
862
883
613
26
991
707
182
227
499
146
729
502
646
234
18
297
581
187
349
485
1003
400
921
980
433
585
425
775
964
583
914
1011
747
405
807
127
436
674
723
198
778
374
912
205
507
335
13
110
93
851
720
308
879
498
767
483
232
55
692
47
835
134
866
197
187
542
225
160
502
822
917
12
753
68
735
682
582
1002
556
837
227
431
384
824
413
189
197
860
155
609
925
853
1005
278
214
496
380
28
782
91
520
55
978
840
285
434
115
730
285
312
276
726
424
393
205
594
294
182
555
890
849
534
159
344
620
57
165
751
370
831
386
514
463
1009
745
246
672
91
653
319
456
744
826
610
761
643
334
483
176
354
407
262
579
85
843
199
572
625
722
621
135
241
602
902
291
231
694
859
941
299
607
399
897
359
234
505
92
349
601
100
23
496
31
540
221
3
603
353
511
663
40
634
318
931
162
545
67
922
1013
935
235
7
572
835
679
867
11
259
862
937
770
718
969
386
582
4
600
956
87
954
670
248
686
494
672
66
161
675
936
946
69
886
813
6
842
863
295
903
375
46
455
840
1018
39
605
911
635
711
326
831
180
450
157
879
313
802
941
465
964
962
941
679
996
693
955
852
765
703
96
922
174
252
195
340
648
983
575
480
690
163
592
79
715
613
755
59
321
475
598
146
217
834
713
750
989
628
392
23
397
235
857
6
639
73
603
338
676
470
920
393
144
5
212
46
611
739
353
567
834
434
432
410
373
149
26
947
731
159
157
300
606
879
916
395
370
539
468
735
824
1000
563
551
989
649
246
263
772
857
101
233
227
576
397
105
486
204
687
38
959
339
537
145
789
327
970
325
151
995
83
565
341
471
343
196
806
690
796
190
976
906
761
268
96
933
669
455
718
159
528
782
1001
448
173
657
600
119
0
487
1012
935
160
694
202
649
118
974
801
898
427
163
609
31
995
222
215
774
148
268
105
195
265
859
807
614
663
408
401
510
1023
781
444
786
653
138
149
689
130
941
48
721
977
211
642
283
830
686
994
9
5
35
991
295
467
759
306
563
20
72
163
856
952
494
729
39
87
1002
231
807
188
796
800
622
420
568
274
914
502
231
185
163
355
392
41
910
45
849
443
958
86
570
395
38
731
315
320
531
384
212
467
778
145
328
861
692
665
779
143
1001
537
220
434
328
797
584
253
995
67
644
150
659
6
92
811
792
632
349
156
975
629
469
906
804
335
327
254
974
848
759
908
595
954
857
108
424
645
1009
777
286
114
411
797
388
490
920
277
250
579
29
933
85
861
732
947
326
276
498
128
811
241
75
646
277
359
69
105
161
282
420
736
367
902
528
419
430
810
342
575
610
308
540
74
603
461
343
907
193
41
459
453
658
414
236
886
210
531
734
161
173
874
729
236
600
862
18
845
674
719
621
121
403
78
41
767
812
493
4
156
951
93
518
152
374
104
217
586
409
963
315
965
523
387
912
112
387
938
373
176
617
391
83
345
249
33
600
171
551
948
293
471
43
273
4
517
397
536
885
346
630
79
787
549
204
115
292
353
776
443
760
285
838
227
161
307
330
830
786
12
602
369
274
880
325
37
1021
579
473
880
185
748
111
323
767
435
694
988
201
402
228
143
637
405
123
1011
1000
330
156
273
975
281
300
349
409
662
586
724
193
129
92
261
38
789
923
679
904
225
431
282
24
359
674
802
569
894
175
571
902
143
819
560
909
507
116
700
702
563
988
224
1019
1012
539
504
529
713
294
921
909
76
486
664
649
208
916
557
62
66
447
705
806
236
890
941
921
93
436
139
946
671
74
378
562
479
385
945
393
285
823
434
202
698
315
658
540
10
475
40
362
62
533
886
355
25
344
636
756
349
166
155
431
286
983
159
451
621
602
136
854
920
367
789
175
78
981
939
615
109
786
63
560
870
870
260
798
772
309
951
496
406
558
792
228
659
433
592
467
763
995
801
648
918
1000
338
595
81
933
754
60
176
348
552
316
122
347
689
794
111
526
930
731
530
906
536
344
199
671
176
443
302
701
900
527
926
657
604
194
393
360
266
397
989
185
853
156
507
721
145
574
399
597
957
806
68
110
601
272
529
647
946
892
887
242
598
593
380
931
923
36
609
614
103
828
302
178
277
966
727
31
65
778
494
572
867
1023
304
27
688
430
714
888
405
475
736
24
584
1014
1001
329
248
565
413
507
311
494
983
499
271
349
499
895
306
870
391
273
659
623
693
642
531
45
451
986
403
616
469
814
788
287
117
453
688
986
974
797
590
425
324
144
824
436
389
288
535
582
323
314
271
219
735
934
658
229
239
805
618
161
204
414
877
941
57
478
114
151
685
393
63
311
579
190
926
920
248
27
428
819
595
379
149
522
175
14
78
826
62
950
872
81
321
379
3
108
458
79
11
634
908
320
528
225
562
625
1013
934
556
870
996
989
511
454
285
619
977
895
204
641
434
931
465
534
435
357
712
95
371
403
55
234
815
857
445
618
185
208
220
718
10
89
992
855
29
745
83
950
509
515
195
196
478
393
651
988
881
120
275
662
17
499
186
189
106
696
76
516
607
612
438
595
163
673
660
395
718
481
48
432
73
799
75
63
437
771
763
151
385
801
449
145
115
604
127
777
364
597
818
553
233
390
15
936
222
598
372
517
663
452
373
49
10
125
1003
572
664
935
957
1002
23
544
723
1
738
282
810
877
806
666
819
705
844
87
192
454
811
471
725
934
691
1008
562
357
537
639
520
895
643
985
360
596
208
980
244
996
607
299
939
577
474
186
921
261
202
818
72
396
600
837
87
218
764
765
908
904
785
583
828
0
157
419
872
174
966
113
101
617
182
99
421
470
720
212
878
450
5
144
687
473
191
377
267
78
515
292
797
85
14
951
953
649
907
366
194
959
339
825
302
32
485
631
535
143
372
481
796
152
429
513
190
664
557
236
957
185
326
395
175
65
801
950
795
225
920
979
209
698
604
241
592
832
214
914
663
314
327
808
861
755
582
611
192
381
416
499
971
1010
334
984
434
462
810
475
360
844
466
731
1007
665
101
767
543
801
914
520
665
300
673
20
139
690
207
312
854
238
581
332
1015
52
673
536
588
139
532
127
869
544
84
261
177
351
555
666
430
792
695
587
943
994
963
410
389
898
859
314
305
709
308
244
7
929
464
844
851
17
445
86
998
926
446
623
192
398
638
504
251
677
219
344
845
85
890
301
981
65
540
258
297
852
834
737
698
155
633
769
854
736
714
993
996
113
634
589
548
969
460
442
17
496
699
469
954
344
426
452
338
22
610
512
591
233
364
518
326
614
317
758
98
764
70
356
818
174
382
56
925
690
914
26
935
843
374
1020
986
246
550
647
746
890
514
11
683
165
476
167
584
647
238
959
519
255
241
93
512
256
634
102
45
893
372
364
175
623
804
104
537
1001
986
692
454
201
67
214
802
958
311
664
723
551
252
451
927
960
437
602
261
828
570
177
548
500
600
527
223
589
619
739
206
207
767
154
865
1012
663
683
582
253
534
321
478
889
259
443
590
330
448
922
425
283
540
525
779
772
16
906
515
841
864
1012
476
73
99
126
632
909
865
385
688
559
93
270
730
814
813
1015
192
107
637
253
158
1000
695
815
1010
553
473
168
440
155
833
228
163
117
873
587
265
676
273
375
59
443
1022
983
527
509
372
559
468
277
891
179
652
467
358
857
927
870
372
1015
401
208
971
438
843
492
590
942
363
938
216
357
617
802
426
281
501
866
116
382
333
154
822
175
1023
256
160
949
551
868
747
715
545
352
933
347
926
109
436
976
352
293
482
946
344
270
227
130
238
388
256
271
492
618
174
960
212
138
406
947
949
739
899
602
378
381
902
905
15
68
257
304
437
420
146
912
813
712
876
814
546
470
390
397
438
69
11
326
722
815
818
667
878
765
480
310
232
797
648
166
105
109
801
362
1018
203
333
495
410
949
910
658
477
695
514
855
561
436
128
47
813
181
258
206
966
776
809
777
920
611
41
639
247
889
174
568
50
200
254
307
722
1021
486
230
100
581
148
636
101
974
3
527
650
439
551
861
266
325
454
873
952
579
469
357
224
343
316
497
482
1006
921
250
86
471
612
841
169
257
345
148
818
286
783
432
631
805
181
891
124
469
808
812
559
24
811
124
583
86
437
773
117
962
1001
689
590
645
730
622
355
67
984
743
332
579
383
929
954
70
690
261
82
691
304
153
752
886
492
114
190
340
953
863
377
144
241
177
732
226
186
904
726
291
996
250
398
768
503
598
424
105
818
584
549
500
133
445
318
675
187
976
64
357
303
905
334
989
243
943
478
357
223
316
478
185
890
982
462
765
855
372
700
588
313
172
335
488
455
516
503
597
65
921
446
603
359
65
964
43
1002
405
1021
597
721
689
107
242
998
659
479
340
598
797
54
269
777
846
965
297
101
149
974
502
626
925
926
594
895
965
895
264
92
4
151
491
702
138
244
268
369
980
752
157
112
640
814
364
525
875
667
804
355
464
680
638
138
655
383
107
789
964
759
233
133
553
818
475
335
368
211
298
863
894
287
450
807
613
743
1011
814
478
894
128
151
590
656
764
249
702
456
199
285
399
89
1023
946
485
914
900
1011
186
798
723
461
777
714
244
901
74
196
130
557
1003
7
34
985
793
815
809
512
793
64
625
697
826
651
887
227
362
778
652
78
83
151
821
585
90
608
349
193
497
599
781
1010
614
688
1013
348
1000
991
736
894
315
685
372
234
384
480
648
176
1015
701
820
47
773
88
859
416
472
218
448
416
912
351
940
584
141
867
545
591
87
105
333
619
637
231
669
129
169
933
72
784
333
968
18
889
257
266
387
62
568
796
335
819
999
738
669
737
60
298
313
568
472
449
311
494
240
634
705
145
703
568
762
194
814
512
790
960
606
620
263
986
260
812
406
820
221
795
243
436
427
129
96
869
34
527
598
748
483
739
328
647
14
714
335
464
273
211
632
423
36
925
238
621
471
264
255
480
528
956
311
15
680
734
332
556
142
101
670
678
1002
384
636
844
221
992
897
35
974
615
27
490
661
158
572
742
393
845
337
463
958
309
1008
386
967
984
460
450
294
245
154
654
749
596
308
288
129
401
769
302
746
759
708
596
469
650
401
323
574
434
892
699
14
115
156
682
760
518
771
113
15
900
84
65
597
0
414
507
875
534
104
761
582
769
94
506
480
1017
526
820
905
850
10
566
675
1011
496
11
987
279
948
792
310
45
868
287
522
459
851
514
105
749
218
497
426
218
218
510
393
662
224
181
241
756
651
244
806
453
586
79
528
484
117
298
193
163
89
642
619
576
818
224
568
460
296
469
319
9
763
22
707
680
103
690
570
948
837
464
143
431
706
885
19
146
253
578
957
916
935
1005
282
152
801
5
371
30
454
671
98
987
596
920
821
725
617
654
954
666
220
832
44
893
422
415
826
422
750
931
548
590
255
213
90
655
510
683
190
948
448
378
127
683
705
903
169
820
999
981
151
252
257
27
304
920
505
195
930
619
533
313
814
1002
692
432
913
960
389
555
476
756
685
79
324
269
910
268
170
19
274
315
650
88
129
855
159
666
592
58
30
398
943
89
694
664
715
649
162
518
100
280
774
781
334
408
766
326
923
656
296
348
359
945
484
187
155
633
211
892
275
208
884
8
891
509
585
329
143
411
128
874
469
404
110
288
784
164
105
590
967
927
39
410
846
222
852
563
494
754
894
815
384
317
19
339
952
891
796
436
144
979
521
114
652
308
96
554
8
1007
951
644
346
276
459
523
43
914
661
374
302
788
942
576
650
253
1016
627
81
864
9
846
149
346
558
568
570
519
788
486
904
399
301
487
790
532
259
995
587
585
122
824
122
779
948
775
501
541
882
907
752
374
634
63
754
159
415
381
167
749
81
611
238
944
582
900
597
788
70
686
979
949
18
330
738
134
753
110
1012
686
213
265
576
638
406
285
613
942
668
224
281
418
88
917
697
334
217
820
690
932
21
719
700
726
499
513
290
82
953
307
285
325
317
94
550
744
530
150
716
173
157
941
861
320
263
1013
548
64
666
125
322
22
928
216
1020
151
795
566
167
259
394
971
134
214
456
585
511
1007
1021
274
955
1019
860
211
538
940
122
530
170
941
851
374
874
349
241
551
526
1017
726
1004
752
478
639
790
566
329
360
733
598
144
112
914
763
288
164
911
553
272
582
891
306
218
941
304
445
308
676
902
876
1004
449
523
134
211
573
886
355
498
46
810
934
757
128
444
635
963
760
988
185
530
618
908
289
580
472
626
112
776
245
517
96
6
39
969
352
799
707
108
696
896
37
48
152
582
943
412
455
660
491
301
946
460
522
358
1014
405
334
879
101
252
919
74
260
584
889
59
0
424
66
132
880
863
153
542
795
704
290
291
675
575
333
402
550
512
153
361
986
992
828
416
706
4
524
854
789
961
493
774
201
44
90
882
349
974
700
899
585
182
822
611
992
766
221
992
877
150
974
114
208
644
141
897
912
295
461
926
190
817
241
960
379
983
613
850
536
797
780
810
576
148
568
365
497
751
936
463
77
389
560
428
553
356
726
455
913
580
236
624
404
923
627
256
581
962
236
634
562
628
672
980
943
125
833
526
449
615
356
179
557
959
846
941
726
901
578
434
86
950
178
923
505
298
824
817
903
55
809
231
973
960
676
355
182
314
764
435
631
24
24
132
919
770
535
960
401
5
857
575
385
129
321
102
848
923
802
573
645
240
320
108
65
876
336
689
626
301
381
285
1020
937
611
90
247
557
767
714
877
521
513
484
759
558
447
1013
207
129
167
738
325
382
478
257
688
124
65
621
833
705
408
943
347
347
247
783
81
105
697
164
217
426
185
0
943
874
385
924
591
393
818
690
325
177
797
233
474
248
858
769
698
113
471
248
991
260
823
658
713
465
830
416
21
678
245
542
808
739
26
173
471
901
98
890
409
432
174
243
845
834
119
53
706
624
269
479
171
640
664
686
228
527
873
557
625
476
424
894
748
879
176
571
710
646
432
498
244
857
10
691
66
410
865
886
817
326
453
433
871
305
255
831
930
490
199
464
463
370
584
839
1012
760
452
556
215
695
160
93
756
494
128
52
385
827
338
599
881
461
271
22
84
751
904
712
592
971
339
700
53
63
698
200
762
853
587
954
746
640
166
185
199
72
794
192
889
303
140
749
575
54
834
555
187
683
985
587
266
914
750
669
176
385
738
993
38
654
987
172
965
879
601
593
952
513
941
103
106
568
841
78
468
502
213
49
50
720
148
499
909
96
378
146
862
473
152
111
333
795
82
709
566
135
361
1001
769
86
489
658
825
709
388
1020
206
38
525
702
785
2
760
667
85
707
322
116
320
613
1010
480
522
717
790
867
174
544
548
241
983
579
145
864
198
861
267
150
610
865
906
575
776
1007
357
368
420
102
128
113
888
33
865
953
121
317
331
732
665
123
473
719
424
177
1004
697
792
663
407
269
727
582
801
50
961
370
930
533
529
93
259
927
732
485
916
84
797
811
397
469
747
786
341
482
954
768
497
219
309
339
760
667
991
440
896
527
140
740
376
162
374
862
443
245
748
887
477
332
169
578
257
646
263
876
12
410
558
179
954
960
848
621
699
943
246
293
182
146
287
670
72
70
153
115
949
1002
911
488
430
359
327
122
170
722
977
853
358
103
136
879
976
483
91
137
303
562
510
750
574
276
146
857
362
697
962
605
238
680
343
984
184
813
112
605
968
911
193
919
0
743
529
916
287
838
587
317
866
361
44
457
1010
728
528
633
192
541
257
711
819
321
229
503
80
288
273
149
224
715
119
995
328
960
164
797
834
707
159
345
882
847
1008
628
576
398
780
227
752
196
19
64
531
96
774
461
940
466
892
719
0
9
574
881
376
202
704
35
753
57
440
1023
12
881
937
924
791
346
980
941
199
371
532
230
925
851
739
447
431
538
489
473
711
621
965
542
117
924
222
909
717
935
660
31
357
869
760
67
845
847
382
600
674
948
1014
308
198
238
304
445
141
458
484
635
767
212
554
169
257
713
244
668
677
137
750
104
215
397
141
9
353
59
824
654
681
688
354
716
722
424
385
69
421
16
492
902
544
926
874
37
1012
457
64
73
290
279
300
874
316
396
625
292
198
178
156
234
996
925
925
811
39
942
1020
851
576
941
652
78
583
59
66
778
462
792
303
577
619
19
908
527
284
218
545
682
615
433
995
539
91
680
619
238
697
135
791
254
365
941
982
298
872
942
620
885
249
599
789
661
260
631
932
946
794
479
667
501
937
792
421
623
891
207
450
374
173
733
220
184
10
997
398
419
128
466
852
499
110
658
781
81
110
112
158
219
550
600
209
309
703
226
244
735
77
291
582
298
488
256
360
572
182
183
540
179
602
321
347
254
796
642
434
670
466
501
643
12
881
201
812
847
214
209
210
277
416
152
773
644
376
466
429
915
0
576
359
552
29
533
990
449
633
188
148
803
789
427
151
880
585
646
413
878
304
729
558
425
847
449
580
547
20
156
769
330
184
100
99
687
799
674
686
578
28
139
425
559
1006
872
981
786
577
420
634
896
728
968
252
174
660
235
744
348
830
24
442
838
549
640
907
988
7
302
760
183
185
77
964
878
777
470
311
952
184
373
992
197
358
526
346
216
410
512
705
568
733
939
963
398
622
647
889
396
718
587
959
973
776
767
404
361
127
741
170
973
1004
58
476
492
81
177
59
566
362
198
279
236
592
679
727
69
813
489
367
344
57
152
833
707
263
68
111
998
740
807
954
34
270
522
714
350
137
351
954
782
723
39
389
45
962
711
360
547
294
610
371
815
949
489
392
536
766
748
351
161
1010
54
848
735
132
762
810
332
489
948
829
248
134
658
115
981
79
962
733
94
578
48
601
153
286
203
778
783
993
121
836
838
846
676
846
916
0
542
294
291
177
619
676
655
921
942
878
434
596
159
612
549
994
411
1003
1020
778
8
1019
131
421
768
642
345
127
681
777
522
81
283
954
23
233
572
783
76
100
459
302
406
839
227
748
85
209
923
510
1013
129
304
124
86
828
789
958
967
960
866
334
813
966
859
618
186
64
517
369
31
853
565
637
528
615
911
793
300
854
963
897
928
727
892
357
577
467
900
1012
978
477
377
991
916
919
364
70
35
239
648
228
741
249
236
503
1011
476
567
644
663
538
950
345
957
475
64
640
304
463
362
247
447
30
920
143
951
800
984
364
888
628
10
22
302
113
183
592
806
523
140
806
73
863
702
428
399
100
209
588
227
570
146
490
405
235
705
37
731
46
748
890
31
641
650
72
617
403
948
211
614
179
210
605
930
406
319
57
716
1019
370
106
603
654
963
194
918
851
514
759
322
388
970
586
658
172
144
530
611
722
821
243
689
115
460
559
74
151
377
686
20
265
793
735
244
441
129
61
275
612
525
51
90
925
32
1007
872
700
971
752
892
417
849
636
970
293
21
172
282
510
141
905
884
924
178
618
794
664
261
2
1009
831
423
772
95
409
522
260
619
405
57
667
490
458
46
266
250
148
675
700
432
480
363
1010
416
567
235
437
693
578
434
783
528
708
459
235
1017
969
464
268
600
371
475
754
289
51
826
52
84
946
159
56
349
48
105
666
742
659
65
699
889
530
108
392
999
51
653
980
256
293
472
128
552
337
160
1010
732
301
895
349
505
281
842
962
61
401
1015
1008
656
45
425
395
390
85
243
673
431
814
75
703
878
812
196
877
1014
17
851
99
487
1008
486
482
490
167
17
582
736
226
476
488
197
64
902
382
727
715
304
446
146
310
862
494
524
490
125
642
53
976
950
911
847
873
746
702
653
144
911
948
380
471
151
289
859
789
839
882
297
178
339
5
184
78
765
141
805
472
539
164
368
38
760
638
239
640
323
236
16
753
643
144
734
799
430
645
462
834
779
185
543
882
562
334
193
887
289
107
394
477
257
858
774
682
113
862
8
418
997
30
641
853
349
71
990
224
744
325
332
524
833
443
551
402
349
653
220
687
38
220
821
949
334
988
815
411
11
529
712
131
161
565
947
136
874
681
563
664
94
710
49
142
934
823
288
329
777
770
537
198
169
737
124
601
119
349
773
917
946
504
811
720
60
25
472
443
228
619
730
451
868
415
440
41
37
750
140
297
954
26
575
626
318
7
191
285
836
20
158
913
503
308
446
573
574
860
150
192
416
139
32
490
868
170
643
856
260
1006
824
132
79
995
758
355
580
555
370
473
989
12
875
45
643
990
234
426
318
676
246
93
460
178
828
366
185
749
204
143
779
336
940
76
818
29
861
332
374
680
388
460
299
393
538
608
955
17
742
768
85
894
755
663
923
693
290
490
299
722
388
893
656
987
199
521
475
1008
691
328
438
559
710
834
117
534
437
514
438
67
984
229
388
930
955
445
917
704
943
186
794
936
173
895
894
788
984
467
690
620
138
443
268
118
588
339
489
536
787
672
269
667
99
450
101
72
731
268
371
405
146
953
258
750
526
680
415
171
960
590
224
379
870
423
691
291
434
556
932
525
361
934
721
48
826
433
124
646
60
725
484
373
642
828
349
955
551
882
214
226
232
74
276
846
509
836
374
788
339
814
825
665
712
209
391
450
556
326
155
331
539
713
557
490
248
472
637
861
1016
855
78
149
164
987
548
111
656
40
960
677
343
421
459
411
769
240
288
479
661
343
170
902
138
779
618
220
323
530
458
73
439
440
983
822
410
696
816
986
946
746
50
388
300
523
189
250
89
843
570
337
711
981
196
369
220
511
499
411
238
95
746
182
711
272
126
577
178
192
978
121
400
876
859
759
413
790
640
910
867
199
896
903
612
797
858
192
1021
702
414
81
941
469
239
728
448
41
79
319
116
326
789
931
370
320
511
104
235
298
384
107
629
516
335
466
212
846
793
99
180
159
12
640
80
339
202
930
88
960
827
697
530
297
62
724
930
316
965
718
345
894
43
210
951
269
798
146
293
349
986
661
586
76
304
813
566
448
233
295
204
711
340
14
89
241
328
633
314
961
789
415
277
956
89
606
744
818
429
520
944
1017
915
226
87
977
862
216
377
117
300
11
259
468
984
990
793
359
486
1011
98
576
631
684
817
959
117
459
582
887
400
902
826
241
679
93
984
45
110
632
703
884
31
750
692
277
756
175
485
369
1013
580
920
29
179
942
229
703
219
448
573
691
465
627
608
397
40
521
19
663
595
484
825
778
767
317
917
499
286
927
639
300
20
508
710
196
875
487
677
935
876
601
885
775
934
465
17
396
967
140
937
47
816
748
111
506
752
634
221
464
464
969
693
930
306
1013
179
169
105
698
14
841
481
930
4
697
918
331
273
101
3
440
618
146
54
427
648
619
206
800
16
673
219
392
703
370
392
126
56
8
342
520
993
80
264
109
353
68
473
315
682
638
427
768
185
810
757
868
731
314
182
501
443
634
26
978
892
983
319
854
75
66
815
57
350
245
809
752
364
332
493
465
736
657
370
646
921
770
680
14
569
88
914
543
160
215
941
36
853
883
28
680
858
802
235
690
913
419
183
921
924
613
14
253
681
778
318
829
851
805
161
863
389
369
562
505
475
392
500
769
236
653
261
755
905
364
272
770
851
221
565
555
562
762
209
619
536
116
47
951
43
149
930
209
1000
199
524
217
449
990
652
123
910
61
602
691
80
230
612
264
121
940
968
144
304
341
84
1010
893
982
316
334
676
550
820
34
77
16
1005
396
123
576
327
385
703
882
850
459
707
311
743
241
1007
319
866
947
971
421
179
250
885
468
56
946
797
698
983
337
866
761
400
800
201
24
543
659
508
599
51
417
293
755
841
506
858
953
334
179
4
454
976
95
231
583
286
40
703
650
812
300
367
936
832
712
878
363
743
46
260
185
967
917
762
598
306
190
454
91
857
5
671
218
42
259
707
609
250
664
241
219
104
15
788
52
627
280
590
38
153
786
1004
891
828
646
327
119
877
111
402
483
482
22
890
2
499
308
797
605
414
391
439
133
297
603
989
8
526
939
891
0
393
751
144
936
469
891
440
345
414
95
667
919
961
529
509
633
764
358
201
604
755
331
659
556
666
574
69
911
330
306
40
712
833
792
662
537
797
654
147
643
819
361
586
904
797
389
248
896
739
955
589
468
818
559
524
223
776
671
491
449
978
782
444
569
527
520
294
459
74
677
309
365
92
44
678
302
855
22
105
256
616
583
125
371
618
406
456
782
832
320
501
529
492
812
843
435
708
726
343
523
499
326
309
991
482
795
758
339
467
602
854
394
688
455
174
678
236
70
385
963
177
467
158
908
504
522
655
132
604
68
834
589
712
48
278
608
208
91
213
821
393
453
91
87
551
762
730
617
1021
581
227
937
65
78
301
71
280
432
133
1015
181
323
781
839
140
241
512
284
965
18
420
559
492
749
504
609
764
137
702
212
147
629
961
910
546
320
821
525
114
646
590
762
375
473
437
1003
459
674
166
623
263
602
592
777
815
312
257
911
483
522
105
184
64
139
802
850
714
969
284
1006
539
237
883
61
904
127
544
426
604
573
359
874
338
909
858
484
27
616
931
708
146
810
407
138
294
326
197
592
980
574
871
3
96
2
164
306
661
1013
825
117
351
700
111
803
838
91
650
996
330
17
159
555
102
939
652
408
296
478
272
416
49
647
813
664
373
474
172
183
423
98
748
878
716
871
868
804
710
181
693
141
472
262
359
486
663
612
519
575
576
670
575
521
328
875
632
187
228
702
429
779
814
146
553
851
167
955
553
191
715
120
353
561
137
508
456
671
992
646
246
74
344
290
646
707
365
529
82
535
39
939
375
660
836
162
345
182
239
305
493
254
476
436
123
892
953
908
517
525
986
441
131
937
615
357
110
148
908
297
399
739
969
981
209
7
886
892
39
704
1
427
949
111
467
462
268
1021
65
964
166
289
223
992
769
980
71
608
91
229
100
699
456
104
801
421
386
948
297
184
763
522
710
813
828
960
326
414
441
159
207
505
877
718
171
985
713
476
222
859
889
38
193
346
365
655
895
751
216
953
662
898
1020
839
420
466
347
1016
358
63
882
444
619
420
659
30
269
513
428
635
783
1
1001
146
1000
585
227
285
986
447
74
659
31
1004
1015
364
751
210
843
272
636
38
576
938
125
611
859
992
226
312
1009
194
633
797
974
837
724
223
441
464
465
46
839
631
490
37
841
553
369
482
888
301
335
464
532
820
660
905
881
545
279
455
978
638
16
745
787
459
744
934
185
453
109
140
787
492
556
872
360
150
243
494
322
378
411
238
776
584
454
526
379
540
173
499
529
729
68
932
57
765
757
954
474
781
480
846
525
247
690
628
415
888
857
60
404
910
165
1021
487
394
1023
585
322
908
575
482
347
984
175
497
528
416
530
608
384
162
883
194
767
887
281
115
1018
860
432
393
325
159
256
588
161
608
341
799
337
885
589
612
252
169
841
792
1022
356
355
771
429
939
135
64
669
205
152
641
580
50
431
777
498
739
462
681
253
468
772
57
1017
562
419
13
923
607
416
954
132
959
427
651
534
796
149
215
255
82
546
513
676
676
68
403
296
385
961
10
810
72
713
877
971
993
658
161
668
635
168
732
150
545
305
989
989
305
535
656
859
464
299
651
876
546
469
218
925
160
633
665
172
59
672
873
607
453
703
145
221
942
407
426
367
715
880
313
363
957
270
711
892
288
247
305
286
133
186
372
681
866
484
299
772
744
220
826
9
370
739
294
108
14
994
244
1000
636
246
439
783
953
774
324
798
193
512
650
183
138
845
868
1003
410
661
182
733
665
656
70
655
199
438
933
768
151
406
785
896
43
1014
451
341
669
534
884
134
397
852
219
907
619
970
62
664
426
408
112
232
1019
208
935
234
502
691
32
411
584
657
269
966
298
566
205
489
539
37
809
8
996
888
839
173
606
679
872
79
174
187
304
765
587
369
919
297
359
441
719
552
959
846
163
799
651
70
888
266
899
817
850
1014
74
88
90
863
712
474
937
15
885
624
812
337
285
407
773
478
446
341
276
611
554
967
629
947
236
644
400
375
10
645
700
348
504
696
631
288
910
596
330
497
558
80
938
492
689
640
956
8
493
270
379
653
19
142
156
275
107
669
466
281
660
457
846
115
256
902
212
211
89
119
1
553
145
516
360
56
534
811
124
935
279
106
403
1020
406
869
568
889
750
866
272
179
335
282
931
647
874
718
895
363
108
788
4
656
292
106
120
625
224
665
414
743
20
638
644
823
21
418
56
28
560
695
5
199
712
70
851
976
723
171
846
812
925
488
1005
438
135
308
705
636
174
599
528
270
765
64
961
991
125
927
819
558
673
301
299
407
317
776
281
989
318
72
734
573
106
733
386
732
722
602
91
65
389
259
253
1013
390
702
880
166
624
713
932
938
86
301
751
382
201
300
273
298
291
878
807
428
72
907
934
665
901
975
644
317
362
151
27
193
700
773
569
302
269
167
742
946
775
155
163
835
825
488
1017
336
341
624
520
614
153
467
374
120
429
663
459
153
76
850
627
409
346
425
287
772
403
512
577
99
168
217
916
339
762
935
257
333
546
448
613
1019
1014
254
333
143
121
478
416
653
680
426
406
784
697
150
577
337
553
287
915
542
831
628
265
565
341
367
698
280
1019
260
884
320
162
40
203
220
788
745
474
355
639
892
60
328
153
37
358
465
214
25
848
418
688
768
939
406
438
938
245
451
50
524
404
106
133
470
730
406
116
102
723
732
68
546
80
139
870
720
669
943
177
537
966
828
239
213
533
401
918
304
222
536
746
750
308
493
155
671
942
24
423
103
509
313
786
892
287
601
708
379
728
296
195
543
643
570
239
913
478
658
665
352
551
259
262
468
732
67
724
972
785
866
925
180
801
145
344
393
595
2
303
636
1006
917
640
480
199
545
167
603
486
612
542
491
652
68
754
599
237
837
129
881
566
850
818
790
1010
436
334
802
310
57
248
671
19
335
206
833
139
735
990
681
370
800
310
874
934
978
149
598
41
408
285
389
38
949
700
259
642
497
818
680
347
45
662
641
51
765
70
476
883
361
132
352
450
477
115
462
815
689
572
250
185
649
832
737
272
73
260
475
690
357
943
86
189
926
21
862
291
864
782
731
196
733
843
588
975
193
230
24
655
536
726
700
73
823
281
902
179
997
330
735
24
120
844
682
757
993
275
474
130
229
352
477
974
833
281
673
80
959
976
948
952
8
799
427
287
465
26
651
690
863
364
222
932
551
351
201
1005
981
515
154
683
59
585
1019
157
635
161
254
966
218
358
205
226
935
177
383
296
561
527
820
409
226
390
142
65
430
194
262
578
698
286
258
182
133
979
924
802
96
923
239
764
397
244
645
385
167
69
551
525
31
670
237
287
977
288
663
551
731
233
663
39
198
124
802
561
253
276
365
264
859
129
478
553
460
127
869
515
692
520
1021
634
63
557
210
155
43
399
636
211
918
825
546
297
300
730
341
947
686
791
5
665
968
471
513
768
704
529
594
1016
484
194
748
878
365
649
441
695
609
95
227
757
842
425
513
865
980
845
475
364
206
216
729
381
374
344
118
490
1014
798
885
992
774
502
794
3
886
577
769
436
484
866
707
635
290
92
922
538
920
752
209
329
368
205
340
232
82
940
978
654
848
267
246
977
770
554
461
274
288
811
281
405
188
925
1009
230
371
830
236
861
493
209
1004
272
219
258
174
169
740
630
331
279
440
354
294
108
316
330
76
897
591
9
578
184
751
399
235
828
887
123
244
650
761
929
2
3
132
165
44
417
743
414
978
19
694
418
402
747
613
353
712
529
130
797
689
414
157
839
290
218
210
739
518
258
673
1001
322
411
37
78
649
860
308
783
944
75
842
491
753
614
406
203
529
525
422
5
66
94
26
1022
1004
941
443
480
301
12
984
836
417
350
956
466
672
729
140
343
516
865
988
646
812
635
463
715
849
421
615
532
497
170
661
312
636
30
364
857
442
670
435
316
81
194
514
546
288
807
68
934
260
772
823
161
542
485
163
591
17
733
775
495
368
741
42
294
313
603
1013
520
417
850
912
555
1004
554
461
133
482
179
276
1012
865
219
836
163
829
633
585
270
1
369
235
229
62
614
86
870
302
752
616
315
595
728
82
305
490
407
414
169
17
833
512
835
181
84
586
975
735
43
907
346
359
795
84
216
405
543
280
720
496
130
640
444
547
27
390
65
855
1001
501
847
929
667
441
646
895
465
504
770
712
108
287
41
211
158
26
968
10
376
698
719
749
635
6
892
300
397
1020
644
318
542
41
666
294
734
896
504
905
607
681
788
763
836
361
321
465
253
206
1017
657
543
568
765
34
202
206
978
706
525
635
956
565
536
468
713
639
846
720
14
439
973
941
221
338
834
112
641
62
136
240
744
488
432
466
813
829
286
773
27
278
171
8
119
404
449
538
903
919
356
525
672
953
719
820
575
277
380
685
795
967
258
580
800
702
398
834
814
167
73
599
694
616
644
32
354
480
590
866
119
546
98
525
906
513
47
343
898
304
212
1020
423
395
96
549
915
345
3
688
656
828
243
427
513
258
167
46
545
40
21
912
784
306
27
352
499
846
168
774
874
297
821
677
653
991
1
917
341
931
874
629
432
757
131
360
328
374
34
475
59
559
489
846
470
622
513
73
730
696
137
160
168
638
143
364
411
914
53
413
672
22
690
731
105
93
854
427
549
354
948
346
747
125
730
445
872
567
858
31
9
755
836
142
677
727
988
27
873
620
392
215
169
526
366
131
911
332
231
688
1008
168
228
971
656
697
787
291
965
919
885
834
600
618
855
1004
722
971
102
340
842
139
779
261
583
395
622
52
499
854
978
453
475
728
472
479
1000
312
62
282
438
497
253
940
1004
987
466
708
532
565
486
38
846
241
358
307
361
682
997
803
348
223
14
780
7
45
759
586
409
943
57
864
194
383
260
417
842
942
359
101
306
679
920
856
245
610
69
660
145
158
20
276
437
699
777
737
895
865
74
820
172
263
342
293
546
973
31
181
819
0
165
284
658
341
588
408
759
989
604
586
676
835
480
625
674
347
470
155
14
212
379
891
473
371
858
932
919
702
462
131
672
840
847
961
106
159
762
262
57
744
177
386
400
212
745
972
253
1010
284
897
11
755
58
616
524
375
992
260
530
76
636
361
411
292
808
798
535
677
912
168
67
668
919
520
468
464
446
214
364
1
306
447
197
409
888
328
514
945
505
164
80
442
449
514
718
557
983
363
787
933
458
783
744
281
429
396
545
831
869
689
579
574
447
20
589
181
129
509
984
145
898
218
829
665
886
703
137
267
113
139
429
877
80
350
726
988
617
594
996
488
838
785
319
501
391
953
49
880
691
956
961
28
572
75
977
284
940
402
117
61
722
669
523
418
51
441
542
399
873
172
47
54
690
69
551
752
470
52
465
702
488
264
335
239
362
128
167
569
269
464
550
784
540
478
62
135
750
124
445
409
620
420
518
496
120
305
965
553
284
229
1004
742
91
984
151
138
679
123
711
914
55
261
720
449
534
225
731
728
774
359
9
879
252
900
931
981
233
353
787
980
829
318
1002
236
907
442
702
580
26
560
589
355
922
372
52
965
401
814
854
15
450
209
375
286
398
527
149
673
968
811
499
200
395
104
749
688
738
927
689
683
481
393
699
995
62
263
380
166
673
850
298
35
394
677
931
75
931
620
307
265
413
300
442
109
814
33
994
924
497
346
206
617
734
307
78
408
550
274
533
377
444
290
857
735
785
313
722
308
15
841
383
660
913
740
185
390
123
268
833
277
469
621
827
506
334
880
964
626
256
932
951
696
992
1003
91
794
859
699
44
174
767
667
253
418
805
882
584
88
682
567
579
957
489
1019
947
861
380
406
83
438
577
768
548
196
1012
539
800
736
988
790
142
888
530
704
640
358
926
984
384
852
45
613
626
705
617
894
709
799
673
427
381
1004
776
640
420
223
61
577
158
939
556
811
771
729
350
798
823
156
117
370
153
908
854
521
226
625
958
489
42
324
671
418
268
479
596
526
985
430
622
459
700
625
989
76
315
406
569
754
148
568
377
814
372
89
81
908
97
762
357
833
840
213
315
76
73
19
920
96
307
37
927
634
255
928
211
828
14
283
433
128
120
602
782
206
98
584
603
899
487
34
429
202
43
455
269
364
99
146
855
589
950
676
487
1000
25
214
412
46
671
278
785
84
554
125
552
1005
691
979
211
544
408
667
987
395
211
664
496
384
701
387
666
697
310
614
365
782
507
505
242
148
140
196
404
60
793
917
324
679
390
156
633
227
576
90
602
569
259
56
651
775
375
729
607
151
1023
18
51
887
955
562
449
51
215
311
919
48
347
274
764
286
549
895
310
882
978
291
503
252
83
557
408
867
700
349
256
321
976
175
536
783
141
984
336
681
956
46
565
996
885
684
273
265
819
466
166
176
959
581
204
334
734
13
288
103
533
319
943
91
834
587
19
243
466
610
767
491
920
321
56
785
77
68
743
177
101
82
87
560
171
547
989
427
768
1001
322
305
817
177
830
50
307
295
564
864
410
37
879
473
1009
128
688
670
751
876
495
47
899
71
152
285
604
925
444
166
287
571
737
727
262
862
639
76
587
674
106
19
365
532
1012
256
116
14
58
561
132
137
450
316
740
674
684
360
321
257
107
959
996
889
853
611
843
294
12
883
211
307
260
253
561
701
272
888
348
432
611
406
30
79
965
337
636
776
680
562
102
649
630
174
736
935
915
949
692
345
14
822
41
652
889
319
165
81
48
381
666
715
110
152
814
2
729
1003
878
156
840
784
672
23
705
38
432
270
818
922
613
469
515
542
545
871
154
298
70
789
316
910
306
229
503
796
100
547
603
471
757
587
695
1018
939
85
673
1023
197
896
484
946
291
152
151
412
665
257
476
13
943
784
896
548
479
779
814
719
536
669
389
519
254
616
258
305
278
757
978
525
805
101
212
66
808
674
689
527
105
645
778
743
409
471
621
245
830
514
429
988
449
698
810
230
454
283
255
13
278
627
257
657
912
671
132
949
816
872
1011
359
338
543
245
766
379
997
236
156
768
885
559
664
321
498
150
635
508
778
809
726
203
219
465
963
880
871
132
690
974
432
354
843
819
279
489
555
791
536
949
747
489
644
671
603
865
229
709
83
667
719
889
566
693
780
535
865
165
137
64
249
793
978
1015
3
764
646
555
585
557
764
112
295
38
864
24
960
30
753
378
604
837
1018
154
572
534
546
691
3
114
772
385
635
411
68
155
399
898
538
17
94
489
85
613
372
921
667
271
783
451
297
1004
789
222
521
386
959
941
380
311
442
231
3
170
462
857
850
20
785
832
629
378
354
1009
698
462
972
76
534
609
31
891
524
619
107
622
507
307
543
540
965
760
451
459
183
909
226
119
174
923
793
789
978
599
492
760
225
279
790
496
104
202
770
82
733
81
162
817
62
255
746
509
509
509
908
323
329
600
813
437
386
357
613
423
886
90
57
190
633
163
58
327
434
743
772
963
957
628
402
125
572
389
388
692
900
420
638
260
368
865
522
366
851
514
570
267
926
756
218
669
949
238
191
65
971
770
781
538
1014
589
504
870
908
949
770
329
81
980
598
906
368
205
430
151
153
116
617
30
862
550
913
133
654
15
181
54
184
172
640
471
817
181
206
205
84
401
618
563
364
625
751
640
797
245
473
152
940
561
654
8
637
646
135
646
74
259
6
103
785
976
947
343
123
949
985
245
989
453
278
1012
83
937
500
290
474
925
958
426
821
708
570
824
965
486
27
173
436
763
785
778
329
328
898
727
11
414
56
817
98
577
921
557
661
69
64
785
329
605
200
12
889
160
568
19
135
793
723
653
884
13
185
447
483
670
973
105
325
664
758
874
614
747
1011
166
48
310
560
513
281
983
730
847
1016
839
343
176
863
361
254
307
638
665
252
796
435
959
390
532
235
614
702
617
24
831
214
811
422
130
156
34
694
1018
582
194
934
573
31
711
440
929
318
106
194
734
611
626
928
570
707
172
987
553
683
319
780
165
99
832
269
768
298
559
335
290
827
273
46
634
18
877
617
113
849
583
289
388
341
7
879
656
77
319
464
858
187
309
338
271
143
607
956
620
738
97
615
345
308
518
519
851
465
303
185
521
389
882
522
431
544
731
285
685
954
939
444
674
355
561
825
795
802
354
88
430
143
146
397
736
26
156
801
482
432
480
73
935
94
827
941
429
552
502
1008
222
992
85
763
679
428
864
973
822
555
460
587
265
921
127
50
531
859
269
668
112
598
991
313
8
311
9
887
927
606
164
530
863
478
1014
68
607
281
289
328
603
184
320
127
567
347
74
728
327
270
938
837
932
136
391
45
496
23
389
306
1023
117
130
367
395
276
37
752
121
887
423
880
727
15
362
555
107
661
887
183
755
668
582
976
292
741
666
891
1015
425
1007
186
231
307
170
58
464
806
357
155
100
383
786
139
593
875
590
200
143
619
578
407
871
781
176
299
393
673
712
703
77
303
627
784
295
150
49
508
40
955
859
697
666
261
1002
158
390
141
600
701
684
801
202
223
132
421
666
933
32
685
815
486
987
209
312
201
50
894
1012
658
548
160
246
11
586
406
926
124
223
307
464
217
874
888
347
938
813
277
245
1016
704
417
236
185
722
398
122
116
472
91
924
331
248
258
362
766
883
595
285
524
751
656
442
393
112
487
916
735
882
803
228
499
560
844
414
898
853
179
755
963
392
469
195
113
414
345
434
722
588
168
810
21
406
233
716
287
938
1003
1016
602
984
1013
982
265
747
162
497
836
350
290
584
508
102
463
702
523
928
342
524
317
193
389
517
400
380
106
412
90
503
293
859
927
32
717
893
544
210
145
48
779
716
709
998
411
800
524
157
25
811
778
81
472
429
476
730
919
140
286
24
356
649
371
909
841
547
724
984
689
196
259
819
725
677
272
834
323
695
379
588
12
132
176
743
640
49
914
982
32
974
35
322
332
403
965
623
937
390
932
161
384
207
570
697
977
897
547
263
780
126
656
957
212
314
444
773
394
416
998
748
185
669
175
991
1013
821
1003
681
715
284
180
388
209
316
879
893
799
235
543
376
906
95
32
669
643
40
204
389
730
54
882
887
926
76
516
833
338
763
344
434
595
300
634
168
309
641
553
796
464
526
655
861
213
618
1005
639
636
990
381
23
912
625
936
715
966
409
774
470
655
927
277
167
979
126
294
439
583
950
50
706
827
399
361
314
717
458
401
556
999
128
729
426
262
659
937
517
480
566
766
363
233
443
151
766
725
295
23
685
834
557
540
712
4
770
371
229
220
835
650
36
558
805
442
251
351
416
711
314
392
69
306
313
747
263
470
859
923
363
736
995
396
148
684
483
7
491
938
471
677
207
907
381
479
870
472
144
133
501
495
36
846
1006
372
19
605
977
795
667
608
191
81
80
572
389
15
89
139
185
758
730
924
716
491
308
114
798
628
751
895
39
950
995
631
560
129
128
472
529
1003
848
746
331
142
99
408
881
47
369
942
489
634
498
779
794
568
482
712
972
888
723
122
33
133
729
900
626
760
268
935
759
902
299
844
755
760
892
835
88
143
187
65
258
94
200
784
856
902
533
773
442
162
87
704
24
391
203
758
463
167
521
435
197
359
256
500
327
782
100
578
315
458
195
598
502
116
276
633
25
734
77
148
190
343
365
824
1008
101
318
730
198
301
19
570
126
800
827
298
656
543
269
465
562
1022
256
832
858
945
73
351
797
254
486
550
641
421
335
273
148
451
479
632
357
458
774
887
615
771
873
326
236
243
838
357
597
421
774
1023
791
34
746
71
872
56
695
235
897
882
553
988
854
748
801
748
640
895
128
734
952
11
902
158
990
500
413
878
13
520
586
690
409
221
492
362
994
1
559
230
757
822
898
938
406
579
1008
564
310
40
78
843
103
52
382
212
528
639
892
852
476
131
495
624
886
55
393
552
374
972
34
900
417
743
525
909
412
83
642
221
652
686
237
296
130
489
196
444
528
752
494
910
71
452
60
528
670
413
1017
64
282
690
188
228
551
211
873
249
552
1
104
39
559
576
71
938
262
127
330
50
225
788
941
244
439
631
189
687
84
60
601
476
342
187
78
753
753
462
389
807
87
264
724
782
463
1011
397
165
105
714
607
339
55
759
614
106
130
9
616
527
662
674
885
827
264
901
548
308
788
79
315
858
572
410
503
428
936
181
957
296
148
251
339
317
705
329
665
906
537
989
591
146
144
894
196
595
283
224
897
532
477
42
598
877
193
428
345
268
951
547
319
401
268
885
639
170
24
148
376
480
307
703
713
529
35
554
583
410
172
318
107
801
133
250
1017
55
842
239
85
10
327
835
744
904
294
959
710
23
2
14
746
473
851
988
66
951
650
635
920
944
10
158
653
278
291
428
202
992
764
531
644
295
68
805
772
472
416
51
631
253
965
170
378
539
133
373
687
92
576
152
496
315
675
879
915
12
958
530
957
804
1000
615
642
921
955
230
186
933
914
802
615
104
920
410
782
782
712
725
195
422
714
918
974
161
455
238
563
404
469
651
599
783
133
858
804
325
427
181
38
278
707
342
600
423
693
51
61
607
543
103
940
557
827
161
923
757
495
352
857
992
284
701
232
675
83
514
809
104
202
449
574
444
565
185
240
551
1023
316
537
607
176
948
456
75
669
949
362
551
672
684
678
905
994
258
515
159
370
21
659
110
639
890
426
79
180
908
560
696
698
922
894
592
407
904
115
0
31
336
212
324
145
86
988
1004
470
664
376
594
759
691
513
592
217
990
622
280
295
781
518
1006
962
26
828
419
595
503
1001
552
342
206
410
305
477
366
640
294
84
131
638
340
401
161
826
110
242
710
119
655
101
179
67
406
779
330
154
446
4
890
724
204
341
851
586
287
119
978
567
70
640
714
716
664
226
919
250
911
775
971
861
371
119
83
458
655
340
345
952
985
860
20
704
640
90
60
600
744
940
290
272
422
185
304
848
379
536
640
785
372
246
17
889
662
940
782
885
905
277
660
451
605
451
973
142
354
256
535
176
488
125
523
399
717
967
893
817
457
931
46
10
498
124
878
539
366
425
304
603
272
344
749
103
582
519
253
702
429
959
77
66
1019
322
85
506
148
10
314
138
348
828
487
872
167
757
763
863
929
787
823
70
183
866
193
503
64
335
24
353
856
260
207
956
797
594
242
572
592
470
108
22
455
234
895
118
561
254
583
475
275
814
173
889
850
483
995
179
967
993
956
927
639
428
1013
566
99
945
327
317
820
722
783
77
287
177
418
907
829
169
481
389
658
807
408
509
462
203
907
846
933
928
130
653
75
27
650
740
318
212
45
978
797
311
540
851
540
26
19
741
1004
598
418
684
128
661
767
302
587
394
516
23
40
602
424
331
420
165
353
1018
491
507
216
449
625
725
307
900
826
97
160
349
76
443
810
608
906
688
787
479
648
560
874
256
531
259
476
608
967
491
531
962
855
672
316
141
19
324
673
53
846
946
121
138
622
298
476
960
334
448
326
851
92
465
918
945
476
485
355
850
424
818
847
386
735
259
858
884
286
363
758
264
132
50
903
394
1020
553
460
737
579
152
560
14
395
442
252
258
736
398
131
546
20
909
620
576
722
661
496
369
885
796
946
508
1003
346
733
103
652
149
70
232
846
555
833
134
970
892
925
216
856
106
805
578
476
334
963
662
793
581
628
904
360
808
46
882
436
451
507
66
996
423
294
626
892
166
809
687
923
92
383
241
394
314
126
612
805
652
962
695
680
715
883
512
1005
555
661
519
541
497
62
540
175
148
573
523
901
808
175
43
981
286
431
353
862
993
170
306
113
93
522
554
892
394
393
487
440
443
768
508
922
394
730
373
532
915
405
263
607
704
59
872
344
579
874
986
935
1012
217
393
47
122
652
542
505
895
929
642
668
253
248
461
875
846
77
996
726
622
213
991
342
261
215
973
1001
543
953
322
919
438
988
786
666
146
625
596
347
4
979
779
110
521
536
532
853
600
329
342
346
514
782
83
502
46
19
159
848
636
997
685
386
94
305
936
96
120
861
531
142
612
13
577
219
912
608
505
969
628
578
96
140
246
709
4
713
136
177
756
668
443
142
480
830
49
207
718
326
52
13
222
959
91
605
159
982
422
665
257
34
482
611
950
438
1022
902
454
507
775
1008
626
752
231
303
875
389
437
520
306
981
51
276
722
494
827
933
251
157
726
450
470
398
637
953
662
676
502
548
936
719
898
371
976
519
235
424
777
113
889
120
764
406
484
10
293
830
306
650
253
327
654
190
776
565
1009
550
804
752
305
650
586
350
438
740
719
601
817
601
193
531
543
873
591
733
498
425
490
516
653
286
643
679
660
447
14
618
567
857
293
571
355
609
167
531
869
844
274
436
114
985
865
92
450
253
258
56
97
691
994
180
648
258
674
371
195
184
891
688
644
539
798
759
984
913
423
1021
671
173
248
973
960
1002
253
967
406
765
797
277
612
191
169
682
237
810
404
425
619
799
866
116
925
981
360
805
507
179
271
5
1001
957
478
331
526
267
851
597
1002
741
509
950
322
237
314
36
456
228
325
213
34
322
389
874
552
636
404
744
596
471
318
993
188
943
910
410
1001
418
38
564
777
531
46
442
124
201
89
476
850
755
852
792
885
846
1016
361
833
528
453
294
878
749
548
624
375
934
907
220
219
301
887
586
666
996
833
455
525
838
918
863
812
283
430
826
13
931
117
289
631
413
472
593
479
836
1011
899
171
718
744
437
540
288
591
36
141
513
459
887
302
481
215
837
174
639
626
741
347
797
136
36
638
797
360
962
37
77
296
551
394
2
659
815
638
36
91
76
312
486
967
199
631
365
117
233
98
431
326
366
1000
465
376
786
380
303
996
640
153
648
247
172
830
200
851
549
588
498
1015
627
883
586
239
543
816
588
939
247
862
853
270
626
320
688
547
460
654
837
638
708
430
570
637
274
890
478
574
148
817
90
305
287
940
348
350
983
998
568
507
300
969
609
155
14
170
238
892
930
511
670
819
668
149
126
211
235
734
1012
245
180
853
502
592
139
633
648
33
764
916
97
182
621
977
245
587
658
779
99
123
939
541
943
788
460
21
156
56
414
182
582
492
881
664
143
66
85
604
965
818
968
810
690
822
86
295
170
155
607
986
55
347
656
188
121
263
593
195
969
102
365
933
521
287
547
376
86
199
123
281
21
854
224
1014
343
358
700
819
994
58
848
79
897
478
855
959
540
212
890
15
351
288
22
419
754
686
327
439
483
426
497
381
163
391
239
503
880
993
1000
594
583
408
505
351
956
475
591
281
705
167
389
217
591
296
78
49
581
411
795
441
255
48
167
668
916
69
236
738
306
185
850
621
612
28
228
768
894
729
490
870
117
474
235
444
617
762
791
60
81
563
1009
370
726
666
355
569
179
169
183
377
392
267
654
1
738
243
933
492
154
260
956
53
356
89
552
453
559
957
441
769
427
929
67
271
647
617
381
727
325
192
945
764
145
550
315
281
961
802
974
143
56
473
593
549
389
242
138
742
297
633
963
952
353
930
595
238
846
738
783
14
301
308
559
833
769
958
542
278
535
937
79
611
998
1001
966
371
621
972
892
564
291
772
202
1
265
266
167
684
799
93
880
107
162
759
984
730
657
322
1008
475
229
389
29
950
324
511
1015
871
332
482
399
391
72
647
276
745
572
674
261
606
795
491
330
58
886
874
526
465
559
342
8
733
716
797
945
1015
221
336
922
321
790
791
824
220
255
62
181
174
952
585
847
876
60
127
641
965
203
972
6
75
692
273
94
448
7
624
711
111
34
495
437
883
93
770
637
626
384
998
577
533
659
6
57
426
204
962
692
193
782
570
756
909
572
569
108
1011
527
464
252
521
282
951
945
935
608
775
509
201
672
253
112
333
564
47
821
940
164
813
674
730
8
523
862
729
855
327
75
86
81
844
800
300
677
187
675
514
730
191
878
446
431
656
908
888
88
20
629
691
595
706
785
574
610
724
132
213
366
304
422
89
22
143
619
540
569
512
602
139
420
905
948
89
20
294
344
353
529
540
895
378
409
921
699
678
405
637
7
102
849
220
243
568
580
633
945
1023
797
245
840
1008
217
684
223
707
700
396
6
864
69
343
184
119
916
950
834
664
720
91
52
752
846
23
94
83
745
612
385
920
119
596
867
428
566
708
35
654
809
106
832
107
235
672
889
384
36
710
543
856
791
0
941
395
105
1000
372
265
558
135
553
183
470
831
406
593
733
829
151
562
505
517
304
411
255
923
466
979
746
1019
1000
575
937
61
292
587
330
724
483
692
666
285
668
431
977
375
396
917
720
435
472
582
692
486
116
272
240
208
362
769
176
691
661
711
933
778
859
79
562
675
64
537
728
407
713
423
784
163
456
788
906
737
752
752
905
301
975
84
998
111
744
443
326
447
979
793
874
820
282
359
379
620
950
71
144
643
187
462
862
224
238
917
178
229
944
719
43
326
933
571
474
211
989
219
39
672
829
580
795
26
905
155
754
45
695
372
396
893
334
437
774
702
375
348
181
161
764
83
801
427
422
211
690
898
745
494
457
816
924
590
968
240
296
601
131
709
914
634
300
532
645
956
613
573
144
90
1004
209
785
544
70
485
891
644
639
861
686
449
526
447
563
842
181
233
899
1007
152
83
804
999
41
925
28
431
337
479
970
986
711
452
52
488
812
906
988
115
492
321
140
668
564
439
265
63
87
491
515
243
73
48
62
878
445
784
677
58
538
892
71
258
247
771
980
104
845
503
1018
893
860
185
809
465
823
516
75
708
798
205
351
300
612
287
779
574
798
76
90
736
706
188
970
96
357
800
1022
993
98
109
196
172
908
831
59
462
437
111
865
702
950
624
879
342
420
399
608
758
340
756
772
660
735
331
930
624
787
1012
386
21
52
589
391
887
216
362
547
204
662
247
203
189
459
400
283
975
469
432
47
385
378
878
393
615
497
605
836
4
59
30
27
300
976
307
317
471
269
930
654
293
1023
889
73
288
666
681
682
734
588
843
655
594
347
0
80
857
981
159
730
665
473
694
601
519
24
438
121
402
913
654
296
845
701
856
193
469
885
915
99
886
490
290
263
92
772
265
617
922
417
265
200
331
705
86
741
601
580
448
566
207
622
420
445
232
668
326
806
131
442
67
119
242
313
142
954
230
356
372
488
945
235
540
320
449
701
771
734
807
939
259
876
353
407
751
896
162
140
393
743
716
740
970
709
374
888
110
867
937
402
672
928
130
47
416
356
344
388
278
282
381
68
464
519
804
641
814
451
342
323
544
698
660
477
670
293
395
400
817
833
153
441
952
93
38
1020
578
618
19
767
730
424
604
284
66
171
743
513
955
63
864
121
714
414
793
371
560
646
752
545
772
669
501
93
789
435
508
828
659
867
555
725
959
937
539
384
923
425
879
602
367
210
566
306
916
992
300
525
285
51
780
307
250
782
239
398
560
68
826
597
968
108
409
940
602
918
6
615
640
173
897
304
576
372
224
15
928
962
671
853
186
982
164
204
47
374
45
889
219
663
410
285
263
414
387
385
949
454
325
267
266
204
444
901
916
360
64
210
380
624
140
302
480
711
1015
642
201
542
429
879
458
484
544
390
70
365
984
460
856
43
654
40
948
648
946
679
16
197
495
360
954
399
421
659
514
994
812
705
244
54
558
549
499
325
628
66
999
2
329
937
788
199
705
90
855
896
51
598
563
750
601
342
202
277
549
17
938
880
96
51
636
273
553
716
944
265
877
151
307
146
366
806
817
395
296
267
64
754
867
261
844
597
873
154
292
775
470
333
1003
692
671
400
644
249
591
963
61
146
297
959
294
92
80
571
155
187
368
652
956
240
819
128
123
45
675
309
902
200
949
5
932
547
424
675
832
971
996
323
898
581
117
819
457
809
254
1015
292
795
243
511
266
729
124
435
738
513
303
40
991
539
129
526
786
551
883
934
880
330
356
5
32
991
143
478
1017
573
842
96
335
416
81
936
829
527
61
455
400
390
929
1018
914
1008
676
228
585
705
357
436
952
575
921
15
793
1013
560
983
739
317
783
502
10
1008
40
551
794
691
687
39
282
182
279
47
339
568
138
127
660
33
820
738
769
735
148
958
371
487
186
977
395
483
77
73
46
896
734
965
100
832
496
803
290
71
285
859
365
774
160
461
644
1020
370
398
634
728
54
186
526
839
722
377
386
307
218
841
255
196
682
82
21
24
395
557
17
971
134
20
0
946
226
69
499
540
180
209
805
649
460
504
414
50
565
876
37
845
4
343
730
370
209
287
983
809
905
55
526
484
411
28
319
618
440
856
918
163
514
45
18
536
596
437
224
85
396
226
179
2
185
838
873
583
642
409
506
671
800
461
269
690
969
644
719
390
45
778
219
693
693
317
794
931
1004
909
407
983
365
565
729
327
895
411
526
813
778
139
968
462
219
216
1017
153
905
670
69
189
499
1011
470
944
262
749
323
864
345
261
950
602
354
221
72
22
989
689
548
962
967
510
546
989
449
117
482
940
619
499
310
741
490
985
192
738
799
184
762
412
467
856
589
810
470
154
76
276
254
370
347
121
65
128
794
828
1021
248
965
906
960
206
903
310
417
286
713
247
499
635
149
246
560
896
120
49
264
954
713
881
620
468
145
540
869
686
190
635
2
655
98
614
985
53
369
689
401
548
494
636
78
255
654
502
863
716
744
430
434
754
352
762
151
583
369
866
605
107
182
134
14
339
113
305
819
654
604
450
255
262
483
445
58
768
726
818
290
650
477
148
91
575
973
359
423
497
715
15
909
208
521
973
258
3
915
73
764
967
533
79
305
664
441
91
114
634
589
375
385
410
619
541
591
212
556
172
410
763
543
153
463
521
254
40
691
774
61
283
1009
517
763
921
937
162
85
43
811
801
1022
438
904
887
883
258
693
772
559
336
380
203
666
758
265
76
778
42
929
315
371
63
503
37
748
986
424
217
46
278
809
830
670
390
580
403
691
777
169
244
468
797
545
561
355
870
958
715
680
183
265
561
50
107
869
821
434
269
860
814
707
797
914
275
144
457
356
711
500
324
1004
822
293
538
160
193
217
616
609
286
920
429
266
962
941
708
280
828
500
851
418
840
667
1023
598
894
134
156
367
3
913
308
523
111
760
495
253
487
798
318
263
358
421
659
103
198
703
128
543
56
994
71
555
307
67
1004
282
333
653
831
144
980
439
57
976
77
716
407
386
799
643
207
152
934
631
434
517
58
390
396
159
383
80
298
69
271
798
135
184
770
375
367
511
534
888
340
469
453
142
810
950
862
803
184
243
34
183
697
217
965
835
651
960
129
46
624
941
221
657
513
656
99
78
812
630
881
217
833
315
836
522
156
659
270
138
398
388
976
1023
930
347
640
336
960
243
518
280
321
733
781
897
481
751
852
386
737
755
1019
272
499
891
487
307
243
621
744
876
463
361
157
293
155
180
23
115
302
904
899
77
210
536
889
517
631
765
675
191
848
985
365
485
183
167
728
484
365
619
367
819
640
641
543
998
516
265
518
991
353
900
776
907
481
415
707
827
139
370
779
378
394
872
463
470
65
884
1011
963
483
696
951
272
306
517
391
431
372
90
174
121
572
371
232
818
688
265
48
825
227
750
596
834
549
871
615
175
35
731
744
39
879
587
943
874
561
798
368
147
138
592
538
67
182
159
323
1020
784
376
279
369
965
120
176
306
875
200
624
99
858
632
157
753
842
202
702
831
171
959
560
835
461
729
637
83
648
834
900
163
969
912
795
692
411
750
511
19
490
970
703
945
130
719
729
662
419
576
603
265
743
621
156
777
769
186
701
403
257
191
494
1007
277
167
691
81
291
238
712
602
461
403
730
813
303
98
126
234
881
843
663
588
948
535
31
17
463
279
869
951
167
642
240
706
136
175
169
357
538
97
784
86
255
37
122
131
735
226
728
543
107
443
333
878
596
174
877
970
193
9
418
993
531
873
808
373
194
665
311
109
139
86
1001
87
923
477
648
93
653
203
654
379
452
463
522
335
514
665
425
901
76
794
550
604
866
689
909
481
979
232
64
10
657
961
917
319
864
455
1014
469
605
176
765
310
230
580
299
82
983
12
873
52
746
110
615
703
779
906
208
687
405
0
1002
458
872
910
350
294
982
607
860
890
946
720
988
366
994
953
954
966
206
190
657
726
601
983
570
399
519
757
580
829
551
169
720
4
455
495
926
617
354
202
413
594
292
7
438
207
1017
357
752
577
909
2
661
765
548
496
565
129
1
439
766
361
473
523
574
721
240
22
739
322
931
853
257
361
402
267
896
344
332
48
491
662
891
1000
303
946
197
212
504
1004
873
858
519
527
469
966
606
553
646
95
9
816
971
6
382
565
76
771
558
745
982
606
716
109
862
890
721
58
313
622
938
668
938
345
717
413
685
525
606
64
250
826
758
526
123
267
632
258
985
503
389
590
614
6
886
650
101
551
643
873
586
561
138
121
41
755
576
403
26
740
432
303
786
629
361
151
314
602
254
152
132
951
469
268
104
498
165
240
845
322
783
84
343
998
612
721
257
958
165
273
853
115
791
544
714
1013
873
861
377
549
1009
467
374
1011
321
752
152
590
687
32
18
429
540
611
994
175
937
1
771
806
438
612
116
866
992
834
13
679
533
855
1015
239
783
59
798
489
207
620
743
244
376
396
763
632
645
246
199
146
434
479
615
622
414
438
808
305
1014
750
530
377
33
634
543
127
750
165
122
1005
832
7
709
420
344
67
88
88
794
476
346
699
218
541
179
162
130
465
464
965
785
327
678
43
890
162
408
748
355
265
889
696
847
320
500
237
46
739
354
935
610
361
361
861
787
771
660
479
13
1018
103
993
852
70
944
258
105
116
691
808
180
15
772
195
228
370
958
183
18
677
477
462
732
335
321
465
801
379
244
42
894
782
802
407
995
855
36
67
827
696
212
88
911
486
342
667
508
797
185
734
211
846
727
656
315
1018
465
432
136
24
598
488
19
656
730
821
631
708
532
231
700
649
732
752
666
16
523
32
265
596
368
848
641
616
19
127
3
808
121
668
38
230
837
38
106
187
972
909
700
545
855
475
1018
225
225
323
288
259
165
421
591
391
565
564
296
743
72
227
326
377
677
468
7
496
97
899
880
693
232
254
70
1021
806
344
911
792
446
603
989
306
509
205
685
174
459
25
30
165
327
147
707
847
343
688
262
868
454
118
101
401
498
77
615
731
228
704
383
432
784
838
215
237
894
232
370
342
752
568
52
924
1011
344
756
1022
171
249
979
590
730
534
176
503
180
15
843
565
909
715
625
545
926
457
1020
137
394
153
179
109
596
63
318
500
890
586
219
382
271
229
375
391
535
683
1
880
1005
914
967
460
1
817
78
116
626
655
0
117
900
37
320
412
290
598
495
613
131
625
36
979
828
89
781
250
841
277
597
554
657
356
288
28
820
4
755
386
661
732
610
441
913
264
653
122
699
912
73
94
962
617
858
351
886
185
988
132
668
721
632
680
617
898
521
932
666
215
291
939
41
645
1004
703
603
74
973
82
300
275
28
428
29
333
715
645
490
460
519
800
754
35
235
671
141
696
619
558
932
711
829
1015
493
121
1002
690
429
829
498
22
790
996
704
413
320
837
764
720
618
620
745
1020
498
922
377
889
245
562
199
94
336
1000
752
98
578
934
660
461
336
805
989
275
172
852
235
417
663
7
860
826
387
326
362
863
344
248
413
392
775
48
643
415
986
499
305
165
901
926
749
95
495
754
210
514
931
965
49
785
47
838
766
95
309
540
752
248
657
949
93
738
177
146
454
331
867
330
392
1006
578
367
432
544
298
267
678
842
426
23
878
1013
580
389
357
267
844
133
870
800
788
320
475
652
349
600
943
891
224
960
451
552
830
511
1008
652
594
1009
751
185
57
298
593
732
993
566
282
942
307
57
790
55
77
229
506
896
359
1004
911
576
665
906
407
95
1013
600
753
40
200
285
830
37
270
422
688
601
360
531
469
905
917
549
650
494
702
558
229
408
582
968
1014
823
959
57
742
709
46
798
365
930
737
443
772
341
800
551
60
167
705
511
554
216
181
288
604
298
1007
647
176
937
680
899
238
157
19
12
311
25
195
387
271
722
628
569
983
802
486
391
257
781
967
575
286
693
32
820
144
419
518
654
386
545
941
145
510
795
422
752
407
259
306
525
740
18
691
468
183
913
150
277
746
865
1015
959
916
53
87
975
262
819
348
470
326
1010
855
938
589
409
794
54
346
417
238
737
924
930
682
25
727
36
767
950
148
322
1018
198
311
876
9
851
823
249
670
956
781
864
779
775
437
684
759
630
951
211
494
583
519
957
714
206
150
313
421
478
295
291
631
816
336
328
819
370
699
943
1020
676
192
444
197
823
56
231
434
986
253
725
488
482
51
1014
309
185
146
921
600
889
929
597
431
590
156
695
794
287
10
168
63
744
350
186
357
773
549
362
903
552
863
908
532
693
317
921
360
80
145
968
232
958
895
815
78
757
753
729
415
355
414
609
698
804
212
376
834
462
64
710
78
26
765
662
83
571
493
910
327
900
212
460
342
247
128
242
16
257
627
110
146
278
749
314
276
880
384
141
356
953
823
968
295
564
956
303
551
927
923
321
998
419
305
513
450
446
416
92
201
290
847
240
387
542
442
345
483
495
866
786
899
604
624
1004
337
428
677
29
56
150
783
394
238
502
500
712
456
254
123
163
890
625
486
86
188
351
585
171
993
672
490
562
43
543
842
1003
13
1002
684
290
351
812
495
441
982
791
612
856
164
773
863
944
708
388
302
436
359
895
502
558
268
151
270
583
242
839
647
631
844
172
251
61
1016
59
315
913
674
509
451
198
154
262
299
926
670
142
608
109
1001
866
748
585
759
479
141
415
606
911
337
337
292
17
662
904
248
1022
686
357
144
462
450
803
726
83
512
285
83
50
667
167
707
136
849
763
277
269
312
450
339
536
598
644
976
702
515
61
951
733
802
682
228
669
276
388
621
6
66
250
178
652
748
382
667
1013
778
240
535
113
421
887
435
266
10
529
573
956
454
496
330
949
216
648
44
343
234
207
365
672
399
609
787
999
191
955
319
411
519
23
729
341
499
440
371
96
805
273
820
433
547
606
707
374
816
718
792
192
149
1023
580
330
860
400
329
689
566
533
622
822
290
779
202
118
938
860
926
542
217
97
923
421
475
157
820
610
340
510
524
389
636
306
254
561
307
389
839
833
684
446
330
930
846
1008
119
207
422
67
286
836
996
83
87
396
928
592
256
984
834
230
571
317
961
969
423
493
570
439
48
61
365
126
83
715
554
1010
998
4
624
748
170
1010
454
37
403
761
248
554
475
375
451
936
640
688
723
491
266
739
696
763
374
926
118
686
371
298
309
475
656
943
151
725
534
85
790
527
380
451
799
220
483
129
878
551
415
854
678
219
666
557
1019
661
717
502
6
687
468
684
760
102
714
767
673
221
778
91
466
820
155
366
23
297
885
105
49
851
234
382
559
207
895
292
950
900
720
207
98
444
436
482
99
792
1014
800
945
944
333
664
388
430
500
694
398
55
448
762
633
870
413
545
512
649
879
793
68
445
829
168
433
754
430
627
55
631
363
67
334
869
847
828
131
167
886
260
18
3
491
994
1004
152
311
642
669
507
265
264
882
443
592
109
771
911
190
685
465
379
389
559
807
95
778
545
218
133
614
358
119
70
316
895
402
451
881
765
198
997
192
509
927
290
582
365
978
989
482
183
521
900
632
270
307
172
618
382
338
280
544
307
588
877
430
864
219
196
866
440
12
240
965
94
448
784
178
929
873
415
325
464
741
229
495
209
64
364
495
571
435
613
429
13
744
144
663
235
713
501
521
978
84
727
1007
982
263
720
715
311
697
54
209
535
87
743
6
711
951
98
644
83
1010
724
925
320
855
847
948
8
446
45
41
1013
812
624
92
480
874
548
352
314
327
471
820
337
608
375
969
543
74
776
802
65
836
767
42
167
254
330
189
636
948
488
617
546
344
176
39
201
649
978
27
462
270
565
507
623
613
1013
412
990
586
772
274
714
193
95
685
929
410
910
858
634
81
832
507
246
791
420
546
139
589
463
609
114
800
222
598
336
217
396
939
749
142
315
719
367
265
114
478
800
109
229
865
824
936
613
175
603
990
105
340
681
850
213
52
609
561
483
948
673
148
476
789
974
94
609
236
561
908
574
536
673
717
1017
215
124
362
657
472
291
185
994
526
996
31
955
435
327
216
280
292
47
898
724
397
831
467
508
26
861
911
218
374
208
605
473
375
74
805
33
808
822
740
480
729
311
337
359
290
296
428
417
297
349
748
340
132
798
755
146
243
329
532
665
622
267
151
440
665
225
652
300
703
393
517
697
333
390
481
174
321
44
292
123
459
93
127
621
346
457
614
879
290
917
876
742
917
503
806
11
563
1001
577
295
67
69
111
912
972
853
185
722
165
213
807
916
1013
349
747
679
20
850
477
846
469
822
712
670
60
723
106
864
431
936
482
838
953
563
714
828
110
34
818
267
151
26
134
335
81
362
825
547
667
418
980
291
859
764
188
516
641
322
415
666
502
336
581
652
297
306
988
655
595
633
322
53
686
468
415
584
140
211
1
125
882
972
254
802
637
958
222
585
425
631
419
691
975
507
239
1006
196
961
973
608
354
721
291
94
103
414
551
476
424
955
143
665
986
611
870
723
271
57
126
899
265
491
645
1015
801
293
816
457
128
522
844
426
417
486
711
542
451
177
867
858
548
575
577
51
507
738
121
1012
766
172
698
671
222
916
26
85
272
535
214
129
337
812
1008
41
481
491
337
662
1004
46
822
844
662
385
45
315
51
272
718
161
852
708
412
901
676
549
829
64
919
848
239
1011
719
389
324
456
179
115
583
753
1015
857
858
777
219
631
562
882
396
31
832
564
524
679
672
16
1003
685
877
217
545
852
728
835
915
481
86
375
379
425
488
748
780
512
787
259
166
230
687
821
19
874
921
732
438
500
423
151
185
421
929
464
103
926
838
545
126
585
154
739
486
855
596
538
506
881
723
529
411
945
451
851
846
1019
459
163
875
60
978
255
156
246
311
355
273
777
725
593
744
707
974
147
974
673
920
237
902
824
75
814
219
523
693
817
332
150
864
453
258
262
788
230
428
91
598
404
320
162
804
205
721
794
266
546
188
460
543
457
153
1000
606
589
87
742
275
863
189
993
854
997
759
581
543
1
413
192
141
85
776
98
323
200
164
939
954
690
23
595
128
692
634
794
442
247
90
342
569
501
766
435
2
137
865
633
365
904
16
516
542
196
519
1011
780
646
647
234
849
555
781
479
128
92
150
672
323
649
819
148
738
688
116
32
606
489
491
864
695
648
644
384
787
425
202
931
502
404
344
373
226
486
930
195
50
378
573
17
443
1013
2
437
184
361
599
392
964
663
616
171
675
41
237
70
236
21
146
176
269
565
940
1022
947
646
551
1013
304
1016
397
157
954
917
630
350
907
467
694
553
786
852
132
14
633
534
249
82
161
195
779
564
525
238
343
709
932
860
367
111
827
799
995
766
704
374
878
345
664
55
77
307
250
864
792
392
984
349
569
332
659
309
866
577
266
631
158
207
83
131
485
718
448
524
824
121
648
788
232
124
867
393
237
742
242
634
243
55
683
423
820
546
1015
58
71
965
401
1
840
745
831
438
557
902
849
395
439
529
393
692
809
21
998
686
900
618
162
586
12
4
997
291
518
998
232
641
648
609
629
391
720
506
686
236
13
121
202
688
554
959
956
125
487
875
135
156
817
268
530
360
665
130
244
219
410
111
515
307
1012
671
97
1022
178
966
36
529
986
651
135
156
126
206
491
270
577
573
490
203
332
368
229
555
893
349
199
329
50
973
48
672
917
354
286
505
333
735
542
580
660
366
677
875
118
378
136
992
675
811
433
1004
236
192
971
698
191
440
418
386
555
239
124
1023
504
525
768
993
741
8
910
569
831
1003
619
116
651
521
928
920
72
388
336
70
868
955
534
731
325
163
470
515
921
904
89
939
156
971
922
828
748
241
3
86
196
437
703
421
713
231
272
197
221
433
436
934
62
466
357
282
462
327
595
511
490
511
794
339
891
10
682
243
938
569
175
701
5
766
795
823
106
910
701
788
7
462
187
699
680
297
74
559
482
405
36
914
364
717
864
81
959
379
11
996
780
753
568
635
371
124
173
617
832
673
297
6
31
602
395
369
604
203
490
626
1018
598
225
162
640
301
491
705
901
853
900
684
221
182
712
741
18
526
243
788
329
367
904
558
627
867
704
319
254
179
58
24
967
221
432
598
321
822
452
983
87
260
437
390
891
496
219
831
18
347
152
642
368
404
1007
971
866
307
534
189
414
501
856
27
588
432
64
725
703
675
15
919
110
138
31
380
562
139
101
527
434
534
120
468
698
229
189
941
886
1003
34
115
788
132
775
191
513
401
427
948
683
376
580
302
591
252
746
693
459
134
407
554
404
235
955
1022
942
800
342
92
333
897
682
235
94
763
759
12
624
711
421
219
87
824
991
708
51
680
212
684
689
399
516
462
1020
778
528
336
176
232
967
796
960
33
666
334
36
832
619
345
198
894
908
488
379
983
805
818
924
731
459
546
328
683
385
864
46
860
198
204
639
126
769
558
686
215
985
654
460
135
966
118
864
691
927
506
701
872
815
742
404
762
742
556
499
619
911
667
1003
842
881
208
214
102
744
430
713
758
67
363
438
341
42
838
217
550
820
349
163
116
264
148
209
895
412
609
755
11
343
661
579
493
1014
90
580
855
215
566
538
809
653
708
425
754
511
630
648
827
316
856
412
797
294
694
561
27
63
173
819
649
370
928
29
273
84
230
824
266
481
453
951
557
403
284
992
372
872
176
289
440
668
604
205
677
681
936
290
358
213
233
345
731
860
1023
1020
936
167
990
683
326
882
854
1017
406
413
916
1009
253
284
489
643
176
468
341
150
859
101
840
477
278
991
373
92
139
721
384
460
925
58
383
38
561
941
800
465
618
364
174
794
569
170
531
575
613
187
379
852
850
243
361
562
63
240
573
741
376
104
137
41
997
547
753
709
411
660
374
202
440
983
681
192
883
284
485
900
947
143
136
591
705
822
420
598
518
503
804
975
745
103
526
53
148
887
485
42
402
717
890
566
88
831
416
686
963
420
937
961
919
331
24
492
955
34
141
308
873
210
868
456
960
739
558
695
764
391
461
592
390
619
980
93
991
135
691
1018
160
635
612
483
837
566
996
433
392
703
815
716
282
638
530
736
157
804
126
747
465
87
4
931
884
563
336
542
961
40
531
1002
862
866
881
676
293
115
657
604
41
341
323
191
978
885
374
118
590
229
277
988
15
584
82
935
624
125
1007
584
688
987
547
577
272
834
829
826
327
144
277
56
441
31
772
1021
577
167
724
679
442
830
508
162
485
515
597
778
217
318
182
521
916
249
231
321
676
730
493
1018
204
461
520
692
982
175
435
361
294
155
777
834
476
682
786
212
920
334
631
421
557
20
878
297
271
415
691
795
410
451
855
155
549
127
599
531
929
42
220
1009
629
294
884
402
123
876
610
343
703
317
28
851
336
537
517
268
344
961
868
132
593
415
241
397
924
140
698
492
670
775
453
542
926
446
78
800
437
322
555
312
124
441
6
870
646
136
531
513
5
692
250
925
631
172
568
748
347
723
10
312
615
732
646
315
499
469
861
967
535
943
1011
1006
897
150
733
947
621
281
24
132
821
230
461
905
999
588
823
929
241
339
961
764
802
534
996
614
743
461
943
321
57
665
208
385
169
265
552
495
825
613
457
880
368
187
592
862
428
590
623
599
908
982
446
32
848
559
793
485
67
211
501
270
181
728
563
901
982
102
154
70
527
78
167
407
167
277
494
376
493
388
288
521
361
942
146
215
68
637
718
648
447
323
796
10
818
390
534
282
933
234
853
755
454
281
342
397
175
1001
642
940
699
327
685
659
584
504
410
151
43
721
168
749
399
225
117
119
316
897
751
698
37
784
344
274
888
59
15
4
361
775
540
400
524
165
537
160
568
432
1005
400
339
346
107
139
948
46
280
252
269
992
836
11
3
878
228
398
457
932
764
227
250
767
381
881
576
1013
690
994
826
432
47
165
233
612
470
90
658
697
589
64
499
995
959
285
667
840
543
114
416
859
856
406
825
776
663
340
268
134
884
811
566
203
912
606
1001
80
920
153
105
815
1012
304
511
979
58
877
178
110
456
826
152
326
1017
943
940
634
133
400
26
247
547
350
335
39
782
770
166
961
75
897
57
416
545
1015
480
720
485
554
452
2
650
1019
1010
232
899
644
345
595
480
918
816
168
407
807
910
912
752
506
179
534
360
158
874
336
124
573
383
840
940
425
360
929
372
435
33
596
126
420
505
362
760
338
48
915
111
365
380
274
788
53
101
372
183
471
360
158
356
731
597
597
903
533
993
14
556
726
598
834
148
880
595
293
259
97
485
701
417
938
123
970
531
233
211
739
618
254
325
243
659
216
147
824
457
543
268
26
907
698
20
498
675
701
175
878
955
433
74
972
848
869
472
327
555
178
946
216
318
118
312
893
871
453
657
949
154
1013
939
764
189
972
366
977
894
706
921
157
317
129
208
616
179
406
789
192
46
63
14
247
41
190
35
1009
105
237
539
157
424
970
613
918
298
515
840
314
752
695
144
337
454
835
345
107
304
980
370
741
233
519
342
168
866
689
812
489
544
184
780
175
404
337
813
659
102
508
837
100
271
660
203
626
329
119
822
210
841
511
479
354
919
556
370
770
816
179
367
971
538
428
317
248
559
997
650
683
400
165
1004
859
173
113
445
109
449
234
474
876
202
192
618
52
81
205
812
839
825
644
533
263
49
894
547
123
8
940
662
233
996
237
478
43
966
981
849
847
378
774
85
169
247
604
424
531
960
798
204
287
266
129
856
654
39
819
556
921
554
656
591
875
863
173
498
503
654
190
445
79
426
455
18
159
166
976
776
401
491
580
212
110
689
346
90
579
561
97
84
509
255
510
506
615
497
555
640
953
295
485
521
518
640
814
645
831
491
77
137
583
22
283
952
197
305
100
394
517
961
887
356
26
677
246
892
533
431
799
891
790
711
128
858
626
798
8
909
1004
405
701
511
878
615
891
242
956
535
889
455
895
509
279
816
74
46
356
402
783
84
699
632
232
704
107
846
368
902
947
889
989
348
533
866
632
849
551
704
445
710
357
478
33
963
80
937
102
97
304
80
564
263
71
159
802
809
649
275
535
142
342
861
550
839
608
219
737
876
494
176
590
1000
293
726
481
413
523
1013
1012
467
1006
714
491
317
278
888
69
953
201
954
407
358
618
759
982
315
544
152
113
827
123
202
559
618
35
986
732
977
641
130
900
987
954
35
1020
299
490
854
938
1009
658
723
251
45
445
396
620
871
210
130
183
645
255
285
464
282
67
453
932
404
700
239
684
447
305
277
478
6
108
705
80
682
437
667
169
122
281
988
163
409
1017
758
496
995
390
317
842
52
600
722
174
143
720
901
483
349
963
225
330
293
730
137
745
335
399
341
703
988
897
307
854
673
55
580
95
844
864
334
587
977
1021
919
782
233
940
674
397
769
623
207
985
997
538
358
475
454
710
386
388
793
721
534
464
254
584
1015
152
839
183
783
375
653
537
98
1016
353
90
600
387
824
621
508
878
827
889
227
33
606
397
451
1022
273
625
755
26
356
925
950
289
895
713
67
897
589
328
557
13
330
150
562
729
752
152
1019
948
781
822
978
90
32
963
640
692
867
266
949
778
753
457
98
342
437
354
706
322
869
270
120
429
249
834
625
184
394
146
821
849
448
102
550
134
850
665
438
554
749
836
844
285
411
302
335
13
219
898
312
978
786
807
392
914
163
885
548
660
236
180
315
365
894
51
399
555
689
272
165
867
1010
764
842
276
1004
438
897
883
519
697
88
409
43
492
573
244
951
564
731
901
263
212
542
522
115
759
99
809
84
23
652
870
227
446
479
27
748
175
787
915
139
926
266
841
528
641
334
535
143
107
1015
645
881
806
945
996
164
313
577
774
944
618
322
456
139
771
341
600
527
820
940
508
503
410
105
237
312
906
987
869
120
501
316
829
292
24
544
391
536
196
216
937
425
817
1013
685
723
759
668
439
838
38
110
400
980
325
903
359
385
897
43
560
120
614
895
1014
759
162
22
206
896
911
221
13
184
916
880
643
374
1012
620
1015
744
411
963
230
773
436
641
465
388
68
845
807
990
985
728
238
587
3
523
47
155
68
997
745
286
638
855
842
669
105
580
287
138
956
127
849
98
169
877
220
61
286
508
906
634
89
702
580
608
344
1011
361
928
198
656
756
25
995
796
17
650
453
688
406
905
605
347
544
764
20
333
368
868
785
127
13
164
672
491
661
888
958
573
832
934
373
939
436
548
432
109
635
838
418
906
591
182
505
593
592
709
17
863
564
468
28
147
293
626
401
423
508
248
241
768
442
323
53
727
900
328
696
170
223
675
808
573
533
713
92
1020
745
804
2
897
51
876
555
172
979
680
792
685
502
752
91
680
390
205
844
1000
383
13
633
755
831
51
980
890
477
551
959
83
953
756
233
857
726
989
314
1018
977
914
970
967
464
92
832
889
816
69
658
852
569
868
494
851
353
879
2
925
861
268
414
741
1018
571
628
953
299
830
102
423
181
597
909
600
591
46
66
689
109
674
793
356
711
21
648
385
686
551
506
191
939
319
539
1010
143
60
567
600
284
497
384
410
38
390
720
58
986
163
648
797
952
990
1002
970
132
610
136
45
269
283
730
773
275
97
155
378
610
795
65
386
766
302
706
831
694
653
14
507
602
677
619
70
280
665
724
25
830
67
281
429
534
768
256
1005
884
13
79
183
172
1003
81
984
43
971
437
942
554
963
26
937
1016
893
377
479
72
638
166
829
406
920
351
322
250
924
459
14
1008
491
393
310
220
840
194
864
152
629
841
30
922
761
135
936
944
372
35
962
880
237
63
900
841
522
985
488
625
1000
289
136
101
836
708
329
556
612
744
9
643
414
251
932
667
113
789
307
156
197
1014
331
285
153
399
656
1005
872
58
994
253
932
611
710
830
802
567
745
793
374
669
410
478
147
946
402
265
939
686
175
288
787
430
740
990
192
239
523
966
371
617
841
60
771
533
626
972
247
473
281
225
559
915
956
834
314
742
783
329
510
124
558
895
957
562
357
119
658
755
677
505
758
832
862
913
846
740
937
345
1001
178
731
389
700
857
672
909
1001
746
869
210
36
320
447
671
814
529
328
966
473
441
778
714
590
333
616
428
637
851
464
768
414
609
951
28
985
520
71
559
28
122
807
864
566
620
303
180
725
18
239
884
816
641
424
655
714
260
384
687
408
181
224
750
188
412
390
153
139
714
451
421
44
193
734
361
413
260
978
651
890
989
159
371
175
306
954
393
420
209
166
805
696
477
235
990
556
50
866
856
927
496
839
137
111
636
542
330
923
794
975
590
860
598
842
688
476
131
222
727
358
412
724
969
859
169
368
949
616
589
669
602
130
2
676
456
964
80
841
753
827
374
963
651
816
647
270
879
45
752
895
756
527
23
347
391
456
535
804
280
612
962
327
76
295
412
511
734
995
440
210
932
1009
38
737
645
880
895
606
824
813
369
768
545
119
472
874
1009
763
11
468
766
969
44
723
59
112
674
259
920
654
275
842
844
431
266
696
333
481
596
869
597
435
581
744
922
935
789
651
104
458
593
15
29
441
506
701
928
247
929
736
506
269
865
1006
258
961
350
453
546
899
582
525
865
437
758
955
486
306
326
138
753
577
637
796
115
851
484
818
684
421
85
75
527
583
351
153
993
457
847
952
932
129
127
633
663
455
561
440
54
904
634
1013
319
384
22
970
770
1014
473
257
826
863
800
1020
602
520
914
902
165
96
930
464
205
437
389
906
787
972
1015
909
490
511
238
911
712
89
281
55
750
367
249
616
669
640
371
366
85
943
914
344
118
749
621
956
36
935
543
265
311
543
230
88
34
812
334
474
673
108
740
775
139
729
52
665
205
809
392
746
53
962
626
43
857
599
114
38
526
840
166
979
307
867
845
543
898
516
327
396
378
178
492
576
543
299
266
180
681
261
826
29
267
258
904
871
416
724
458
765
941
297
190
55
315
430
563
182
25
848
799
585
1010
341
451
75
115
240
457
679
70
185
600
498
967
737
1011
232
305
732
940
440
848
385
152
84
438
58
113
149
687
851
606
654
331
881
631
88
316
858
949
474
113
408
906
560
388
681
770
402
337
215
982
153
38
914
646
426
685
806
108
380
34
975
1021
193
911
896
991
822
300
909
599
220
420
714
303
577
829
364
74
844
912
6
389
448
247
321
482
396
573
85
536
857
815
224
238
426
779
770
177
94
978
511
117
123
902
741
978
368
583
847
679
272
240
650
158
425
597
960
124
211
138
175
730
477
856
375
177
858
317
845
701
917
979
438
782
4
453
279
85
583
632
773
858
4
891
371
877
889
227
62
623
143
587
356
814
645
411
261
33
297
843
863
479
791
561
387
649
707
903
590
813
566
428
793
58
330
843
650
418
115
284
677
523
568
56
921
968
333
70
772
59
198
889
197
747
68
14
872
685
936
195
126
464
276
856
435
150
897
58
94
29
98
33
331
105
603
285
715
446
851
782
569
632
304
462
126
1009
36
780
867
724
906
896
556
872
520
943
389
279
640
603
550
511
280
830
318
825
727
991
923
282
997
965
537
433
314
238
134
292
210
114
996
770
458
906
171
150
929
336
232
603
868
507
441
875
812
981
145
767
376
196
127
866
697
886
784
688
266
105
784
262
421
104
760
576
189
439
378
675
199
658
806
178
768
777
977
361
71
374
864
353
360
97
715
98
971
56
763
815
475
1005
657
572
927
66
768
114
440
573
692
671
273
535
226
277
241
212
1017
990
179
151
336
258
904
192
446
735
685
286
353
897
184
422
13
840
826
284
354
123
514
841
705
596
111
246
699
187
574
747
613
252
526
117
744
721
242
343
805
988
487
691
687
783
552
470
157
440
960
60
206
244
127
928
722
824
662
82
898
983
838
37
270
981
82
679
145
287
833
475
730
120
390
802
28
469
358
444
239
936
496
781
304
769
530
1001
988
309
640
516
745
292
125
368
520
389
913
614
310
762
164
96
168
245
359
276
596
316
169
278
707
379
245
847
288
525
230
769
728
448
754
235
339
651
802
547
734
721
870
34
84
122
300
232
980
907
181
410
86
386
18
413
122
860
943
323
919
711
822
436
545
601
893
530
904
658
414
530
86
734
639
180
765
176
118
12
439
323
457
444
528
495
105
559
945
453
701
564
97
754
704
327
1018
263
78
277
47
588
138
838
253
25
179
121
564
539
427
222
459
878
591
170
830
912
713
477
90
63
613
717
734
486
601
63
720
234
395
326
679
766
415
1021
373
469
355
721
392
829
116
446
786
838
426
587
95
719
385
552
917
955
744
339
810
571
276
118
204
62
983
712
443
33
607
476
468
165
877
1022
147
812
738
269
808
435
571
885
914
989
671
586
590
556
823
947
703
373
421
520
978
57
594
598
112
820
700
454
277
188
58
567
738
278
910
594
415
645
32
430
1011
371
919
915
78
675
1006
329
829
988
54
629
598
30
791
362
546
779
891
540
849
171
450
378
711
837
836
948
277
658
83
243
730
445
648
732
394
497
968
970
24
447
295
940
732
201
500
68
736
273
469
842
21
332
229
600
904
640
534
27
461
500
739
77
716
677
8
608
164
958
826
897
731
667
164
803
371
2
204
806
383
896
779
889
17
960
484
739
487
750
800
668
645
336
736
849
596
549
1007
541
393
513
186
156
722
937
169
1001
1002
342
213
776
672
414
13
587
284
89
735
1014
185
967
773
15
989
967
680
337
766
27
658
549
721
370
267
867
799
958
325
285
728
243
841
942
132
621
890
786
1000
590
342
798
951
89
115
399
630
1004
249
333
252
483
904
976
639
797
73
181
797
690
10
173
235
923
71
202
829
847
601
540
620
951
589
192
851
221
438
889
807
421
569
466
758
749
223
597
599
231
754
662
718
986
256
117
1001
843
933
819
526
34
426
210
299
920
651
128
853
670
861
534
130
423
859
478
445
901
567
226
834
163
748
874
464
32
856
366
40
572
24
996
631
625
407
647
207
147
636
98
41
560
367
646
701
283
690
180
561
620
755
126
174
399
484
236
997
451
202
563
30
322
35
22
940
687
376
313
1012
305
293
277
511
166
296
649
61
454
714
375
975
656
953
1008
312
116
19
139
248
216
408
111
34
372
828
75
954
348
776
743
116
465
281
464
857
903
957
762
84
966
612
327
762
860
566
623
657
575
417
96
513
815
579
200
507
828
314
572
98
796
389
171
640
49
245
900
112
455
407
73
68
398
998
526
609
401
225
323
157
699
731
249
523
234
861
886
85
181
959
463
520
329
719
907
935
607
786
225
576
867
367
717
276
612
60
387
416
1002
706
957
397
546
103
455
26
157
728
150
534
331
373
441
444
380
150
60
757
622
294
171
603
61
789
818
590
864
735
604
363
1010
977
42
762
774
435
895
763
281
576
81
268
683
213
808
9
447
878
794
900
719
544
354
203
71
984
499
381
387
891
173
438
400
238
866
252
269
686
444
63
970
446
804
713
989
732
563
735
644
128
245
799
476
759
508
758
258
556
728
710
339
145
555
366
189
415
793
904
37
223
492
74
60
691
272
847
833
234
557
791
247
604
22
291
100
626
874
394
554
929
802
386
428
333
220
664
900
37
657
349
348
916
255
657
672
351
972
438
805
511
167
35
388
623
781
638
870
291
799
360
533
65
231
640
153
793
663
931
823
835
381
50
239
704
617
812
849
666
890
166
986
393
150
429
250
282
792
976
1021
942
771
563
453
586
321
144
297
905
294
57
670
996
697
925
297
15
409
277
637
608
697
234
68
380
366
299
161
177
107
417
377
1023
867
96
483
487
780
787
414
439
1022
106
312
135
891
227
407
726
44
378
217
949
500
151
374
789
203
704
884
648
508
38
596
80
562
630
676
68
142
396
604
259
591
437
855
899
506
888
286
331
392
901
756
373
595
37
292
236
859
681
534
316
321
973
937
178
986
804
851
762
468
971
482
918
797
411
573
516
964
624
747
893
215
1016
694
670
401
784
956
697
958
158
365
852
547
348
350
70
49
1004
555
265
424
192
799
370
105
674
453
715
804
364
743
523
628
501
54
337
137
495
177
287
1003
166
481
368
872
834
612
558
778
506
939
926
341
737
450
333
474
847
983
270
423
933
993
275
241
816
310
258
868
506
849
887
406
997
330
178
317
973
357
795
368
547
682
43
453
500
621
482
808
618
922
628
77
856
723
816
531
752
548
126
293
383
579
445
578
783
595
648
530
1012
881
848
878
701
621
249
584
762
498
397
29
796
213
187
829
128
1010
287
822
447
341
982
902
580
245
257
13
415
952
151
80
600
539
578
256
509
467
497
25
214
467
157
212
305
323
849
397
935
73
177
940
527
825
998
660
252
15
41
621
138
34
600
643
445
819
649
481
671
736
607
402
127
160
299
488
947
33
873
413
921
918
451
755
249
926
353
963
985
574
460
9
943
521
874
710
876
980
475
833
749
353
368
496
926
385
985
217
984
242
574
138
693
853
150
402
371
42
444
44
826
657
273
993
712
27
292
749
459
294
758
473
700
682
455
612
539
544
969
500
915
242
102
900
731
604
98
403
352
466
205
399
169
392
132
103
72
57
354
787
720
952
216
812
376
136
686
978
610
573
335
204
772
370
868
671
833
42
881
382
272
649
995
832
766
438
413
124
223
258
521
415
859
422
685
851
378
4
610
293
79
53
216
294
769
47
1012
314
617
873
173
753
418
264
650
723
68
574
383
946
415
564
302
821
884
972
863
869
158
669
69
797
20
1022
969
785
1008
692
144
629
651
74
79
302
151
785
959
334
435
699
768
452
115
31
883
262
397
246
3
782
630
412
360
38
860
907
738
168
455
236
467
713
893
454
287
347
886
585
642
601
653
966
497
464
574
991
223
313
844
253
889
223
514
770
16
76
49
970
87
295
259
737
858
23
455
893
744
243
222
412
955
46
306
160
408
71
659
859
228
300
667
752
750
120
552
852
866
237
723
214
754
277
10
124
922
769
96
422
744
260
410
464
117
434
942
844
243
821
595
706
667
866
300
474
459
729
374
840
760
701
583
468
632
956
973
715
262
878
920
485
143
571
760
399
488
847
567
241
384
321
824
648
696
603
585
141
76
835
478
581
1014
550
905
281
981
736
97
863
321
654
131
615
791
256
97
599
953
407
713
647
201
918
926
27
833
512
350
94
272
356
138
334
836
428
288
800
76
445
425
418
995
794
928
188
493
295
185
787
491
458
832
395
741
185
99
458
241
97
803
806
574
233
61
740
742
402
632
350
654
803
589
635
504
511
618
382
972
136
37
168
468
580
907
906
359
878
186
157
584
892
961
581
180
280
661
149
682
598
895
214
434
313
895
833
124
225
961
597
100
28
906
539
554
134
569
188
523
741
58
116
467
149
15
338
183
616
249
269
601
177
54
343
481
688
798
633
84
902
644
952
920
593
655
707
719
327
248
911
352
880
1011
711
607
521
84
894
302
604
705
326
466
418
619
470
547
406
269
937
219
645
325
626
94
586
385
258
830
851
298
551
282
72
250
539
74
923
622
558
346
53
298
47
816
882
337
20
93
292
74
667
627
185
788
591
850
816
653
293
412
345
258
757
513
223
566
312
532
716
484
792
582
138
624
887
774
328
205
703
512
856
180
148
674
204
553
914
513
782
339
651
416
63
332
765
831
715
119
413
197
48
968
537
790
39
159
18
222
510
430
654
598
281
880
795
209
431
129
925
384
69
224
512
975
900
755
289
783
531
769
922
390
1021
738
286
921
1015
439
998
957
101
544
126
950
539
315
98
208
710
137
624
864
405
808
816
809
512
449
742
248
387
913
506
884
764
363
657
790
538
918
423
2
779
892
673
852
1022
449
914
750
692
684
122
463
210
983
517
857
262
940
185
115
625
98
671
690
1001
726
795
212
526
99
763
404
933
701
16
135
648
821
654
686
556
451
777
221
87
379
653
925
651
803
275
206
157
289
787
920
194
798
653
415
930
310
873
184
941
697
287
600
675
1014
651
637
236
782
472
520
3
211
343
501
63
15
283
641
606
201
809
978
843
519
503
369
328
386
4
890
645
520
924
874
689
121
703
1011
930
964
891
322
763
167
56
284
417
804
615
267
593
545
1017
484
12
621
212
647
50
717
32
850
243
741
778
324
578
588
1010
604
553
323
268
439
723
567
875
11
879
663
439
118
359
634
949
317
614
418
457
21
772
268
360
759
518
961
159
862
476
574
34
521
747
69
378
340
106
868
11
131
900
236
229
195
514
241
306
962
311
696
836
122
93
595
65
783
862
406
340
535
9
55
234
379
51
136
878
715
97
806
541
367
565
944
154
195
934
1000
199
563
718
294
689
5
253
353
57
537
270
533
887
122
300
407
83
848
872
110
280
203
88
858
26
11
149
300
137
323
624
401
534
687
483
524
382
436
900
935
405
273
437
61
867
946
711
343
101
395
819
399
180
344
232
545
152
28
216
394
742
447
1006
144
1010
202
27
563
156
842
179
49
999
792
833
1010
541
882
387
336
332
864
749
267
182
751
412
873
165
838
252
515
561
37
323
521
266
529
259
534
819
5
175
310
112
538
342
62
349
791
973
633
969
316
993
98
595
55
448
700
669
371
751
115
347
391
670
789
339
894
974
252
241
22
376
98
706
510
396
977
393
217
257
914
310
265
210
542
774
94
805
746
4
467
797
541
374
170
358
957
102
233
912
441
550
143
834
450
317
129
371
108
693
137
831
984
777
406
916
457
793
121
586
457
872
807
210
852
544
574
836
418
283
699
880
271
46
905
911
1021
940
168
392
499
265
657
454
439
499
829
572
563
972
738
551
718
765
520
861
650
738
630
484
783
28
397
776
262
806
63
645
404
924
824
360
134
942
311
808
369
84
908
219
974
43
631
673
917
819
410
167
262
576
105
590
90
705
93
583
387
753
631
368
402
831
179
496
380
863
118
574
869
127
977
1000
467
536
1014
609
630
708
855
308
1008
660
234
433
431
385
394
545
596
564
950
950
595
294
926
613
284
440
486
830
561
807
564
618
379
496
696
897
447
293
78
841
695
520
143
1005
995
421
395
818
487
752
462
185
770
435
718
702
310
188
991
151
808
385
508
617
191
389
872
71
359
874
322
151
838
938
860
407
898
791
317
160
430
829
751
784
988
618
12
91
765
89
583
407
890
581
588
751
531
568
611
351
432
140
786
989
926
93
793
145
472
208
892
429
982
330
824
88
476
291
599
507
660
271
212
433
44
636
142
908
534
144
941
442
778
570
623
128
322
268
164
1010
903
932
362
882
302
478
599
735
793
414
0
376
293
960
604
448
157
419
508
864
533
601
905
703
135
379
645
49
247
202
400
406
868
447
76
786
209
418
458
442
525
1005
324
595
883
940
395
66
797
135
941
260
88
163
229
911
1000
14
930
189
630
497
661
684
104
220
697
397
932
568
313
917
323
79
297
918
96
99
212
144
718
518
199
3
435
1020
65
561
43
342
640
718
533
798
539
800
706
176
847
767
14
254
414
830
423
1014
179
669
316
931
353
686
203
688
158
600
805
493
375
799
466
786
840
354
52
108
650
120
451
503
1001
278
787
475
976
848
993
815
327
880
89
157
118
394
823
550
739
666
874
631
658
25
387
68
458
433
968
93
599
302
1009
909
193
948
983
119
1009
851
972
746
215
510
223
901
890
424
126
821
182
315
255
161
910
895
258
64
708
761
510
840
1010
647
380
645
463
168
658
524
420
695
613
904
591
168
407
888
665
992
38
535
1021
906
699
449
347
124
698
468
736
396
848
953
211
492
245
619
324
3
881
1008
269
472
70
797
900
848
716
776
799
640
439
32
724
894
779
768
195
818
540
457
144
984
1011
506
17
852
522
502
1015
845
1004
838
712
992
287
23
422
683
21
408
769
586
365
334
783
891
972
65
729
978
720
37
762
222
1018
860
912
562
232
147
197
586
657
685
805
939
431
736
218
246
177
791
611
475
455
415
439
176
712
710
376
950
1007
696
807
1013
61
953
38
305
766
951
152
670
517
773
635
427
114
33
165
724
755
727
1001
246
138
815
700
124
784
534
216
513
770
96
875
398
881
985
932
261
6
801
782
942
621
412
896
283
549
138
900
408
746
854
113
984
666
554
470
580
392
308
795
272
231
560
547
1016
715
780
208
196
27
501
327
993
194
191
229
862
351
261
611
218
873
424
774
951
342
201
652
998
627
430
990
234
656
269
373
893
362
606
333
905
792
739
423
288
214
239
179
877
216
903
634
188
694
499
105
889
795
957
75
908
847
627
561
41
501
701
806
530
855
143
88
148
552
776
736
1018
187
97
252
296
944
622
742
346
706
449
477
598
685
173
743
721
554
139
947
175
588
895
1010
994
689
862
147
942
696
708
848
820
972
680
396
26
1019
846
395
574
912
160
571
919
758
6
564
802
1020
302
173
532
545
51
1009
368
330
759
836
120
227
599
430
642
596
864
917
436
365
201
611
574
959
87
451
748
425
699
977
141
514
287
611
222
905
191
852
174
715
459
771
153
128
81
610
981
607
435
598
629
848
440
601
591
307
294
7
772
892
330
33
50
287
10
194
330
273
148
481
973
698
42
935
728
111
94
514
436
897
960
183
691
479
802
18
619
76
910
432
370
886
453
365
466
868
737
84
789
517
85
966
650
600
248
830
473
16
155
111
7
894
381
729
993
547
439
815
120
856
992
30
920
495
914
868
235
796
632
782
465
669
645
996
697
774
976
567
334
767
895
99
591
94
1022
871
747
443
115
862
869
638
470
454
431
862
536
840
7
441
646
462
791
162
694
943
779
341
326
515
375
334
549
945
459
73
739
804
243
304
140
1017
9
476
609
117
150
258
365
14
320
772
921
268
74
999
625
215
945
412
670
765
840
116
190
882
824
815
995
764
1023
470
148
68
243
671
381
495
91
158
742
439
274
322
124
351
144
240
453
528
996
30
406
36
565
217
693
87
958
39
591
182
208
600
731
388
167
156
189
49
447
321
262
413
620
901
729
113
215
578
503
781
183
280
770
838
924
384
947
219
1000
352
122
29
42
391
421
786
124
294
966
566
334
997
821
271
603
303
724
327
878
649
894
822
691
844
569
937
512
372
1005
359
811
696
219
614
632
962
345
484
879
524
196
47
754
49
873
880
567
216
957
526
268
864
52
455
851
640
559
777
803
937
34
710
836
715
513
475
358
535
104
174
673
586
425
710
929
351
980
853
56
997
266
40
754
750
246
182
482
241
11
623
209
247
498
203
446
220
870
59
822
287
747
801
40
317
329
392
744
109
984
753
90
209
857
818
489
65
82
850
783
278
24
147
579
63
323
62
28
675
102
630
96
1016
113
672
349
833
912
621
508
541
862
832
408
157
160
82
73
339
217
11
167
814
978
783
69
166
51
906
625
1004
488
746
321
407
72
720
721
100
92
406
150
741
966
428
320
974
240
581
504
582
521
388
154
419
658
182
584
326
570
622
165
198
125
901
673
139
565
598
638
258
995
559
188
369
699
1019
754
882
893
597
396
190
852
177
531
333
819
623
942
979
680
264
964
100
417
191
890
858
453
796
951
650
513
742
510
319
881
1017
814
958
460
425
190
385
166
574
269
637
629
983
116
337
400
391
272
418
878
944
75
449
829
977
218
704
673
17
629
184
386
370
375
823
675
930
891
614
875
122
833
813
225
810
701
731
396
793
763
585
728
729
492
245
718
589
575
593
50
857
184
741
839
19
662
192
88
721
133
243
751
374
184
801
1000
129
137
793
223
111
621
481
285
14
33
611
374
64
73
136
644
417
439
35
4
273
725
747
849
717
901
832
627
600
818
55
998
272
884
768
146
980
782
163
48
136
804
658
456
735
411
807
321
181
756
516
342
346
372
44
669
706
462
391
262
107
220
808
750
514
880
723
632
531
550
727
434
21
502
1017
333
275
334
863
538
1015
818
867
404
931
395
461
782
522
209
144
4
150
212
857
345
580
250
689
323
100
332
521
21
612
1001
350
350
292
755
23
967
503
430
353
222
213
859
384
924
853
584
1007
879
591
610
492
610
639
894
139
231
953
419
74
1002
138
0
282
969
969
58
287
931
924
503
977
469
923
441
666
258
811
68
897
451
515
555
651
214
978
859
653
610
92
731
648
474
957
356
647
374
359
297
837
164
964
32
67
75
758
295
735
424
897
519
55
72
125
512
624
648
626
553
20
414
59
218
48
413
155
383
722
512
461
94
296
415
975
318
282
179
954
639
965
759
753
301
940
924
615
975
872
393
464
174
525
148
233
105
441
859
916
741
565
538
228
305
149
897
847
644
70
986
888
673
1003
267
128
271
318
331
673
726
616
715
26
577
41
711
421
808
942
969
361
299
200
25
537
821
80
861
74
579
709
148
127
100
220
908
842
818
152
98
64
83
682
772
683
847
258
316
305
142
992
292
554
128
169
791
303
824
598
302
866
140
541
101
342
395
702
129
839
137
161
308
411
589
723
562
660
953
857
954
954
305
205
908
955
964
334
992
306
225
945
539
964
76
488
572
730
265
163
918
20
972
155
269
819
800
98
1005
136
605
26
679
161
83
790
1003
47
703
919
938
342
578
334
379
109
634
47
592
213
685
837
941
118
718
886
252
182
98
1015
878
460
845
866
577
278
373
517
790
663
21
934
785
893
67
281
1001
836
858
190
505
864
406
286
504
316
640
64
718
334
1009
1022
665
498
178
834
20
668
207
419
722
623
75
650
322
302
650
668
461
171
173
174
156
873
622
863
937
913
997
94
596
352
675
942
441
377
738
634
385
6
900
169
31
100
694
361
269
1000
224
723
895
1004
98
330
251
970
138
309
469
1023
82
913
965
84
626
127
57
329
503
392
806
463
621
948
899
120
902
828
53
493
516
549
514
944
252
858
3
171
801
834
1016
407
949
432
523
347
685
131
630
10
530
482
416
987
659
581
354
468
861
84
621
702
123
958
213
630
963
698
813
122
236
704
512
856
299
607
763
533
268
408
202
999
498
869
814
718
610
880
94
287
85
501
55
129
781
491
341
497
335
862
122
667
476
522
245
905
359
872
14
229
784
945
817
191
34
278
356
506
318
163
147
469
862
948
677
654
508
460
42
905
161
564
582
245
1011
781
963
385
110
412
719
738
366
719
537
791
432
255
971
129
14
39
218
89
900
118
69
65
347
88
297
517
388
883
39
234
893
1022
755
472
24
725
799
685
260
835
590
512
5
644
342
369
738
893
809
859
117
406
380
388
60
598
825
767
121
905
310
452
831
67
111
1023
594
199
21
239
579
831
69
876
363
201
254
49
985
10
636
224
977
618
553
537
146
489
854
655
663
441
614
190
999
41
607
489
322
291
116
998
327
177
268
201
52
660
260
995
637
56
149
246
276
372
236
871
288
431
668
0
483
182
390
414
168
907
1014
374
63
423
933
747
786
371
573
671
7
147
592
339
80
239
976
284
579
158
122
663
749
464
799
191
168
650
483
339
682
164
649
614
315
144
319
65
241
681
383
504
34
225
496
949
27
879
732
424
207
480
765
239
687
628
237
951
454
335
196
655
540
320
84
415
561
262
854
1015
101
52
93
74
365
302
375
204
223
1016
635
674
264
15
846
600
12
190
152
171
555
797
518
99
238
967
579
218
630
405
691
920
978
102
304
498
972
387
505
372
509
49
871
120
214
901
941
998
789
934
853
799
653
103
819
396
374
596
788
951
308
332
299
679
659
599
75
609
690
707
103
635
443
990
344
377
343
400
320
546
749
653
780
570
188
372
62
299
261
65
24
283
816
509
151
809
396
455
142
229
1006
165
613
85
382
467
0
287
474
901
212
611
662
47
967
486
157
918
901
302
826
104
477
290
987
408
957
42
754
310
28
162
294
846
433
1020
500
419
193
809
419
657
443
612
685
550
273
262
670
1015
361
545
741
997
243
137
674
282
521
62
653
879
287
789
773
913
155
79
321
739
757
971
733
583
960
387
808
853
837
4
447
578
972
217
21
578
240
576
891
224
145
59
943
873
767
639
98
227
516
603
389
781
737
283
231
518
664
556
160
80
57
365
545
358
931
955
754
888
505
460
771
796
377
610
988
493
938
592
839
248
742
1002
181
244
171
680
738
706
865
659
379
443
914
722
478
963
124
232
679
635
918
492
753
332
393
190
286
335
288
73
410
53
205
377
755
153
739
938
45
185
953
297
948
535
677
166
185
755
22
76
355
187
810
614
285
644
838
544
414
488
344
310
910
591
636
678
166
229
845
712
661
613
229
193
4
778
18
763
417
330
523
716
937
642
369
534
832
451
436
894
905
333
367
96
577
503
829
506
393
275
119
578
275
54
663
675
739
253
272
323
482
541
710
260
596
733
815
234
71
911
455
828
261
97
26
594
103
1
934
80
818
622
284
490
440
84
36
3
570
325
187
560
140
801
563
111
630
223
978
279
587
620
594
717
763
653
213
717
598
868
853
984
710
886
989
854
692
503
308
718
712
842
999
680
236
851
751
494
418
111
676
229
993
748
21
95
160
947
563
753
611
377
724
204
512
562
874
417
926
694
564
774
113
171
889
889
94
882
23
315
506
282
403
878
107
480
395
445
588
246
805
582
60
283
943
734
982
189
717
1004
123
639
628
860
349
873
711
713
480
422
455
786
368
249
430
404
541
566
174
548
169
858
677
172
637
622
239
77
368
760
761
69
12
129
878
760
16
98
351
460
896
429
536
978
133
167
645
959
569
497
512
245
749
236
43
379
186
841
698
853
1013
145
1020
565
571
620
456
932
299
807
99
997
132
794
1009
808
484
201
662
139
930
760
411
277
766
1001
409
416
56
33
814
348
695
916
707
669
447
202
252
124
704
809
134
901
1020
663
545
923
72
920
374
12
515
285
192
205
806
179
787
311
792
468
958
379
522
619
741
869
155
790
159
895
535
23
489
818
614
885
513
166
633
221
899
282
517
1013
746
120
451
585
713
803
378
745
331
757
859
198
667
10
304
182
889
918
773
144
904
190
730
497
30
252
33
68
767
346
612
172
861
686
262
707
639
937
994
270
354
907
724
931
915
990
627
11
317
289
185
639
742
591
852
637
571
91
110
185
276
921
132
866
666
955
911
591
373
742
440
875
185
188
833
290
734
188
279
200
115
258
583
726
941
756
580
312
25
283
221
124
650
668
263
385
469
200
719
411
807
823
802
484
802
722
762
457
684
151
353
993
10
433
887
714
660
783
507
365
848
912
431
695
48
369
292
737
610
293
21
153
141
723
462
262
995
1012
789
106
234
356
122
663
537
719
862
969
135
471
918
514
314
914
54
94
707
957
894
846
1002
559
877
609
365
90
147
911
332
269
799
529
718
1017
870
40
755
868
179
58
285
188
814
275
313
92
625
977
601
875
180
935
124
72
765
1004
84
31
784
390
492
502
842
350
848
442
19
970
945
707
627
470
333
345
179
36
528
212
905
333
383
353
939
109
45
317
1001
578
344
400
1008
574
186
914
259
96
512
343
993
1023
178
317
958
225
246
468
771
962
259
281
832
105
473
727
323
41
455
312
917
504
195
106
674
680
898
228
517
764
975
711
994
638
506
630
785
900
717
453
1016
369
438
1019
388
672
562
1006
503
618
591
573
632
713
893
9
900
420
400
666
80
506
564
771
703
866
191
579
644
15
444
542
879
342
94
298
336
123
1014
883
398
243
346
79
421
838
879
731
747
124
641
857
500
478
148
770
820
9
478
474
314
233
533
480
950
191
700
1021
32
822
911
5
1007
1001
17
963
395
983
856
8
725
114
666
902
829
801
347
455
384
668
345
782
590
1011
902
343
1019
800
845
877
300
580
562
265
221
99
62
931
773
814
226
321
805
669
655
288
788
370
169
620
851
803
118
945
395
587
768
939
261
474
709
941
59
677
644
9
825
484
26
719
136
596
424
25
426
813
245
81
823
920
213
346
787
655
687
889
545
79
426
989
34
917
21
496
283
480
772
375
352
524
309
566
362
969
252
309
544
693
710
377
17
509
923
302
528
756
606
594
581
837
556
936
242
946
273
285
712
361
400
196
669
708
778
598
663
23
797
140
355
185
517
268
26
523
363
463
472
313
403
761
1019
832
108
201
98
886
637
913
668
920
575
673
866
53
301
939
158
208
740
992
464
32
463
479
174
84
671
349
505
796
783
946
44
579
781
395
26
775
7
912
90
931
379
621
605
859
143
83
397
699
901
224
223
801
798
832
719
101
550
975
451
94
183
256
212
745
649
593
635
561
581
425
889
778
630
122
166
718
25
492
249
993
726
845
224
338
10
572
905
648
908
835
146
965
985
147
441
912
991
681
667
369
183
597
149
488
388
39
385
669
518
229
1
620
600
117
148
216
946
185
472
442
468
930
397
643
507
971
407
864
571
849
168
911
471
332
642
874
785
294
209
353
959
789
246
234
747
319
343
757
863
448
352
473
397
825
309
210
808
295
12
473
431
995
580
615
82
881
858
881
962
279
280
410
3
528
521
668
521
491
180
426
659
333
393
907
138
206
501
767
759
93
323
981
53
362
331
75
242
477
44
346
345
606
486
778
351
446
321
215
917
827
148
626
176
247
617
401
539
244
627
373
85
568
729
324
325
59
560
543
803
310
762
538
267
909
306
755
121
626
91
215
83
734
487
316
781
98
918
767
689
157
943
709
278
448
164
29
206
911
792
976
196
213
789
76
569
628
782
163
54
743
1005
753
487
438
21
864
281
538
405
486
96
405
145
155
70
949
330
520
126
98
921
766
427
741
457
707
251
18
182
900
801
387
900
843
631
857
48
940
874
58
159
893
937
979
525
637
970
217
757
844
717
716
7
33
608
443
417
412
594
166
968
464
793
173
569
403
405
450
1016
454
209
724
569
162
147
677
527
1008
490
767
220
745
283
381
196
8
558
613
53
353
416
1012
377
640
906
90
608
783
205
559
248
602
695
158
508
696
174
7
966
119
675
719
413
378
745
253
415
49
859
495
455
53
114
143
674
241
615
610
528
65
731
890
206
918
74
786
274
185
855
752
543
647
584
814
419
659
755
221
853
530
422
705
738
1017
771
60
1020
835
186
133
544
805
955
113
594
451
327
259
493
889
1011
118
262
679
17
862
83
154
661
431
54
94
757
608
932
773
96
513
341
347
736
887
190
321
240
600
924
923
131
445
28
617
921
800
63
1009
33
472
252
792
606
998
440
856
234
108
815
957
727
5
540
104
1015
563
678
854
832
338
592
189
741
373
582
216
169
362
777
726
280
177
436
572
815
311
816
567
252
860
59
485
689
802
210
351
714
215
120
656
204
310
125
777
637
1003
162
1010
668
945
274
528
768
50
527
997
555
196
540
127
905
7
727
642
273
665
716
723
13
922
294
347
902
465
229
734
805
128
654
322
383
982
756
810
189
212
420
78
592
525
665
546
588
335
138
24
594
130
220
709
80
20
422
140
200
106
926
574
894
842
397
692
874
191
53
487
554
987
191
130
814
793
849
418
888
783
177
756
38
673
40
266
972
120
402
270
430
417
670
146
855
908
623
388
867
334
564
1018
77
234
243
169
632
523
613
657
212
637
679
957
197
421
771
875
209
981
899
1011
479
482
651
617
719
527
589
763
381
812
525
748
53
610
98
666
586
892
933
269
213
638
498
308
431
794
448
466
509
596
225
683
401
376
461
106
13
479
109
385
866
678
85
977
872
30
884
566
103
462
344
555
992
240
627
719
516
574
577
324
555
201
445
958
272
725
819
836
59
870
779
887
296
306
337
883
945
46
808
412
506
385
585
669
545
719
286
16
1010
35
657
999
866
15
80
515
825
105
112
293
695
720
268
130
114
563
995
493
390
426
372
204
275
82
920
868
118
345
273
209
225
678
126
899
35
710
995
460
527
853
422
240
340
403
513
988
873
752
540
497
271
832
443
572
409
467
0
53
94
60
30
16
671
532
880
429
287
936
854
808
722
962
213
913
999
221
628
884
358
734
811
396
641
130
147
892
768
986
670
499
207
943
303
483
82
248
206
396
339
643
617
758
376
444
530
525
179
261
185
288
906
721
492
22
461
752
282
939
322
845
864
182
140
631
87
504
589
93
811
402
117
637
409
111
900
968
164
734
81
727
77
118
721
769
855
768
486
728
727
637
946
227
362
26
155
914
567
236
407
570
470
100
519
18
534
742
612
194
808
365
293
528
223
693
312
635
172
355
83
42
602
914
717
208
101
577
222
131
19
364
883
231
383
612
314
515
822
451
436
470
868
596
195
611
169
252
824
54
126
861
525
445
584
426
345
811
1009
26
57
513
387
706
621
402
294
281
663
997
901
774
232
397
518
292
761
149
687
485
686
659
402
204
1015
597
905
69
745
634
320
90
479
622
357
96
375
103
152
866
582
176
566
537
504
578
343
160
1008
766
20
589
709
685
755
766
686
769
344
778
943
999
646
256
189
303
603
228
441
798
121
862
210
90
980
114
164
490
705
1004
280
534
124
653
846
446
655
156
324
615
1016
2
499
616
490
789
941
771
48
645
97
737
785
801
784
547
640
907
443
159
904
708
586
970
985
965
362
812
143
686
612
220
557
407
561
607
831
588
729
857
835
998
241
285
595
363
823
369
615
613
107
868
561
573
1012
775
675
214
922
226
498
171
7
678
385
344
252
896
284
474
700
395
994
283
567
762
222
708
926
464
730
698
248
985
877
180
139
456
451
563
910
775
907
91
32
729
317
421
952
52
358
359
135
848
993
871
78
342
230
168
300
662
289
742
587
986
788
867
768
812
586
447
875
458
501
64
490
383
940
530
471
709
657
455
348
730
282
340
212
116
273
120
910
889
307
519
56
460
452
865
272
880
307
987
686
421
382
178
541
936
428
231
261
403
755
99
456
858
875
822
105
297
272
358
768
418
658
750
107
566
554
371
766
947
873
809
817
162
204
650
80
874
226
450
66
951
784
377
770
615
659
880
64
100
1012
440
1000
842
12
433
842
235
480
841
924
179
971
330
404
605
456
118
999
767
22
785
512
626
0
873
290
377
480
959
100
576
100
151
531
1005
656
497
396
990
41
318
360
760
692
254
90
122
712
107
742
543
135
764
622
961
712
730
137
515
316
821
97
719
551
614
935
310
959
909
535
706
494
389
492
197
571
274
615
819
331
814
368
793
295
502
433
189
928
847
662
796
1021
608
799
468
365
150
422
447
347
225
908
932
550
740
467
514
709
547
419
386
780
947
847
681
423
713
729
750
566
101
959
153
445
932
381
669
750
416
649
205
875
682
507
479
269
459
66
76
713
384
1018
268
304
69
831
713
1017
471
887
425
685
634
717
893
920
541
262
62
17
470
707
90
412
122
612
767
863
559
861
377
486
141
486
555
64
729
736
9
862
471
667
136
1008
814
5
344
933
89
492
611
423
593
950
388
316
128
429
899
491
236
412
371
812
434
733
749
297
963
121
644
977
126
51
920
175
619
26
956
881
694
548
240
166
93
306
104
241
843
924
885
391
212
766
696
191
819
512
547
760
267
744
154
267
737
263
436
35
549
517
257
464
207
290
180
31
571
994
650
243
702
862
319
459
408
120
960
580
396
974
496
861
363
709
785
676
466
38
122
841
911
252
541
928
18
647
912
532
239
411
164
139
915
110
125
450
941
701
446
539
408
176
489
823
312
636
319
177
503
521
37
316
149
51
741
501
318
775
168
331
495
412
807
37
491
47
728
182
294
948
899
728
1014
361
42
242
450
985
203
170
419
101
540
103
683
688
317
94
755
852
836
350
685
432
225
965
255
895
206
2
477
919
831
338
1005
149
414
960
529
622
337
916
130
896
818
823
752
41
1022
666
81
812
136
403
366
418
137
180
726
122
139
857
934
969
715
699
169
117
587
273
606
835
316
1022
6
835
360
462
510
159
129
970
60
1010
992
886
914
725
261
224
142
755
27
940
989
648
1
749
102
902
327
804
427
465
976
592
707
726
512
512
72
283
467
167
960
22
80
630
959
363
644
437
852
621
58
396
872
131
463
162
745
447
697
235
659
929
744
625
826
440
995
925
510
621
871
94
734
413
231
585
208
554
745
779
320
475
764
354
82
222
915
670
419
111
334
611
937
307
302
341
426
730
86
267
427
13
547
747
960
234
863
400
793
759
432
947
537
949
437
12
149
357
261
19
202
837
297
164
325
831
76
397
2
25
606
137
692
900
91
555
51
294
44
461
370
773
948
696
89
539
201
121
610
431
629
187
717
583
896
1015
615
457
298
204
861
222
100
382
475
24
202
18
109
1005
408
39
508
772
571
266
278
944
103
79
806
889
225
754
499
770
756
458
179
18
317
908
172
92
683
649
721
820
780
542
669
396
155
537
188
916
305
691
887
933
752
412
269
300
273
677
289
242
763
415
967
506
126
15
547
964
219
790
370
256
584
584
409
50
258
649
261
401
263
401
879
252
471
524
484
295
767
815
3
912
657
745
147
1019
342
166
418
381
170
369
363
923
866
681
239
728
309
71
650
694
128
594
848
251
161
163
492
75
730
584
642
69
354
274
109
642
699
881
803
3
920
18
398
713
912
204
504
441
583
515
441
903
549
339
766
770
684
828
90
371
1015
811
416
371
685
730
533
957
212
314
103
412
833
273
755
764
577
934
105
908
358
752
329
728
65
811
184
809
15
69
959
691
341
469
1022
916
355
930
239
444
981
138
579
109
387
234
552
352
554
128
211
974
202
287
968
599
646
976
557
210
943
411
742
884
633
388
156
472
678
572
675
631
224
866
598
421
199
324
234
169
498
400
426
623
764
168
242
540
214
723
746
542
814
69
433
694
270
874
714
620
659
791
244
198
617
953
108
492
196
348
95
620
777
372
476
498
914
7
325
758
808
742
631
671
383
549
500
295
149
332
257
705
87
809
969
354
104
548
133
974
377
666
400
637
603
472
422
82
370
483
299
359
366
454
606
469
178
900
417
690
790
339
794
11
423
410
629
821
923
882
326
824
730
267
213
697
343
207
601
954
966
834
788
140
405
642
310
345
653
709
410
299
507
195
495
884
1014
127
220
721
290
390
1004
754
746
302
1
206
427
752
785
784
222
474
37
611
98
863
300
302
8
800
964
97
67
913
996
192
537
12
325
615
957
171
204
862
94
374
962
611
521
973
256
266
554
771
637
655
123
219
677
855
402
369
742
970
340
953
995
390
636
372
987
542
389
266
261
74
669
974
452
909
345
62
561
479
55
816
837
282
736
242
180
299
282
697
560
368
599
713
748
606
560
7
679
383
584
427
778
34
985
577
669
42
657
583
951
70
478
313
568
169
389
723
1004
234
31
923
920
7
483
547
813
998
59
12
663
904
1001
883
656
873
680
547
171
980
550
665
476
850
819
756
1011
834
776
14
976
909
914
701
10
426
966
528
2
161
928
657
277
123
181
143
993
542
673
929
868
782
285
220
96
741
798
163
648
303
61
88
847
662
45
519
400
879
692
201
645
34
775
864
690
135
1011
457
756
255
284
858
919
399
682
997
844
439
302
966
647
546
591
787
606
169
366
669
251
373
194
970
560
461
114
888
423
269
270
701
888
912
399
454
613
871
962
986
674
599
224
315
795
296
538
573
32
52
200
898
451
270
369
1015
27
311
76
542
599
97
724
596
916
431
781
474
882
71
784
703
942
266
600
550
713
277
92
143
576
1002
366
690
175
563
689
425
64
832
405
423
535
980
78
897
291
891
962
743
342
276
784
3
360
756
3
863
1019
347
575
821
771
372
22
21
217
537
247
539
216
136
707
1016
405
454
43
818
534
619
148
815
555
977
723
156
739
887
852
598
73
800
65
320
895
470
114
532
500
548
573
647
57
168
690
806
45
633
717
927
984
764
142
286
282
696
226
413
229
593
54
572
108
943
98
153
470
250
343
206
338
163
340
269
937
92
193
400
445
549
726
853
336
194
576
275
58
906
342
609
278
534
692
759
296
937
253
691
936
19
575
724
1
599
905
736
268
692
126
19
1022
944
262
933
728
952
411
774
974
933
896
449
234
345
904
488
637
558
793
461
441
663
708
539
793
974
348
492
595
617
817
515
920
532
531
209
263
368
852
878
532
146
337
62
374
958
869
751
788
95
19
440
104
814
857
481
761
805
771
252
936
400
335
865
987
741
10
553
93
556
540
548
120
534
734
98
488
43
700
389
485
940
950
770
59
818
710
612
221
272
425
886
973
172
916
271
542
401
199
514
934
1023
369
91
221
115
138
702
75
459
919
889
1020
57
920
678
992
136
174
260
89
987
1018
991
856
511
904
905
491
936
797
140
746
493
937
441
54
151
423
116
589
337
291
612
256
984
640
428
576
772
570
60
397
680
886
711
1019
265
683
408
364
904
175
117
671
758
1018
934
1022
58
130
22
821
204
900
170
279
529
901
911
103
606
104
983
630
776
549
902
78
958
74
141
679
735
394
198
785
770
1009
295
941
184
294
816
261
880
1023
597
727
264
27
164
565
803
1015
808
498
676
54
238
382
821
740
173
239
253
323
469
927
159
895
713
231
648
9
481
918
103
876
415
919
594
984
51
211
962
865
891
913
154
122
77
981
1013
55
296
641
813
477
632
890
257
681
227
633
625
103
938
402
611
451
917
625
839
258
791
153
949
754
155
676
368
269
962
180
541
970
518
293
168
325
883
319
233
996
604
354
709
177
485
867
749
829
308
834
984
64
742
36
694
92
609
781
764
156
244
456
507
432
240
559
664
830
397
1022
514
80
715
656
457
354
943
352
391
659
282
836
989
575
1010
5
3
940
997
127
644
20
267
97
692
520
245
143
506
409
221
303
378
665
85
884
181
749
874
816
887
321
381
220
647
24
669
60
579
639
932
540
810
131
577
845
569
358
858
730
95
202
727
215
2
860
823
397
420
1023
879
987
475
993
351
312
80
895
371
310
847
283
566
215
547
24
1019
1013
736
564
671
16
583
954
158
1016
751
905
364
324
25
640
202
71
460
149
979
134
64
214
461
188
446
591
406
125
1018
773
392
296
614
439
822
134
842
122
893
95
479
656
713
446
396
75
823
211
1014
1011
357
920
609
80
989
981
179
783
9
417
616
493
43
404
780
596
558
710
195
693
970
289
731
446
557
360
374
337
775
256
769
623
55
508
136
721
151
25
783
525
885
602
721
502
885
299
747
384
772
349
616
651
15
305
426
191
881
716
959
625
710
912
401
28
499
398
34
4
952
751
1013
171
625
959
172
300
964
986
418
561
471
329
763
941
269
882
131
432
272
205
591
539
646
853
666
404
999
1003
987
919
70
382
131
26
321
828
692
120
497
62
76
861
585
778
823
553
334
198
171
925
558
635
294
612
270
764
504
656
12
340
556
719
600
380
209
631
101
890
813
485
413
545
117
646
361
86
211
380
765
803
600
1000
473
27
84
230
404
1022
20
792
33
896
874
481
911
876
938
998
162
584
276
976
216
473
832
191
564
356
849
810
38
537
73
58
318
105
331
619
827
226
198
753
828
173
255
524
416
463
12
399
105
312
231
431
760
349
892
234
806
743
72
121
479
662
684
352
350
295
838
736
862
742
936
923
646
412
767
338
336
252
939
360
276
576
1010
161
451
1022
723
861
166
947
251
95
783
139
498
307
506
879
303
1013
954
674
90
609
457
2
332
842
1008
229
685
598
111
524
551
207
232
517
258
29
580
408
533
238
747
361
516
825
811
388
297
992
207
559
786
646
650
122
221
782
637
883
920
251
501
905
305
415
202
207
631
913
119
793
10
250
992
1006
166
609
468
541
210
950
246
10
757
843
91
87
377
613
356
53
619
743
898
319
161
35
598
281
330
726
992
507
413
958
367
909
434
77
513
629
98
889
211
564
380
712
690
678
12
279
863
555
47
269
1019
310
423
71
644
47
649
458
856
862
584
67
178
614
149
513
991
419
290
233
1013
261
171
764
886
95
135
548
839
764
694
524
1018
926
439
572
348
431
966
423
74
991
494
924
562
420
168
278
444
819
553
278
794
255
677
167
814
492
169
95
868
956
526
769
697
756
778
971
459
174
728
136
232
490
937
133
277
522
863
305
273
735
19
459
891
59
879
567
344
336
39
772
487
578
814
678
894
153
31
611
219
899
85
107
792
245
903
1023
526
97
65
861
612
685
689
865
528
876
62
119
432
831
892
131
201
163
371
198
723
749
478
365
242
146
315
487
431
782
183
21
148
181
615
144
976
593
35
364
298
360
836
932
1011
52
1005
320
558
180
500
423
827
409
933
730
500
42
118
372
865
120
271
77
447
115
249
238
898
99
586
535
872
291
6
606
522
670
371
313
296
447
969
392
358
923
188
218
823
989
174
760
522
614
926
984
84
193
698
115
658
405
916
411
554
779
507
282
913
445
744
396
580
1011
830
403
922
114
966
870
155
581
804
156
328
206
372
792
691
915
229
835
241
609
900
389
121
143
713
841
33
1006
880
501
981
687
0
733
472
934
950
660
1006
566
760
203
64
369
352
186
335
104
490
284
779
111
156
897
1005
430
6
389
33
883
403
131
774
125
453
381
738
303
598
233
634
870
98
497
341
273
611
405
556
809
766
603
340
507
896
474
751
808
763
523
225
660
1014
629
485
490
74
349
652
648
627
887
177
552
507
664
961
526
392
525
294
927
631
532
378
831
32
931
85
902
691
127
942
136
197
860
47
473
870
680
461
608
22
120
151
400
205
524
652
835
737
584
55
48
360
818
748
399
180
551
665
769
71
961
548
31
869
113
672
990
780
656
218
894
287
222
743
323
239
941
806
465
378
619
498
568
180
533
721
519
304
484
918
839
734
703
447
662
400
809
325
512
966
807
693
695
746
420
460
974
347
417
199
831
656
138
1006
120
152
274
888
478
502
826
32
811
549
749
655
1005
553
700
779
155
88
691
249
711
463
320
410
131
288
1014
994
796
419
704
505
183
144
814
975
495
775
747
472
667
55
503
367
741
737
21
97
1023
419
634
154
202
362
544
227
726
451
945
642
862
1006
990
650
297
304
976
409
940
578
675
547
888
828
990
516
236
464
967
487
603
949
75
58
516
773
756
288
995
591
980
135
296
414
886
253
17
862
669
460
744
793
1009
450
160
704
509
459
727
178
86
320
327
794
615
838
784
540
552
289
226
51
609
1007
503
408
301
465
756
659
582
654
44
714
718
878
250
396
787
956
448
294
810
611
528
646
34
898
610
266
416
951
289
843
426
1022
688
332
759
656
239
899
373
331
131
558
754
7
189
279
363
146
239
1012
126
376
208
913
292
604
408
929
154
761
773
320
971
729
231
999
162
655
6
902
966
728
66
633
265
83
106
718
730
774
301
1016
58
318
475
347
220
226
556
641
424
1015
223
946
266
803
686
200
842
643
122
248
481
679
661
1020
728
837
654
225
323
0
167
947
886
548
374
816
790
772
238
944
304
900
422
151
248
20
690
283
811
566
269
246
711
249
686
922
323
786
199
970
510
231
70
534
298
296
290
383
590
760
630
459
233
6
910
384
881
920
298
525
695
339
721
945
844
851
638
275
128
937
300
785
794
590
292
311
413
906
803
805
430
12
522
646
757
183
914
523
490
754
499
525
233
554
122
636
414
627
161
36
1009
984
609
3
592
897
122
24
863
445
7
992
824
680
566
718
176
388
272
807
983
744
754
402
432
291
220
662
888
622
943
671
925
595
846
6
359
816
258
881
127
917
429
788
820
44
972
941
156
41
316
667
566
265
789
988
23
251
247
818
967
420
887
616
358
568
432
507
926
323
40
377
883
290
380
188
445
749
704
553
626
215
105
687
871
409
122
534
596
376
660
254
58
501
695
451
111
582
893
380
23
787
755
377
349
953
171
549
635
347
841
140
408
872
307
134
562
956
823
453
984
610
594
642
337
21
206
237
286
254
482
256
850
168
708
747
879
925
601
559
669
736
179
456
945
650
165
636
116
1000
614
103
63
391
371
1017
867
224
321
475
1014
404
231
476
81
748
677
73
592
84
706
492
866
486
328
123
91
288
216
368
116
413
203
39
926
929
295
1022
902
831
531
414
850
371
507
642
303
694
536
642
878
255
642
130
306
79
225
347
96
170
712
530
212
134
250
286
774
44
528
317
709
741
244
390
566
316
602
899
550
761
212
942
917
488
467
576
666
756
865
481
372
526
146
401
31
415
10
879
658
989
296
321
19
30
128
698
378
524
258
957
10
689
936
353
806
287
338
421
348
712
502
186
993
155
496
515
177
289
829
381
149
48
78
612
451
626
776
953
477
647
522
769
565
836
521
43
263
751
116
209
56
684
900
798
714
173
604
875
116
452
159
846
798
408
166
899
406
325
6
846
24
804
315
619
147
674
423
328
124
205
96
990
734
76
353
791
907
649
632
56
766
645
117
5
704
586
922
938
882
409
63
22
417
240
944
983
214
510
685
545
320
833
638
592
116
382
637
508
609
591
414
224
334
140
1021
541
119
711
821
541
618
605
720
787
478
444
59
1013
943
738
765
37
972
40
824
393
71
878
222
753
32
339
23
426
953
913
5
449
576
478
523
906
631
496
379
622
774
52
1023
894
253
566
1016
159
733
157
484
598
310
51
7
963
23
448
829
140
47
135
657
893
537
1004
332
594
497
758
185
57
583
419
967
466
161
424
981
685
745
631
188
284
542
520
97
484
27
858
527
335
810
196
481
819
365
401
133
932
367
307
994
935
849
897
8
860
699
49
341
118
821
136
520
401
912
600
238
375
667
785
204
407
246
715
977
467
570
539
108
347
959
108
991
9
596
922
897
415
646
922
841
588
980
398
729
757
975
163
974
279
1003
684
713
1019
986
517
891
508
420
478
12
894
588
803
490
222
569
30
179
874
58
517
317
214
267
511
748
568
130
847
112
378
1000
68
969
517
192
414
971
542
142
234
258
642
725
16
180
174
446
503
259
431
260
903
257
685
701
872
656
741
776
771
11
202
393
276
129
1004
23
339
255
310
592
420
312
806
75
836
12
982
952
524
118
466
255
623
822
610
711
594
696
856
595
235
326
674
434
654
670
115
577
563
223
909
148
318
272
525
541
818
534
860
933
39
414
672
827
726
877
56
240
437
193
147
260
755
356
800
757
169
855
676
980
686
119
134
645
2
590
745
857
142
570
704
656
73
160
7
857
632
358
675
902
759
912
225
28
601
544
672
231
79
209
229
837
578
856
867
250
490
459
710
549
738
798
594
15
11
290
632
813
67
30
112
689
899
944
742
143
294
460
171
33
864
864
631
583
647
997
947
739
6
492
985
925
156
26
576
710
804
495
765
122
61
672
768
381
134
245
543
935
61
270
105
2
436
542
343
721
703
633
50
981
317
316
1014
52
6
476
650
764
958
614
678
661
249
948
542
131
412
788
381
1009
403
966
799
436
23
345
142
918
646
670
776
457
919
609
792
891
589
264
376
100
446
289
823
138
1016
582
309
515
942
104
303
223
89
638
826
1023
673
995
500
105
571
218
291
327
809
344
522
283
802
709
529
350
940
380
864
952
120
809
581
269
419
115
912
125
623
216
239
511
698
818
247
728
994
380
79
160
169
392
944
411
343
1000
246
656
900
923
37
113
457
379
438
110
256
637
1004
848
631
37
31
620
975
302
893
74
45
295
907
400
155
190
607
786
420
739
191
567
95
943
484
349
400
838
464
739
857
38
398
650
86
977
908
745
816
948
664
912
321
126
589
867
236
1014
14
819
178
600
460
871
931
981
451
1
479
283
436
52
844
951
640
802
621
654
938
109
966
584
290
936
85
701
794
839
731
900
923
562
457
450
832
936
846
998
647
388
419
849
640
795
931
136
11
304
170
968
752
344
259
423
399
23
458
155
10
563
261
425
430
173
24
853
221
945
251
655
968
697
940
636
413
506
696
845
86
631
539
284
367
516
432
656
216
683
846
556
720
488
125
762
993
630
557
371
538
293
692
197
736
56
84
591
861
985
963
798
191
310
967
579
394
466
869
481
168
444
697
758
383
585
134
879
197
329
971
134
7
16
959
761
782
803
903
258
130
123
753
557
655
327
114
961
518
22
161
599
447
973
179
1005
114
213
960
990
155
667
596
325
331
790
195
691
876
461
374
975
708
810
442
863
268
46
194
100
882
457
771
578
774
409
942
60
670
474
1016
740
182
1017
368
260
334
398
452
387
786
652
835
589
545
157
280
251
308
307
545
88
930
996
28
301
262
66
747
743
188
852
704
939
566
589
53
97
389
111
841
517
270
782
1014
962
307
183
692
501
698
296
225
356
498
800
456
257
966
207
218
262
785
561
398
142
214
528
221
893
380
697
991
820
305
191
772
541
423
620
162
873
450
499
681
160
588
414
121
956
728
102
893
668
475
810
728
136
201
606
392
210
97
786
611
234
38
263
602
593
16
787
755
753
368
935
760
74
219
227
959
862
324
603
549
639
163
650
161
130
59
918
963
92
264
932
107
165
615
898
177
338
357
29
293
237
446
177
234
122
326
998
950
565
377
419
697
218
784
684
79
808
838
853
697
325
258
667
744
159
943
735
56
740
720
800
715
700
19
211
223
759
185
544
1004
578
577
337
725
517
219
661
523
453
676
295
400
834
786
407
401
648
323
191
218
37
532
734
290
623
337
361
136
348
878
519
130
746
508
536
809
629
169
687
457
929
65
195
542
421
293
658
442
480
840
160
124
660
784
60
285
793
601
633
159
991
358
70
61
501
768
865
135
782
564
636
147
216
950
953
37
668
248
213
520
606
474
542
935
686
114
834
202
725
917
192
963
572
363
384
266
535
100
792
252
951
418
21
832
843
597
1004
366
85
123
506
536
868
564
444
380
389
236
389
447
487
1019
478
713
821
405
972
176
684
573
634
162
391
113
323
647
252
197
455
618
641
473
738
547
396
502
136
1018
564
353
875
1008
627
266
730
441
235
16
346
860
97
899
949
764
935
666
709
895
726
849
22
455
760
189
993
293
953
186
0
445
961
821
650
97
672
46
398
274
604
467
989
209
482
586
337
230
346
542
838
545
430
543
9
701
936
734
684
766
746
251
845
728
434
989
834
385
313
467
805
1001
215
779
53
659
853
643
291
509
51
221
359
560
509
69
196
208
330
424
526
860
943
747
438
949
860
485
60
562
84
351
788
182
724
114
124
191
458
752
613
556
795
729
651
855
365
474
488
592
91
594
388
639
268
927
648
844
858
557
636
784
982
833
52
599
481
250
629
930
862
574
933
94
415
666
362
670
944
814
216
608
229
628
83
1018
624
194
610
329
820
125
260
887
471
377
116
63
191
748
497
876
707
2
846
374
198
808
313
316
945
487
700
557
590
142
322
335
274
279
932
744
854
375
111
543
395
610
212
759
299
1
177
580
810
186
583
806
992
191
81
201
987
809
97
627
632
31
686
769
631
40
447
0
59
892
872
393
878
174
399
304
460
36
444
96
950
846
721
158
542
662
181
660
327
344
528
912
231
437
464
326
441
841
944
679
504
902
576
648
682
508
193
744
468
744
346
771
431
640
384
699
858
902
996
647
413
895
344
121
66
856
590
325
863
474
74
562
434
516
356
60
525
175
495
224
372
851
193
509
343
270
923
116
582
23
529
816
979
331
802
7
611
341
481
488
450
761
835
787
802
703
346
961
596
376
939
993
644
0
207
857
38
820
474
84
383
607
358
386
53
181
999
227
492
163
424
824
567
738
303
334
365
707
222
141
715
13
486
521
915
131
498
474
129
716
323
232
220
118
923
934
999
43
32
364
390
561
695
202
671
117
909
271
1019
46
464
0
839
216
64
698
873
477
82
270
99
163
203
514
711
103
531
81
750
332
380
501
802
510
349
871
917
81
24
728
1012
94
180
0
907
435
414
444
973
160
839
242
465
747
684
681
855
611
706
272
535
733
314
150
359
787
75
1015
625
488
155
414
914
36
799
539
33
34
408
3
153
451
924
437
186
775
231
654
465
390
627
334
843
350
312
349
37
152
379
623
39
513
913
649
920
389
179
489
979
499
580
940
994
987
163
75
348
872
669
578
810
572
538
300
488
327
733
2
690
716
595
661
738
626
746
213
813
504
138
853
874
582
474
822
110
537
34
870
725
601
558
343
878
918
850
24
914
9
796
1001
515
767
264
1011
93
686
328
200
707
875
786
468
97
459
217
478
257
894
174
131
359
402
979
543
695
304
285
378
164
728
981
961
182
664
876
794
178
258
783
58
564
802
395
944
628
849
722
930
797
655
264
498
333
348
381
186
150
658
82
373
741
302
586
794
430
53
877
135
763
68
306
212
570
445
519
486
314
258
606
269
157
549
662
376
575
453
874
769
177
820
561
841
142
721
311
691
130
973
828
685
98
603
656
423
433
286
160
712
277
530
520
854
111
427
165
148
564
108
94
719
646
305
1012
83
691
213
882
226
987
646
1020
859
520
545
277
19
531
52
440
159
623
258
1009
279
850
510
559
441
826
366
759
108
518
41
635
745
136
516
289
352
522
992
751
541
367
249
192
420
310
957
536
21
926
350
501
711
217
420
995
651
147
154
937
683
294
671
410
783
562
451
476
562
931
263
430
219
253
937
732
981
344
637
416
623
52
279
553
528
994
887
488
952
523
479
301
470
957
689
761
245
299
599
961
585
244
697
1018
311
746
905
56
733
733
580
989
516
719
168
241
998
920
704
507
644
807
682
870
970
987
610
174
180
301
239
145
825
765
934
330
781
727
781
388
203
618
248
840
135
599
865
573
614
592
1009
175
331
239
287
665
82
446
907
970
791
433
666
293
982
557
509
637
729
159
703
349
711
631
544
842
800
799
854
257
521
1021
536
426
81
562
584
145
243
240
733
527
797
156
440
121
849
944
771
715
743
121
555
715
343
473
327
518
215
39
723
467
79
734
6
428
956
286
966
150
883
922
119
433
169
392
955
531
647
393
604
122
406
858
402
352
253
556
826
982
579
989
349
909
566
330
938
411
3
380
292
380
623
661
432
280
420
650
84
499
678
967
627
522
231
828
561
39
4
520
961
539
675
794
952
339
774
284
860
430
628
163
973
995
877
1015
903
8
840
413
299
941
174
415
668
141
176
983
210
528
736
709
763
548
815
431
3
312
3
1011
665
667
687
273
715
107
735
292
888
363
74
598
115
733
304
738
844
295
595
869
760
776
912
321
431
567
701
346
863
359
386
35
147
647
234
510
887
486
349
353
155
278
742
278
259
99
441
15
995
755
1018
499
692
835
19
773
379
688
894
289
237
654
387
209
716
492
988
377
950
839
565
217
591
261
827
911
337
472
444
225
603
356
805
812
195
674
866
562
863
492
861
841
438
165
288
264
492
528
875
797
473
482
710
907
235
79
482
157
347
292
208
371
53
701
176
342
24
727
702
541
984
577
447
809
682
58
172
517
454
978
503
526
290
12
865
148
660
345
741
371
365
594
345
969
63
427
899
939
632
860
166
549
132
868
994
370
401
842
128
506
603
877
719
733
36
113
1016
180
374
995
324
101
1002
880
1001
836
371
656
6
508
145
741
756
880
1011
351
996
381
657
81
889
474
344
656
1003
565
336
293
471
399
334
37
653
612
600
29
690
111
122
705
247
756
98
405
699
879
333
761
451
73
231
825
335
860
920
749
576
447
841
176
608
871
591
948
903
519
860
375
312
359
203
68
251
500
334
176
552
680
719
433
397
102
664
498
431
625
994
691
352
1022
426
646
51
139
34
309
337
730
931
200
756
1007
906
923
680
444
664
122
270
312
702
90
968
143
581
398
780
829
353
119
575
719
620
973
129
344
690
271
543
302
896
733
438
619
1012
828
9
322
79
74
386
640
944
126
239
207
339
106
187
777
402
257
837
857
481
996
510
873
52
286
554
172
932
164
657
843
1014
7
1017
271
170
357
278
421
398
339
138
345
914
249
768
438
597
1002
371
317
300
765
788
917
739
897
965
191
260
4
885
167
645
878
520
770
243
51
175
814
640
248
793
444
446
853
763
845
571
780
43
298
96
431
546
106
790
292
3
1022
593
589
946
354
138
78
167
519
992
206
153
851
524
58
610
759
323
330
425
730
630
175
428
672
718
217
409
505
610
572
861
355
129
405
745
224
470
726
681
402
671
627
712
940
804
811
323
532
623
296
1014
908
953
154
924
642
886
172
563
548
123
940
206
674
783
1006
160
182
214
342
850
156
992
286
413
71
584
440
817
229
99
631
617
173
592
776
991
429
288
520
283
745
155
920
548
192
854
590
902
738
494
194
124
562
131
387
736
414
266
724
76
913
224
400
388
639
713
646
797
1010
845
353
19
128
62
76
930
863
137
827
327
293
568
728
338
356
508
174
420
309
537
292
832
1004
397
65
606
192
286
767
70
560
390
145
139
289
523
345
413
726
816
609
48
878
543
388
184
1006
197
111
597
670
908
566
39
439
914
340
225
7
150
426
121
980
370
899
139
685
143
334
838
403
308
405
421
811
1012
974
898
498
795
355
418
922
159
76
8
348
904
127
137
571
480
743
259
418
995
615
785
743
695
817
567
337
400
940
597
16
0
552
761
94
885
639
584
237
910
871
459
970
437
819
628
230
1000
911
933
991
1009
618
133
12
243
729
773
506
770
757
38
935
804
659
467
161
675
326
536
973
672
372
259
401
25
937
731
1007
247
396
815
442
292
234
202
448
849
910
375
30
358
616
122
641
28
758
285
338
260
519
284
959
262
402
44
108
825
363
995
632
834
350
975
210
554
433
531
214
939
880
531
820
121
18
225
1
477
758
670
524
20
305
648
201
488
225
717
466
227
928
463
314
453
507
7
379
714
1009
765
582
876
327
632
572
533
169
119
605
566
615
62
678
941
126
114
143
917
819
248
931
424
726
858
1007
812
84
936
414
832
189
809
227
817
169
881
265
684
153
754
227
420
788
827
719
295
896
874
679
161
242
576
195
203
56
653
644
138
847
700
411
298
762
870
191
923
502
22
902
689
597
77
29
713
867
358
418
925
584
749
1007
25
772
231
419
592
833
414
333
470
467
253
957
30
298
704
598
667
1009
315
38
152
510
603
49
170
37
77
586
65
360
59
24
841
314
334
137
254
337
215
744
738
656
749
921
265
274
512
875
16
352
949
626
820
180
710
781
923
717
936
407
456
783
379
446
37
338
993
1019
458
785
176
5
26
411
526
586
306
737
410
957
820
853
59
494
355
802
523
200
141
902
880
781
111
307
570
102
658
877
755
291
439
158
1017
867
606
484
967
142
696
568
925
984
687
851
320
341
892
807
554
817
638
104
816
686
671
965
251
398
290
788
737
998
66
371
962
133
184
249
183
861
535
275
22
823
360
915
493
684
431
16
775
128
458
155
363
78
336
286
918
398
900
916
963
578
106
36
82
507
873
505
61
640
761
912
658
677
604
38
115
987
688
426
513
505
479
984
955
664
380
659
533
764
197
0
71
181
819
817
706
938
453
957
93
675
449
490
512
99
990
639
657
241
957
731
186
671
487
861
49
448
74
635
931
980
972
11
248
674
156
515
933
377
213
872
884
674
945
105
729
706
946
339
629
409
257
542
308
385
408
486
644
745
1010
884
457
595
795
1002
691
8
420
911
131
191
534
156
471
686
672
9
132
595
954
848
168
845
421
212
477
1015
468
461
284
89
575
168
911
543
312
795
63
588
209
714
752
458
396
289
172
185
868
176
960
684
376
867
0
986
118
885
190
356
25
381
260
442
175
682
746
1001
620
541
889
206
722
79
783
796
860
818
1002
989
467
947
323
704
976
965
273
297
18
332
929
765
104
169
708
996
353
606
803
143
2
730
552
14
23
150
194
292
749
868
862
995
10
928
184
40
602
334
893
530
459
502
282
1022
741
904
424
900
342
510
900
883
727
97
574
209
472
439
173
884
26
930
397
649
806
260
39
826
611
208
446
8
438
615
470
280
575
434
461
174
471
641
60
266
447
800
806
359
534
977
121
890
814
154
357
417
28
454
620
835
535
601
553
394
736
12
38
376
65
872
320
543
947
642
512
912
75
993
407
820
836
126
129
288
562
687
931
123
1017
470
910
81
551
311
262
128
237
353
358
509
570
94
45
744
405
341
404
365
619
399
431
888
1015
474
310
929
239
494
563
233
383
171
475
782
723
741
649
558
924
166
871
954
442
327
507
451
433
840
796
47
230
277
289
376
208
162
671
620
789
58
229
868
813
787
299
104
372
339
519
82
450
175
374
671
848
804
717
578
816
764
410
127
545
9
675
440
830
794
941
516
437
974
139
647
680
772
531
93
753
787
992
643
586
175
650
667
845
636
323
956
256
801
179
83
787
651
979
7
360
768
1005
633
489
885
876
296
840
321
415
312
889
513
66
274
976
296
147
305
20
675
31
155
340
315
725
723
206
769
895
290
751
727
58
711
999
101
408
1009
46
110
326
865
578
178
56
279
971
664
145
174
106
49
873
252
350
743
704
641
679
638
380
99
592
448
866
1012
165
70
222
180
905
848
1017
445
964
169
508
981
676
662
183
864
660
548
1011
455
131
880
896
576
564
1009
771
873
411
16
185
195
351
244
853
906
186
331
69
524
218
105
75
413
728
53
918
930
683
755
657
623
3
319
267
1013
507
932
360
938
771
352
956
632
276
924
993
541
174
211
784
872
587
611
227
844
955
346
620
182
545
305
427
646
1020
331
724
380
115
20
524
571
962
1002
446
184
376
9
747
527
272
625
808
87
922
717
884
489
719
702
936
619
355
401
682
764
939
580
918
256
405
969
256
944
519
295
494
763
575
65
697
276
414
917
382
462
123
650
447
219
220
418
34
34
843
11
985
968
835
693
527
214
338
336
771
40
8
374
384
773
255
102
53
706
363
890
446
302
162
470
542
659
868
700
771
834
460
904
526
277
925
345
924
436
878
702
677
33
254
689
953
564
131
244
614
400
366
603
115
692
937
1001
534
535
570
396
978
463
616
694
757
365
586
732
379
988
564
147
687
241
877
869
41
933
694
612
922
890
542
509
932
480
509
295
368
265
581
825
259
72
439
868
214
865
1022
280
774
354
320
167
343
54
383
661
84
829
413
445
724
878
412
296
1018
592
140
821
916
847
827
716
826
275
161
974
354
477
358
475
1002
465
443
994
393
896
652
612
194
489
537
304
409
190
671
124
443
857
55
172
444
937
281
95
935
664
878
749
784
881
529
945
782
666
158
727
520
205
30
805
807
326
277
456
122
283
346
261
704
822
851
600
434
916
52
656
942
969
240
81
800
648
158
394
3
891
588
896
267
259
889
800
174
298
829
131
364
1015
874
86
679
383
666
577
511
883
610
332
632
728
586
44
608
1006
318
545
392
613
1004
768
641
924
616
714
268
221
279
519
167
567
603
614
998
957
26
231
283
522
446
905
48
975
44
916
649
139
729
197
684
846
640
787
245
744
363
460
541
91
898
777
524
607
782
952
57
799
288
400
259
691
766
24
86
361
894
265
717
375
363
771
172
225
418
938
235
923
980
565
995
392
71
884
520
457
878
336
725
43
674
984
185
406
742
473
497
582
523
775
151
381
398
1007
195
872
690
525
535
674
50
368
662
776
402
788
906
537
264
90
619
900
924
274
392
140
860
348
235
198
314
797
895
283
435
298
622
332
255
863
181
683
753
318
641
514
98
156
982
169
205
751
231
496
504
510
423
60
121
53
590
260
175
117
47
253
319
772
972
514
565
243
994
121
964
429
522
184
8
843
663
988
661
288
584
990
415
82
688
74
224
28
939
324
91
880
149
1003
212
614
543
42
162
451
951
819
976
845
651
513
832
728
655
277
613
321
194
471
513
322
994
742
312
268
830
648
916
693
438
121
1017
1011
669
667
379
701
982
932
9
780
190
902
49
282
118
342
271
139
682
831
653
254
316
564
763
247
857
704
234
681
152
441
581
568
643
400
991
732
979
326
484
327
499
907
970
725
13
589
678
125
113
318
175
767
455
4
679
36
1015
626
653
987
770
484
260
541
507
852
201
849
945
412
797
610
229
414
224
868
746
388
867
364
177
1005
243
662
34
525
90
798
576
846
603
148
400
689
159
902
975
253
454
704
437
321
224
300
535
34
251
438
96
809
229
255
273
910
577
869
66
562
264
104
380
145
94
37
974
581
822
799
878
193
583
765
358
531
195
199
363
198
780
144
469
888
811
163
4
607
695
559
864
859
435
16
123
1002
346
372
130
742
477
799
451
698
570
588
23
677
665
319
963
238
352
386
36
614
737
1016
842
973
859
567
513
948
482
823
977
314
543
364
91
494
1006
592
608
1
469
88
333
705
500
385
254
371
347
206
316
880
368
411
695
717
783
267
1004
716
36
320
44
791
176
404
303
923
197
332
858
11
574
835
730
288
616
779
814
768
642
783
110
627
306
101
444
858
225
141
862
103
335
500
9
339
787
256
671
1020
244
972
718
789
221
652
550
767
420
481
187
678
358
674
137
648
359
717
1003
976
771
525
559
400
688
829
476
331
8
885
351
350
128
73
252
949
711
58
633
485
96
967
501
44
576
645
526
531
608
572
1019
111
816
776
799
432
918
801
502
629
434
732
66
402
74
815
456
240
328
126
986
39
406
61
626
930
707
722
719
211
85
853
956
430
774
501
17
375
135
114
529
398
13
836
311
523
962
396
862
416
407
541
131
68
148
919
88
385
454
155
236
330
436
221
951
316
457
765
605
538
251
371
962
518
771
849
903
894
635
697
968
709
863
1023
49
410
527
37
853
127
251
145
219
798
195
761
172
611
35
758
515
1002
777
250
709
878
397
296
808
406
345
884
589
765
932
539
137
447
473
515
146
695
801
793
954
567
960
664
691
236
51
938
611
964
260
548
107
79
782
637
892
680
882
220
487
330
525
879
268
173
287
284
368
100
969
401
598
230
173
963
776
258
472
628
749
380
397
558
528
517
938
670
323
838
1000
106
1019
468
891
170
133
715
558
13
771
747
357
312
312
4
687
965
630
249
233
734
694
211
188
656
362
458
375
921
431
529
563
622
216
731
425
292
54
950
560
76
476
410
456
939
93
429
648
534
458
791
985
76
474
63
403
245
804
388
660
889
986
457
629
517
1018
146
773
912
68
269
455
729
303
905
383
766
400
44
913
446
1005
109
77
545
412
173
933
5
459
220
519
556
22
706
856
655
653
594
726
168
701
689
344
61
153
251
464
358
827
414
344
837
120
758
946
696
318
182
488
204
952
355
142
410
929
275
60
444
493
532
640
467
731
366
875
899
228
641
647
988
600
329
761
245
806
616
164
481
227
1021
191
530
144
334
670
522
287
968
596
813
985
322
799
757
352
102
816
592
724
52
453
373
506
267
916
374
494
521
642
431
582
484
296
359
178
285
982
185
375
560
189
874
505
957
89
118
78
321
145
71
712
970
916
621
611
570
783
89
900
443
449
317
939
1016
722
659
930
967
918
456
305
666
189
761
275
734
357
840
832
46
882
609
979
52
888
684
942
639
828
388
27
967
694
940
1017
49
203
709
104
925
196
83
678
811
594
555
678
697
405
105
799
803
274
523
351
881
56
165
765
213
255
410
863
801
105
202
209
831
971
936
204
566
899
768
771
534
300
295
616
900
366
145
606
354
432
452
286
139
303
96
127
505
701
488
882
604
132
133
195
194
883
418
696
650
814
190
747
24
631
467
597
820
541
74
829
926
713
929
97
262
11
967
695
576
615
421
742
483
461
986
677
767
750
285
490
526
125
94
115
374
517
105
248
691
865
849
904
165
96
561
1000
861
686
146
299
887
487
138
275
188
761
448
619
503
522
670
360
156
559
76
727
502
689
294
114
324
281
763
760
719
956
478
418
967
335
565
101
295
293
689
385
570
753
770
755
123
241
375
779
266
695
681
413
346
182
237
750
436
103
979
291
923
987
459
1007
934
14
19
112
778
816
303
850
219
539
123
502
737
550
306
130
335
840
167
507
818
593
800
190
49
344
447
838
382
337
409
956
760
838
7
0
879
660
168
538
751
503
158
684
228
846
813
503
359
774
692
198
888
768
178
631
271
894
268
867
368
958
915
916
252
556
690
1004
661
30
889
343
995
741
85
836
66
995
188
701
747
430
434
459
218
415
656
524
330
464
28
865
391
995
604
969
219
508
1015
819
426
616
14
578
304
437
676
307
252
267
450
585
737
555
460
985
49
162
334
44
415
4
542
182
790
912
1010
271
241
144
57
551
590
382
368
342
689
21
236
534
489
652
471
607
708
205
193
531
722
647
637
871
192
692
651
778
562
638
374
897
282
117
805
868
24
196
722
832
664
323
174
989
154
160
881
594
909
209
599
389
55
570
226
688
623
600
507
997
633
873
333
297
671
67
261
59
579
891
292
158
197
933
956
271
406
678
68
354
888
628
731
93
852
322
23
208
802
724
136
187
168
67
9
547
372
343
648
987
342
407
174
527
236
948
460
839
583
293
462
331
539
792
534
386
121
915
581
597
346
356
787
315
749
464
331
268
531
398
346
985
250
672
550
876
79
350
961
75
599
925
85
236
51
169
803
415
415
546
489
975
93
621
100
471
765
666
140
22
786
997
637
861
686
501
644
421
1010
347
893
732
222
555
69
331
268
142
317
203
946
800
78
659
169
609
574
171
90
851
196
233
564
584
222
213
407
225
958
96
777
913
0
683
946
853
276
422
667
106
603
584
615
186
30
587
583
598
1011
403
596
424
929
790
715
108
612
515
467
650
303
863
514
793
281
515
486
11
257
744
590
933
240
242
883
249
465
717
274
1004
128
815
199
169
749
1018
393
799
553
660
860
837
865
171
907
532
273
1011
962
653
510
969
111
1019
415
163
106
580
439
880
384
258
631
212
733
331
12
229
796
335
675
664
501
874
403
507
728
44
925
407
722
618
577
294
1001
380
714
71
954
473
796
132
263
573
996
101
236
340
103
1013
1005
582
975
380
868
171
904
823
318
742
956
466
482
934
276
597
378
505
80
86
955
547
43
197
884
189
598
830
430
884
774
313
799
846
911
110
680
710
741
247
327
257
481
368
633
344
80
72
310
989
28
555
296
13
296
699
296
613
925
1016
114
825
735
79
780
890
237
556
880
360
121
940
900
820
951
125
502
873
166
912
600
805
701
301
208
955
557
92
978
838
838
478
156
736
91
517
819
914
426
874
757
424
213
642
411
57
957
563
689
1007
847
101
981
916
940
486
85
667
130
457
644
83
156
135
12
711
283
53
199
515
910
1022
358
631
318
661
994
338
121
304
777
670
451
888
821
95
342
964
838
239
524
485
726
254
492
444
579
953
400
671
974
730
260
842
720
83
595
234
803
572
324
1003
418
877
280
664
192
532
840
315
467
665
826
829
135
839
765
677
952
846
768
919
143
805
153
903
1019
301
497
650
911
526
846
361
612
618
39
969
269
939
855
430
110
474
1015
77
523
720
1022
981
438
150
768
810
684
150
735
550
511
763
431
431
821
904
649
87
1010
111
55
347
785
158
857
881
755
826
818
558
860
300
56
915
226
648
276
188
827
491
780
704
528
41
271
30
177
618
518
828
48
861
511
740
603
976
12
736
861
836
213
302
312
7
36
301
736
72
25
126
864
687
218
677
504
478
141
255
66
119
567
1009
252
863
93
0
956
109
627
236
301
808
238
107
700
1013
30
610
633
76
930
568
387
288
878
772
298
765
169
204
6
1011
330
353
271
650
318
718
300
593
834
49
445
674
874
271
15
849
662
229
910
200
354
534
7
940
116
928
746
943
666
943
42
992
655
88
849
756
670
324
537
15
454
551
855
965
518
693
589
108
618
125
779
803
691
516
140
504
359
1000
929
990
856
795
983
605
20
324
632
957
176
969
1018
876
644
641
933
840
115
697
555
108
310
424
295
936
907
82
806
798
813
16
991
885
702
150
749
38
863
508
559
641
12
184
743
698
37
659
289
606
209
342
591
630
342
407
664
924
448
399
256
139
965
561
480
523
351
75
706
694
592
258
442
904
485
456
147
588
891
197
504
594
269
495
536
924
396
993
979
292
833
823
154
344
293
605
320
922
150
945
759
971
387
45
1008
327
603
695
212
558
370
130
902
409
659
54
755
410
626
238
361
455
183
71
973
431
887
369
286
667
683
741
171
797
896
966
246
876
257
962
835
1021
585
651
30
1021
210
3
394
703
620
565
247
821
1007
629
405
324
915
775
503
1008
1005
1000
454
313
662
316
3
317
647
482
605
619
192
114
194
808
164
621
841
333
1021
503
846
10
364
99
789
992
74
145
816
318
69
650
730
387
380
757
419
974
421
529
80
819
545
119
400
647
551
185
428
995
38
909
797
141
847
476
92
749
802
43
134
42
90
658
120
696
328
202
2
380
849
877
352
966
349
53
239
395
104
493
708
974
785
193
981
321
66
24
23
556
313
766
514
580
872
316
704
431
850
590
451
943
137
280
936
626
443
216
940
743
192
776
882
993
820
395
940
980
640
369
691
921
192
107
155
799
39
419
391
141
695
199
197
865
828
189
141
254
318
389
974
910
981
50
393
156
882
101
613
34
239
208
248
412
187
598
793
192
659
912
176
362
267
75
689
413
375
436
1002
973
690
33
389
21
249
653
630
856
542
843
778
229
924
262
494
849
852
4
695
767
381
695
553
29
771
221
270
439
277
530
53
632
556
255
649
835
320
932
404
418
512
799
160
1009
681
633
628
544
902
224
221
436
163
332
659
664
385
615
848
642
868
209
847
165
782
508
371
70
575
57
343
495
149
89
91
413
719
375
77
850
66
623
721
381
95
591
225
848
700
193
872
372
868
314
385
886
494
644
891
891
214
913
667
770
812
791
917
228
370
514
132
818
711
60
415
947
281
83
596
321
353
435
551
839
228
49
8
990
593
787
915
241
930
950
249
889
383
535
547
532
917
212
590
227
606
377
31
781
198
651
600
505
201
824
402
870
763
122
630
914
74
317
271
731
142
306
490
386
798
843
426
243
128
504
830
620
874
401
484
823
86
964
347
609
497
494
833
828
569
232
201
283
1023
234
95
1017
905
590
244
264
519
896
835
902
171
266
437
732
956
865
97
287
642
797
865
117
37
159
911
222
961
152
512
2
980
242
541
87
578
490
450
98
208
953
226
444
64
626
139
494
445
455
832
981
578
167
949
28
135
65
563
52
847
391
349
343
129
495
466
650
19
55
418
342
364
1006
593
516
684
319
483
965
641
563
388
355
442
491
635
664
595
865
959
300
807
586
620
319
154
56
907
86
980
652
982
143
99
95
769
411
553
822
118
446
906
778
556
134
61
25
859
1007
90
126
491
1011
947
112
444
139
795
193
681
598
933
348
627
460
432
1011
114
576
755
632
253
378
695
976
213
66
848
240
789
504
129
930
990
622
94
557
228
907
613
746
832
103
823
613
971
701
681
271
759
256
910
404
846
830
197
312
489
249
520
67
415
763
838
265
930
141
207
647
824
435
353
560
478
664
909
866
116
305
634
343
827
84
1014
306
941
624
273
813
541
870
31
126
65
517
889
141
314
333
359
498
128
921
80
974
718
251
526
101
124
701
281
1002
798
309
521
1007
909
804
88
91
677
814
152
918
850
1002
291
420
122
525
890
500
846
778
705
288
336
432
1022
364
946
675
174
745
94
212
249
946
783
605
10
202
313
220
915
903
591
692
182
228
963
482
689
646
840
305
578
135
950
862
754
740
620
904
783
673
649
564
649
345
835
774
296
887
198
282
32
646
608
250
495
697
610
651
657
921
103
302
87
415
896
985
278
440
495
788
69
432
650
223
177
358
808
409
819
181
612
171
4
950
622
500
239
76
164
688
919
114
699
977
37
769
51
884
682
783
692
459
610
866
34
630
671
144
107
729
861
674
42
811
231
42
713
957
991
4
795
8
862
712
523
515
871
117
147
336
981
452
801
731
768
979
325
430
578
131
418
258
319
925
743
662
550
974
811
649
701
390
668
717
368
605
191
461
688
536
260
490
509
827
1006
171
208
561
432
894
896
23
691
246
599
914
137
530
24
133
525
878
93
65
597
366
345
910
65
427
647
739
410
474
461
263
95
869
805
596
857
232
918
625
1007
959
239
60
1009
848
462
196
744
178
965
168
722
636
259
18
877
68
275
36
423
674
377
538
724
77
517
971
287
686
493
233
301
622
365
832
880
922
495
249
995
31
798
514
293
115
290
273
435
259
324
692
728
26
863
451
865
753
1000
408
976
138
418
236
943
325
569
27
403
841
12
252
566
48
165
1021
645
558
797
63
849
999
466
358
295
190
724
704
934
400
1011
106
336
206
554
341
433
705
519
878
151
293
576
735
821
506
526
848
431
948
573
184
638
959
435
218
513
595
219
434
178
13
347
503
381
739
766
486
96
673
893
355
489
4
277
844
966
497
330
912
48
499
340
507
796
574
904
47
103
871
355
496
612
635
988
990
796
753
365
45
698
490
616
128
120
441
594
247
282
326
963
442
998
867
561
97
810
92
565
89
511
28
681
79
262
797
209
941
173
385
1003
92
646
457
828
467
307
296
81
198
727
75
180
67
650
105
860
60
822
754
96
412
356
457
151
106
203
381
885
206
979
122
116
232
720
669
346
928
344
563
722
372
7
787
51
325
284
195
920
880
651
990
938
713
454
1002
938
307
760
184
1015
614
790
249
141
184
281
202
169
69
85
898
940
469
229
567
329
361
859
17
155
691
705
796
123
985
688
475
397
315
514
747
648
694
768
402
693
364
165
281
107
912
344
338
296
192
530
774
220
216
287
707
481
252
133
981
853
625
553
838
479
933
72
758
1019
939
254
479
466
30
71
154
485
654
174
367
192
66
316
669
304
814
143
174
756
601
126
638
401
611
526
664
367
418
1001
28
582
33
193
933
477
562
426
404
35
115
157
448
708
431
23
671
450
271
586
545
414
553
113
784
3
951
280
342
471
954
432
383
737
763
578
475
751
395
232
180
240
588
67
939
655
692
990
862
148
469
198
766
584
880
221
607
456
640
925
259
919
686
261
538
818
906
609
1000
744
514
502
613
946
482
123
171
599
15
322
545
73
6
237
997
252
302
271
226
223
411
668
3
377
896
361
683
791
45
648
284
712
555
779
404
918
151
264
119
506
70
788
136
998
190
716
677
860
474
79
507
96
935
64
866
185
175
978
278
753
2
284
395
397
258
224
253
129
753
977
123
281
830
473
652
433
629
980
910
903
498
325
28
296
751
556
118
736
605
1019
358
368
681
946
361
770
423
271
178
640
30
267
300
234
109
912
99
106
434
322
76
941
543
163
533
239
665
494
938
513
508
851
361
780
430
500
1008
933
262
854
416
537
1022
732
550
981
434
292
626
853
626
313
745
349
142
854
194
945
447
203
42
927
655
466
121
271
581
605
246
491
915
635
680
332
259
414
158
779
696
546
230
239
619
792
322
658
242
305
392
59
570
857
1007
983
538
555
949
598
162
906
385
213
915
116
466
87
503
363
720
347
548
745
78
125
588
688
894
1015
695
121
27
255
866
529
531
111
7
384
831
310
866
432
691
787
197
270
440
904
837
398
458
685
730
971
223
476
821
1012
846
711
964
111
961
543
534
215
186
280
382
912
807
536
511
340
682
615
432
677
111
463
98
689
530
733
512
117
687
702
877
902
131
198
436
253
611
920
120
120
760
770
650
165
527
935
1004
733
0
49
617
399
501
972
462
124
453
864
23
20
395
471
81
202
395
862
1018
719
566
265
458
277
727
188
663
903
662
163
791
175
783
748
384
522
975
51
431
624
152
104
154
497
879
450
857
120
513
644
473
947
724
508
719
173
509
174
690
681
704
811
465
103
33
287
423
69
42
734
240
408
584
375
217
622
135
409
378
616
644
372
738
6
456
187
989
705
1021
745
282
184
999
238
376
840
814
762
345
931
284
128
110
593
120
939
663
907
27
706
260
1012
769
404
829
600
279
872
427
742
995
130
956
317
401
936
622
539
749
637
227
620
708
644
449
817
613
178
206
577
546
490
534
40
664
701
101
10
312
216
713
606
364
356
96
225
212
760
370
139
454
426
1015
60
438
685
739
143
507
598
917
363
339
700
578
952
158
456
225
672
230
414
824
47
133
442
165
533
54
873
66
780
1
840
364
481
145
579
847
399
567
927
128
582
115
544
297
252
511
311
668
813
876
874
112
995
826
343
113
801
234
263
397
491
335
579
58
560
601
6
105
971
577
766
230
474
66
1016
15
1015
462
473
552
387
302
291
408
300
790
125
321
492
149
810
463
452
426
840
599
938
381
184
403
170
690
52
276
53
31
839
129
173
720
606
565
713
965
536
307
770
18
817
334
348
941
657
39
204
929
789
474
335
613
254
749
1007
202
461
779
894
235
669
408
340
148
397
448
638
890
116
296
825
409
626
686
633
458
819
950
513
471
210
574
454
221
531
697
484
581
680
241
320
31
947
195
579
193
254
971
485
604
314
322
120
859
926
379
852
301
760
451
836
256
521
660
1006
360
410
119
422
397
349
867
965
1016
340
799
2
763
274
59
359
425
862
423
663
613
460
692
938
438
570
777
604
92
464
549
958
595
26
560
221
585
240
471
869
767
552
880
151
763
543
950
46
319
671
677
665
185
98
727
369
765
821
296
197
295
574
55
9
677
561
900
214
965
1014
725
783
636
811
288
243
440
698
146
659
437
147
583
87
997
815
926
251
192
653
878
758
567
279
255
179
102
590
929
193
401
974
185
417
1015
935
624
527
545
190
606
851
513
459
536
837
924
751
936
291
297
749
454
910
695
321
796
104
389
538
798
668
325
131
478
1020
71
980
703
875
788
85
554
716
405
825
945
595
617
289
270
631
315
805
436
687
123
802
993
551
255
842
299
499
272
879
424
51
869
878
597
556
599
634
328
117
396
328
857
582
1018
995
868
146
640
1000
463
817
827
1023
859
330
851
216
443
833
13
394
155
595
979
33
231
160
173
562
494
404
769
670
85
422
281
35
285
288
562
453
798
939
812
376
520
21
135
42
811
1021
733
96
431
251
252
406
411
114
346
667
306
304
181
195
840
590
31
179
969
250
992
538
821
726
822
150
230
781
972
653
856
615
934
183
546
155
206
512
500
765
999
650
362
1003
988
555
81
1003
865
58
835
631
900
984
155
491
955
371
477
857
540
5
662
695
26
813
328
623
11
525
1020
656
134
455
906
46
572
557
333
448
1017
36
71
789
422
488
937
786
124
677
26
472
1016
176
847
715
1018
754
805
340
491
543
979
154
710
157
494
570
251
264
1018
593
336
882
224
684
266
182
513
770
525
619
195
548
438
255
693
530
962
44
416
220
899
812
207
183
616
475
938
978
963
134
47
680
168
715
786
71
568
328
861
575
876
779
889
767
265
772
283
36
280
65
696
406
797
563
152
64
445
199
91
329
630
559
298
55
620
30
81
499
946
349
326
124
810
1003
953
743
91
243
933
361
121
73
466
174
98
796
956
752
503
666
553
417
409
63
765
376
950
728
345
315
972
374
290
1005
634
878
805
938
574
620
468
621
553
592
437
16
347
392
70
1006
511
69
636
21
123
433
680
22
654
283
691
255
180
637
65
151
624
683
226
681
917
743
748
767
341
290
664
754
402
694
935
675
589
934
68
1001
172
677
213
954
684
815
890
607
99
564
754
184
272
217
767
287
144
575
25
615
856
358
729
116
894
994
12
775
42
470
1014
918
229
694
240
36
54
433
409
237
193
618
92
466
616
497
767
570
247
1021
517
51
727
530
371
943
444
934
450
186
57
797
679
304
900
888
644
517
922
833
805
806
469
480
851
74
248
416
492
725
159
183
783
460
678
443
528
42
866
505
797
113
539
261
462
949
938
436
117
892
214
52
871
852
825
985
878
983
805
404
736
64
208
213
202
112
769
367
838
423
111
419
337
131
958
197
554
678
697
203
484
85
369
737
669
416
571
333
598
600
139
480
841
680
804
59
516
811
157
804
739
272
861
175
479
247
437
443
943
235
418
543
165
1023
963
314
36
228
50
612
812
782
826
526
545
362
1005
785
1000
796
570
153
582
133
337
661
883
263
569
45
324
499
704
480
542
158
550
701
924
995
937
725
37
650
52
462
710
294
287
303
48
577
966
208
367
284
781
604
749
537
279
787
294
940
933
607
859
137
413
484
315
372
102
740
607
442
541
180
685
346
688
529
298
704
663
450
285
1017
14
414
613
555
968
317
555
1015
430
339
753
546
257
578
663
573
629
661
660
530
735
653
594
195
911
413
109
848
804
469
41
877
754
797
614
758
631
588
416
428
448
351
567
66
224
185
963
612
957
627
323
561
212
939
84
674
93
995
40
665
905
206
552
394
811
615
500
3
892
701
938
134
466
673
80
26
27
806
397
45
635
119
897
207
73
247
644
462
682
631
653
259
327
499
520
302
380
214
214
800
993
603
964
216
678
938
456
833
507
986
449
983
865
402
396
586
575
762
346
421
754
225
152
780
866
19
641
27
682
553
333
182
489
57
918
419
935
874
526
328
192
522
447
969
247
375
568
531
237
840
559
681
690
218
423
260
549
313
83
203
530
52
834
149
946
790
753
153
222
288
520
278
850
134
446
892
870
1
231
865
514
563
646
578
890
746
225
969
464
817
260
576
34
595
155
129
896
209
895
956
61
437
477
840
346
710
1021
687
151
308
920
566
363
623
760
814
172
218
138
703
438
128
823
852
515
766
428
853
25
476
13
436
780
69
738
136
275
327
1004
530
785
358
542
852
504
362
136
492
649
454
255
918
49
305
453
71
931
776
860
796
10
927
564
168
396
980
902
821
970
873
327
64
771
725
939
165
731
533
982
596
335
454
456
747
9
71
303
375
305
734
10
823
702
943
857
554
378
113
239
937
309
197
193
167
730
634
917
906
379
28
339
758
223
779
264
312
271
822
408
51
947
186
610
596
15
646
609
945
667
327
325
980
6
33
54
133
443
84
266
350
875
2
903
618
782
73
319
8
146
989
767
185
520
621
790
660
632
914
456
544
885
706
739
904
427
900
627
190
594
535
899
1023
717
23
57
739
958
42
427
584
619
809
137
284
245
47
341
953
847
846
539
634
229
540
435
917
456
11
189
71
46
33
356
993
976
746
102
211
234
426
779
333
984
67
155
681
638
909
999
954
538
39
920
452
695
665
572
754
585
956
658
445
277
171
166
684
118
701
169
940
920
484
812
717
519
156
380
283
725
713
586
617
895
50
220
59
337
130
372
917
268
351
956
135
949
535
1014
144
417
441
95
820
225
168
315
194
898
751
920
857
356
973
329
765
759
198
605
250
261
616
736
709
142
259
928
474
233
431
705
441
122
701
863
901
483
475
788
629
907
329
195
707
187
316
207
1003
66
972
245
596
80
139
136
866
78
410
966
842
555
525
514
476
940
448
772
757
747
746
596
977
659
169
332
642
718
160
272
132
827
969
662
491
416
997
708
552
150
180
376
507
742
108
228
305
191
345
225
920
216
768
834
668
422
810
550
604
584
678
957
782
685
59
284
412
469
799
497
966
122
786
144
733
488
660
978
425
308
61
776
886
309
272
151
84
337
936
594
306
48
116
878
192
575
359
609
272
333
8
906
645
698
189
14
582
977
927
22
784
713
841
130
917
514
194
493
768
109
897
905
62
419
482
359
316
785
234
5
841
211
380
543
590
841
525
948
1016
771
94
542
106
411
657
676
419
154
460
619
546
140
629
311
617
572
8
110
525
752
977
317
471
777
940
946
996
19
922
649
996
439
995
127
981
493
308
286
236
116
279
632
779
697
398
22
260
204
837
610
565
830
328
676
443
793
967
955
563
483
158
742
210
462
257
248
1009
42
20
875
658
473
85
999
925
448
1009
692
889
741
812
1002
665
31
947
331
811
460
418
421
455
453
735
40
514
423
597
143
880
412
234
304
399
456
989
389
289
494
148
1021
107
415
920
241
839
464
885
884
692
32
537
388
710
118
1003
967
202
1023
679
606
866
562
131
334
868
362
88
662
793
555
956
443
500
743
786
38
380
430
325
436
792
38
877
252
977
9
126
541
316
199
854
139
399
837
614
150
86
253
862
792
394
551
852
519
314
946
157
924
262
838
82
641
810
620
116
1012
395
864
219
769
402
891
202
630
142
644
974
847
581
410
760
845
92
585
261
98
798
189
676
626
764
628
713
1007
899
264
977
42
756
481
318
72
247
768
389
949
385
767
789
995
212
519
85
454
691
873
1003
773
156
409
449
390
754
238
842
559
86
29
600
288
722
919
33
761
39
46
402
481
167
352
470
608
182
192
732
282
694
203
208
391
573
508
865
837
463
374
45
21
512
884
686
437
695
771
307
768
861
544
797
541
507
524
29
439
250
557
144
111
259
611
647
545
83
945
654
72
831
22
1020
175
274
724
700
429
898
335
965
381
372
588
908
285
253
202
832
106
722
328
817
738
447
325
308
951
141
968
142
545
1016
563
502
135
173
679
963
665
319
227
611
390
878
963
633
719
205
286
404
255
937
861
857
370
10
27
127
600
625
956
483
252
790
137
873
449
284
784
94
764
151
157
845
965
542
281
719
200
797
551
635
1005
67
701
744
668
903
146
965
430
296
139
572
484
854
666
461
807
1016
509
736
721
129
451
341
816
760
592
124
973
34
233
270
850
187
459
799
560
504
772
439
931
0
807
367
614
879
901
880
491
662
48
94
474
136
357
590
31
300
255
279
284
370
965
274
437
165
641
308
734
99
124
579
169
730
49
391
592
481
846
589
911
624
574
1007
175
161
594
418
678
140
156
910
54
173
35
741
233
788
723
449
704
318
360
32
324
749
254
227
580
831
25
344
591
364
648
824
789
153
366
425
371
576
977
910
836
465
764
565
993
949
849
321
855
83
154
415
25
879
658
438
520
161
835
653
574
193
379
479
667
220
215
6
282
245
267
126
324
316
630
188
487
85
863
445
148
71
87
312
770
938
149
16
544
318
657
579
856
733
645
475
540
807
571
980
555
870
465
750
998
118
711
514
627
100
284
323
622
622
1003
8
440
269
384
735
411
309
893
196
350
199
1015
354
219
581
518
604
489
327
122
271
353
888
112
896
523
983
669
612
986
537
613
707
883
314
768
231
782
336
53
937
898
121
439
700
606
261
310
986
178
255
1012
196
448
329
527
659
89
142
116
875
487
98
121
177
966
61
405
0
127
701
130
421
981
768
549
3
510
794
125
193
46
909
926
169
275
139
185
556
169
294
273
847
268
3
837
384
302
157
392
400
131
157
794
381
848
418
482
795
59
1000
680
742
370
372
525
376
823
453
430
845
719
822
76
900
858
588
526
815
29
120
145
894
330
848
843
586
851
704
74
344
103
429
825
305
228
225
769
132
390
702
322
247
542
751
577
819
193
141
983
721
495
588
169
67
714
191
139
233
794
458
1023
917
219
225
567
832
223
921
347
447
3
269
44
161
554
179
281
707
166
1004
68
737
894
613
907
551
408
186
669
805
242
292
137
352
38
845
567
774
465
22
965
256
170
333
556
531
435
159
784
652
369
889
541
42
741
489
666
343
897
875
975
427
290
988
867
62
908
720
394
986
182
825
229
906
86
870
390
640
164
944
546
25
559
122
409
927
814
919
52
1005
154
673
820
109
424
82
728
596
331
483
643
148
307
582
182
187
944
68
76
882
183
697
913
679
572
846
442
391
516
473
91
222
129
656
506
619
971
788
295
307
83
859
233
281
633
894
33
542
566
479
348
253
374
484
173
734
442
1015
975
407
65
734
491
73
1012
793
981
785
907
962
821
799
439
703
482
168
311
97
500
605
36
440
357
674
236
731
401
366
638
160
571
9
905
765
496
927
875
291
146
255
2
642
680
367
247
297
225
989
664
910
719
63
142
800
815
867
535
208
833
115
34
71
300
467
334
726
128
545
370
546
551
886
450
565
734
541
667
301
518
177
738
27
371
661
817
257
640
623
115
609
722
674
431
1015
238
260
139
380
294
21
941
266
315
715
312
683
935
379
300
860
512
389
775
137
864
1020
100
261
765
452
523
395
434
883
743
535
541
548
978
641
816
353
921
906
551
943
256
887
209
606
754
951
900
800
307
1018
374
733
425
266
904
288
997
54
328
436
205
808
239
679
892
492
278
570
617
646
1023
975
1006
428
615
710
355
94
821
305
914
982
207
760
605
838
514
552
832
574
372
399
841
667
967
1008
92
764
892
624
822
528
290
398
64
811
904
79
22
92
776
107
669
751
636
809
789
102
852
801
18
581
999
912
197
1019
864
1018
477
22
667
529
784
616
855
1002
61
255
235
635
152
869
691
680
546
46
65
81
734
177
318
83
301
907
663
985
891
239
399
544
333
517
504
645
666
211
829
606
668
923
908
873
531
122
829
236
492
113
339
306
631
771
769
810
739
898
648
427
555
708
895
179
364
444
461
771
655
935
918
681
947
860
94
215
765
242
339
650
424
527
814
93
435
8
685
668
665
498
292
909
115
749
935
816
444
777
283
796
626
337
472
347
532
352
1023
199
843
722
326
910
148
913
185
898
400
890
892
43
933
242
456
45
526
871
355
814
497
604
257
421
688
57
825
970
415
521
336
1019
524
83
138
10
493
759
62
576
334
270
783
335
596
26
497
106
405
636
76
99
884
568
37
464
853
862
111
656
912
659
574
378
994
236
607
862
746
705
505
651
372
22
727
968
859
639
234
711
70
113
953
349
959
1015
908
723
1006
152
640
845
76
279
96
1
529
191
703
436
781
29
1021
531
68
119
78
972
579
91
694
438
293
450
422
113
21
697
826
236
212
51
728
896
481
649
265
575
69
754
113
178
470
1011
128
94
536
618
842
203
563
157
955
424
65
973
405
93
969
681
522
382
629
589
994
916
50
259
3
324
1007
836
853
189
198
455
462
322
459
818
544
21
353
164
481
347
859
172
227
243
118
165
87
368
233
798
824
738
776
551
609
633
857
837
135
478
263
714
195
869
376
450
580
302
781
298
36
948
354
373
206
986
37
311
742
975
1007
206
860
951
939
408
738
295
813
936
206
311
18
437
80
486
683
625
760
477
204
940
418
846
55
503
942
296
718
599
523
611
29
816
60
193
466
598
869
780
122
945
202
770
984
397
742
123
599
138
480
443
667
142
738
747
391
196
927
743
572
531
20
757
974
577
866
255
742
119
131
14
799
986
704
701
814
935
853
291
394
309
331
125
721
139
543
402
539
908
245
942
493
147
859
350
151
210
423
13
611
884
148
82
160
260
247
372
648
496
784
722
565
425
705
520
59
347
79
55
950
124
231
987
919
482
391
726
273
907
867
84
978
941
1003
135
243
554
546
992
438
844
1004
636
219
874
751
575
188
540
356
733
310
762
627
739
87
548
835
727
305
774
389
1023
916
919
922
879
482
963
47
849
32
788
641
168
960
496
868
22
229
103
983
446
273
564
827
316
121
134
712
796
937
31
862
206
775
499
599
1011
896
792
969
661
469
12
966
286
993
157
722
425
428
358
735
133
699
785
286
644
36
636
429
902
537
515
372
667
242
761
1
459
693
267
106
895
475
163
855
256
275
475
421
289
641
27
119
879
378
320
168
491
522
450
651
765
465
134
248
485
469
92
873
1020
87
877
135
691
789
321
908
389
275
1002
440
716
867
918
531
811
1007
605
963
607
308
270
653
372
471
302
151
643
177
803
854
349
693
626
92
798
85
144
670
262
379
645
332
787
850
115
162
302
32
707
933
469
319
869
356
101
934
753
171
71
76
926
349
806
1021
394
142
563
320
209
759
408
1015
923
464
1012
1012
71
232
355
883
136
74
964
658
104
591
79
815
192
728
877
714
533
16
48
823
902
120
739
971
782
9
583
358
310
472
821
811
116
12
883
973
587
919
492
760
33
96
5
697
663
803
798
654
354
783
785
303
525
750
532
779
61
666
195
719
129
84
925
84
1
193
550
79
166
400
972
130
878
112
135
746
199
925
414
399
621
345
463
916
275
368
201
806
43
651
530
830
366
696
218
675
200
748
996
205
692
713
667
711
989
727
82
205
6
439
543
946
899
239
849
665
526
743
579
809
18
934
582
331
203
813
214
456
776
153
207
902
932
399
398
1000
705
542
437
751
420
977
3
828
363
120
9
126
247
652
915
136
117
823
105
458
56
437
276
337
701
592
777
514
598
943
622
589
856
272
761
914
952
24
546
570
799
838
10
496
326
714
263
4
698
729
559
848
882
1007
243
980
487
388
190
688
300
392
228
819
391
806
262
943
2
23
723
290
955
436
614
995
37
1000
751
133
864
507
788
64
935
825
729
569
763
18
626
931
376
884
339
34
932
816
473
371
906
529
41
303
117
443
913
805
795
189
297
779
1020
609
254
653
345
558
578
244
537
968
972
384
241
486
146
223
478
723
274
539
573
243
174
913
195
611
213
583
478
64
822
732
636
230
455
33
68
745
680
434
748
312
406
28
313
737
980
1014
546
1020
49
735
517
209
297
704
827
617
987
848
735
132
678
880
403
585
905
1006
527
181
780
704
682
1001
189
749
659
120
219
697
669
243
774
683
877
880
835
675
226
254
615
556
541
80
189
647
504
960
696
105
599
875
178
889
960
493
660
433
365
42
956
301
903
517
407
1012
905
947
175
713
30
342
555
1023
757
977
353
946
3
589
170
846
859
976
552
486
869
868
980
464
163
33
378
434
931
300
257
904
49
826
621
621
371
914
813
137
707
937
863
935
319
603
9
69
368
754
937
248
556
1000
220
73
810
273
498
26
26
205
105
300
902
642
544
476
321
413
779
209
930
694
389
1004
855
769
224
1022
623
998
561
83
442
905
791
224
463
821
220
654
881
510
89
981
1
135
553
671
785
269
445
730
180
302
1019
671
352
513
660
632
658
435
412
427
542
424
716
707
478
825
560
281
670
616
980
253
406
769
870
629
150
302
218
282
567
700
225
816
425
421
578
333
222
797
274
242
635
443
202
509
150
934
258
956
578
908
125
241
910
228
759
611
86
824
642
718
42
323
278
667
262
932
805
959
544
398
225
897
598
370
553
621
708
212
319
130
394
273
624
843
130
536
975
456
564
717
338
854
901
745
680
153
268
678
574
408
479
706
603
339
699
285
591
592
93
1002
463
689
938
663
710
322
732
944
695
8
517
487
812
969
154
830
381
654
147
133
342
60
62
371
197
328
493
674
505
452
191
539
921
78
891
271
551
464
453
642
248
592
810
18
141
425
37
923
510
664
406
701
610
999
42
270
936
301
579
68
670
892
235
438
922
762
65
354
316
208
323
576
189
794
411
516
1023
577
729
101
201
753
6
201
478
842
11
420
351
249
498
345
554
325
767
344
600
407
794
828
512
967
846
487
766
355
557
441
882
204
586
191
556
711
671
934
627
268
499
861
159
618
123
489
681
85
600
580
450
69
875
739
1004
617
320
98
967
796
283
312
697
416
22
817
339
47
169
188
199
478
320
39
253
982
596
261
163
468
470
499
816
79
946
749
832
852
968
715
14
144
558
606
215
365
195
661
217
470
698
467
88
798
582
297
383
767
153
768
291
5
778
809
251
694
804
843
144
139
39
105
422
682
873
221
554
164
773
742
491
467
202
0
97
91
246
725
123
644
569
251
330
923
459
354
409
458
978
479
95
504
559
520
110
659
155
877
905
740
195
510
414
212
752
1003
431
1003
565
442
268
699
820
873
1006
715
675
668
783
777
218
351
710
400
965
913
623
362
305
406
290
97
840
620
529
346
744
701
163
243
83
40
971
546
297
494
612
165
613
488
858
261
525
415
59
591
926
887
187
997
991
764
141
834
626
409
901
840
121
44
484
207
921
997
360
414
936
518
63
969
1020
278
780
677
779
819
127
26
1003
764
101
270
652
935
145
475
290
443
697
458
235
813
710
226
639
774
834
305
334
895
998
922
690
17
843
449
918
405
413
626
725
60
813
789
693
890
159
999
976
337
936
282
236
660
219
229
266
284
923
878
578
865
742
631
419
625
830
11
254
426
32
889
721
399
374
101
313
364
952
721
962
403
43
315
781
989
64
566
515
94
514
745
734
920
936
806
925
791
880
492
666
230
569
984
664
115
430
138
766
109
413
787
859
108
706
758
20
553
414
276
962
529
30
165
523
73
32
242
540
270
39
648
696
665
118
944
917
404
971
481
679
958
498
34
516
576
111
151
784
97
660
746
632
994
34
461
474
98
1010
321
31
927
688
988
282
773
896
505
590
490
774
482
809
232
644
459
581
923
223
364
723
80
934
410
309
784
310
485
428
703
45
637
343
900
213
411
311
432
711
157
277
163
579
400
694
735
403
77
60
528
995
28
232
682
864
575
949
182
948
965
1009
419
796
799
489
445
50
985
948
541
117
635
853
951
535
36
609
694
603
524
816
39
67
951
6
491
170
676
121
451
69
357
623
227
290
362
384
895
148
546
434
99
215
23
211
1012
614
71
365
770
724
834
227
572
564
310
661
328
663
626
608
869
959
615
778
514
432
634
732
257
728
783
59
22
106
418
239
559
874
857
330
384
488
221
419
936
120
717
877
577
874
610
940
465
346
162
474
402
524
228
896
769
20
260
834
402
577
630
888
85
350
227
414
384
637
399
257
951
6
991
399
184
278
831
495
894
449
562
963
281
675
110
685
995
1000
913
224
196
721
262
610
463
462
262
93
817
48
540
491
740
681
905
1017
431
676
568
456
481
538
222
472
153
745
776
114
258
198
384
465
529
545
594
626
882
49
992
223
994
153
127
806
825
919
809
259
199
613
74
814
240
961
451
344
496
51
832
686
967
487
650
339
306
431
553
737
591
1011
557
130
577
285
607
1016
878
85
96
240
354
553
492
539
476
245
240
771
706
643
115
826
623
448
403
655
170
724
66
325
701
412
74
340
894
847
692
437
151
954
44
911
340
89
287
668
554
367
637
188
663
180
514
359
71
56
361
339
742
414
220
665
839
389
422
71
527
555
42
253
499
921
34
202
678
465
931
580
244
568
141
845
233
796
555
207
384
265
106
671
375
625
99
313
165
58
120
401
937
807
939
1019
205
529
285
875
100
728
1001
917
872
84
545
100
903
213
946
91
519
838
654
991
719
205
75
199
970
462
19
840
489
115
73
512
70
991
89
93
5
653
356
384
30
349
374
740
811
107
627
839
960
577
785
347
331
514
946
664
87
974
785
140
894
694
147
751
466
727
55
624
280
166
282
979
665
561
194
115
146
309
782
978
817
947
333
519
613
930
17
27
799
437
795
694
162
607
190
782
770
277
935
317
661
531
351
756
421
763
298
389
100
853
151
841
941
398
117
927
917
799
591
152
658
519
414
389
546
330
236
57
248
960
67
51
654
1006
11
578
484
1014
653
341
21
535
457
461
643
718
373
22
411
867
708
961
302
525
943
829
901
187
455
110
246
712
220
697
884
484
355
909
417
847
534
726
939
338
44
81
271
461
23
240
615
673
743
428
586
232
631
304
272
92
887
550
237
637
183
743
755
419
850
287
0
672
844
699
623
832
665
171
457
622
1009
117
171
153
508
742
669
648
764
158
895
783
626
1000
678
489
1016
851
1013
274
569
102
515
658
789
520
157
345
993
770
447
630
949
646
453
437
318
817
611
926
443
293
733
780
94
938
71
263
248
1016
254
141
787
31
544
469
882
617
676
634
795
144
546
788
751
88
574
593
94
582
458
441
305
213
930
790
70
449
760
31
626
267
590
865
126
78
138
602
205
177
968
90
393
600
386
273
862
218
662
923
25
42
293
310
395
768
577
41
379
933
172
890
943
577
929
947
304
730
723
899
365
314
933
676
130
826
53
473
294
633
445
992
311
14
714
260
665
321
63
680
37
657
373
623
598
744
947
717
558
400
808
611
733
948
909
634
835
710
648
501
1003
105
1016
776
124
113
295
601
54
453
862
787
491
417
428
182
376
482
112
512
737
226
162
193
136
843
620
35
1017
146
268
713
610
346
743
102
755
25
506
865
489
486
916
924
432
21
400
261
856
490
780
49
449
278
659
803
494
560
818
338
232
970
635
158
858
179
496
356
627
44
628
491
227
204
192
21
769
994
436
334
349
187
643
759
690
29
831
125
369
624
392
340
606
157
477
837
264
904
930
428
899
681
390
24
948
837
656
895
664
427
555
70
252
771
157
743
285
821
735
835
791
626
425
1014
939
932
1018
506
143
443
175
861
876
213
183
633
238
247
1012
687
13
319
417
304
398
858
744
609
695
266
154
870
133
210
809
858
897
159
145
75
470
991
901
602
841
116
468
550
669
997
1002
751
385
751
901
842
644
539
403
694
758
896
493
111
991
909
993
912
111
269
190
507
93
64
438
166
433
883
371
627
604
833
908
731
318
267
507
186
292
687
864
212
47
196
603
889
109
791
88
701
412
564
810
111
916
1004
204
11
267
329
911
246
888
928
844
785
890
295
328
714
147
993
124
43
460
248
194
905
373
694
219
695
843
896
867
103
424
153
443
210
369
416
349
262
315
893
778
740
542
614
485
508
165
309
243
329
410
812
114
576
53
202
735
172
9
502
726
181
903
356
617
194
284
733
296
600
286
663
862
261
712
545
246
772
937
422
514
508
96
754
549
591
818
127
472
823
732
169
71
485
631
293
784
509
569
560
921
241
463
2
573
990
660
484
134
712
422
168
826
588
682
87
791
948
169
901
86
15
32
730
190
65
105
587
478
390
513
164
943
770
26
388
679
752
358
384
631
664
254
568
498
102
221
649
277
363
832
284
327
386
609
370
415
984
451
287
705
159
917
700
209
714
6
57
648
106
1010
226
115
493
348
596
723
661
946
938
907
362
882
197
357
888
1003
785
230
386
710
0
1023
859
268
926
465
747
49
970
939
709
356
405
316
835
844
566
650
289
700
918
471
852
441
150
977
746
49
888
489
314
671
415
197
28
177
355
209
477
756
347
506
261
938
361
479
204
625
522
772
956
529
413
330
681
246
26
420
941
547
11
545
753
330
901
240
917
919
346
735
172
172
883
779
74
649
806
693
134
760
369
500
641
815
116
279
568
757
672
636
588
756
66
838
519
430
490
962
123
887
606
714
865
638
1014
261
965
11
182
794
754
256
109
59
704
887
245
611
181
468
7
375
327
12
784
774
400
233
146
996
1011
22
626
213
253
938
321
944
67
70
114
526
923
621
537
345
997
987
975
450
318
358
129
517
543
585
517
989
255
582
813
487
531
974
763
117
322
365
427
801
742
94
609
896
417
815
806
156
94
981
291
512
620
882
132
755
707
281
993
952
294
90
425
63
694
649
583
733
455
453
127
573
207
765
600
495
97
80
851
629
65
354
825
756
385
341
535
898
664
246
742
990
906
543
689
979
938
986
1021
433
512
634
296
922
265
496
790
789
725
783
646
338
430
300
502
872
800
140
592
235
62
85
123
359
344
566
512
299
824
101
436
923
665
663
280
407
959
781
529
870
431
937
435
785
716
909
381
688
534
341
683
865
273
461
667
375
716
715
277
1001
551
138
548
393
644
468
281
82
148
615
210
513
431
939
393
946
459
847
112
196
46
399
904
670
697
44
691
495
54
643
975
101
886
925
674
4
428
205
660
864
560
402
948
784
823
586
61
613
977
967
910
1001
246
655
553
203
711
653
90
172
420
473
858
391
216
949
1012
12
60
674
512
877
387
373
178
628
98
387
902
225
938
912
972
127
499
761
905
414
855
193
858
32
752
590
467
686
552
571
201
573
318
294
971
864
555
674
362
213
249
414
281
980
124
858
526
101
963
14
609
734
920
404
765
421
184
613
318
111
983
821
771
84
743
956
191
198
255
715
251
353
208
767
855
822
587
483
73
164
138
38
563
458
517
132
483
438
940
87
807
869
332
866
401
976
725
779
97
412
911
159
396
386
996
151
360
669
168
119
623
914
174
1014
54
408
680
377
583
140
372
365
719
379
794
266
633
733
78
333
794
175
229
84
1017
955
945
675
950
78
561
779
585
962
177
456
928
281
935
208
192
243
819
348
503
90
778
253
344
45
372
295
279
111
212
168
724
1009
659
684
317
637
56
162
431
827
540
795
262
463
159
623
150
775
783
670
655
660
217
978
874
925
34
965
514
717
233
411
91
445
642
575
1019
404
670
533
839
413
994
195
317
478
724
91
564
189
70
50
435
789
420
240
627
223
346
953
337
690
94
691
541
200
579
60
844
117
385
908
460
812
652
815
450
648
915
192
1020
380
244
958
92
482
597
974
364
69
335
113
561
465
465
178
134
230
420
773
846
721
232
125
569
767
811
412
784
553
128
252
436
876
843
312
622
674
855
561
229
976
984
721
389
102
109
626
414
104
398
532
266
975
779
475
551
806
371
418
461
338
235
938
864
150
13
465
893
56
383
472
1004
116
541
487
271
973
348
57
383
714
406
285
843
579
428
845
32
374
172
95
357
709
863
325
600
541
303
497
996
485
874
13
446
752
742
299
714
189
172
444
483
404
754
320
344
610
93
627
383
22
754
908
511
295
755
998
933
554
780
724
873
425
461
624
766
196
480
154
702
968
850
641
176
751
856
679
398
937
113
485
977
179
557
911
546
776
395
697
356
640
984
503
816
89
830
995
918
60
439
288
44
91
61
648
400
619
440
547
548
253
1012
776
644
758
177
985
591
527
773
884
323
870
654
672
87
145
395
889
61
57
145
911
469
338
224
475
379
108
494
820
989
119
548
1008
73
40
773
859
573
804
588
276
746
995
508
314
429
596
951
447
107
628
548
426
336
789
235
853
906
110
466
283
197
339
93
104
175
810
667
928
157
146
816
417
149
577
472
215
364
196
97
419
943
262
247
548
146
256
480
1020
784
827
507
639
97
120
69
981
845
753
866
285
519
383
324
421
912
618
593
387
950
6
222
409
642
750
909
412
871
880
855
957
953
196
1010
118
32
846
532
644
594
649
786
605
591
311
946
701
768
291
18
679
489
544
822
160
420
189
340
908
230
301
253
120
806
505
1021
597
870
717
664
988
22
739
74
596
473
90
559
290
605
320
818
593
343
529
328
364
245
929
291
754
684
940
698
130
72
421
7
879
971
346
602
652
52
451
922
982
931
389
1016
977
522
922
671
802
39
723
237
686
87
530
474
815
34
560
91
557
249
188
669
882
701
706
314
160
456
173
586
364
770
164
604
891
923
1021
261
569
129
130
258
726
660
611
67
172
264
306
377
240
569
638
891
480
671
808
502
108
381
1014
96
799
610
501
659
156
184
31
569
906
740
146
812
868
629
818
100
472
174
805
427
434
740
480
659
401
374
768
131
800
981
38
228
896
383
41
206
401
566
486
616
792
683
487
737
232
201
1017
364
395
601
793
868
1012
381
901
627
684
859
808
583
529
296
472
1018
789
886
236
462
325
33
24
279
784
607
550
665
764
70
339
875
54
226
477
373
570
14
975
600
693
810
369
423
950
561
1009
329
170
554
361
387
45
497
470
770
588
252
672
445
464
340
836
181
636
729
876
276
518
619
492
919
154
922
266
455
34
896
17
937
627
1021
241
537
816
974
26
1001
616
767
597
918
726
56
831
710
540
467
894
694
118
236
556
566
187
81
379
91
627
988
634
878
134
492
20
759
201
86
717
345
607
649
758
7
342
189
692
209
791
897
905
581
998
119
51
630
845
492
330
107
315
9
687
254
438
72
891
63
950
149
319
76
604
524
163
693
283
170
786
869
323
850
525
332
797
919
140
412
267
218
796
513
375
870
925
373
724
26
69
636
726
990
629
647
82
932
808
767
237
1004
920
897
238
847
698
652
551
322
908
134
593
506
124
892
707
657
497
870
765
679
392
663
746
369
758
282
165
432
940
159
34
539
338
775
981
866
794
89
369
718
533
350
504
941
888
272
344
255
738
818
137
70
937
596
999
1001
234
578
769
589
17
273
702
258
553
279
434
658
902
18
621
606
985
612
153
468
0
63
982
122
771
51
649
849
205
590
430
60
353
930
520
578
819
693
534
466
368
238
840
447
464
705
167
523
51
240
831
1008
744
105
537
123
308
111
757
993
593
904
332
546
819
955
809
83
689
545
924
651
568
621
746
538
1013
557
402
694
625
568
231
434
848
864
84
331
19
164
257
874
932
753
508
919
413
759
865
111
947
790
286
539
155
250
760
877
700
455
1006
777
686
539
188
619
984
503
496
397
982
237
645
363
890
295
130
302
22
894
765
529
804
454
368
358
746
154
174
793
302
531
1000
904
789
278
606
917
642
783
23
403
253
831
308
420
325
668
969
241
45
156
786
543
240
182
842
496
835
892
498
494
74
665
266
352
362
282
436
806
108
584
596
923
436
990
781
917
606
393
833
256
222
121
769
317
558
770
380
420
312
126
343
107
826
785
624
997
783
908
604
176
562
434
665
555
40
379
453
526
101
315
770
345
25
1003
535
488
967
389
183
787
884
859
218
56
907
314
427
178
218
717
368
15
237
47
15
537
726
454
541
281
70
622
623
987
9
241
355
185
222
377
577
504
670
126
300
489
251
545
58
812
736
879
93
168
607
517
31
796
357
724
278
546
652
801
571
607
739
757
376
390
162
682
567
983
698
901
976
33
208
713
366
402
372
280
554
599
862
339
380
90
15
307
339
186
606
361
286
114
989
913
571
551
823
650
152
595
79
559
905
196
610
145
402
390
558
869
583
961
807
652
202
313
118
525
1000
365
808
51
370
752
555
785
612
725
266
946
729
453
337
322
830
209
669
997
992
392
389
995
70
927
422
294
542
154
106
995
814
933
774
512
257
611
73
351
817
348
45
193
681
587
551
851
415
252
107
856
515
622
130
587
453
249
863
279
575
273
413
114
362
465
169
822
377
741
15
580
101
829
654
88
54
853
310
80
594
921
755
65
948
518
536
76
737
746
395
316
34
786
414
610
741
46
719
569
540
983
33
373
31
959
715
1008
169
536
825
53
715
729
965
395
694
939
404
817
731
452
348
394
234
518
241
965
300
639
333
132
186
137
240
797
198
230
743
105
312
928
553
228
813
404
530
97
988
431
81
616
567
192
319
50
786
967
365
749
193
124
378
840
515
375
772
710
437
204
103
310
861
562
343
779
881
570
776
95
844
349
713
66
475
329
856
535
986
429
918
50
935
5
692
802
177
170
421
786
156
104
225
95
221
131
401
4
848
27
460
827
100
915
594
78
244
119
277
995
603
146
508
274
814
503
501
39
966
576
1013
876
311
978
548
693
413
54
432
323
286
111
50
381
343
351
909
912
585
307
575
614
826
693
744
644
228
453
325
805
283
426
779
551
306
412
319
892
118
617
160
265
768
189
937
726
757
418
62
532
84
418
846
394
748
538
384
792
774
27
481
512
907
189
486
446
43
395
664
818
880
406
743
91
1015
307
901
66
922
451
36
960
129
677
796
942
222
920
486
487
493
622
172
422
672
948
8
51
48
933
1015
297
20
36
797
471
497
424
317
330
173
712
855
497
437
872
539
985
920
676
234
296
856
905
263
451
147
859
20
491
422
129
55
547
540
652
808
985
906
20
1001
700
383
836
451
779
809
1000
348
878
783
75
288
991
164
420
717
268
182
143
572
633
207
163
937
681
610
541
323
464
121
993
1023
204
977
1008
419
944
48
9
176
826
367
901
280
4
784
172
596
648
216
910
982
961
324
330
450
595
914
214
518
365
946
395
982
462
71
964
624
984
194
865
134
163
690
570
896
246
976
178
854
428
915
757
135
147
689
366
7
468
651
231
350
557
673
1018
394
798
972
445
69
431
793
452
47
633
201
922
618
832
311
297
3
1016
961
36
453
689
406
810
299
811
923
732
551
508
942
679
297
502
705
164
325
3
993
976
987
411
598
415
376
843
359
350
22
298
711
999
821
965
483
996
1008
709
426
484
286
803
979
73
109
324
674
245
648
590
743
104
333
353
1010
992
436
400
170
217
504
779
620
702
792
870
348
781
719
644
580
663
85
127
772
357
692
268
460
278
607
524
919
968
559
74
234
670
924
212
895
733
109
705
399
227
504
87
205
615
89
901
212
348
812
623
214
193
675
513
960
521
860
604
0
952
283
47
1022
273
46
115
423
257
250
862
79
637
192
993
235
432
789
789
995
193
207
449
1018
1006
917
548
362
354
150
978
318
230
288
549
387
189
380
502
849
1021
401
227
183
156
828
256
208
499
272
92
195
435
385
323
440
186
51
881
151
424
507
255
368
791
807
938
486
30
113
61
492
973
39
364
445
335
747
275
811
547
540
982
614
574
95
102
196
225
634
680
601
68
216
835
849
205
765
151
385
567
96
209
914
935
222
538
667
189
252
815
731
772
140
666
337
554
960
344
171
34
856
90
385
951
154
944
873
693
482
270
966
446
833
455
562
149
604
1011
534
527
361
732
922
524
149
265
353
429
409
106
479
293
143
625
27
959
30
687
1005
655
416
430
289
884
840
479
246
996
487
893
180
133
812
150
763
170
353
404
1008
576
962
53
727
94
327
1020
74
60
276
733
472
153
278
938
920
173
356
16
958
926
40
530
450
763
475
230
330
398
462
409
1009
645
360
525
521
510
243
363
200
939
232
77
627
118
539
414
253
157
343
151
21
577
742
829
411
763
693
152
824
447
280
15
742
154
1002
132
357
760
981
849
338
114
843
967
98
164
221
834
205
827
565
476
196
934
661
361
182
303
599
110
686
76
1017
281
94
696
989
965
66
468
798
323
651
518
731
754
564
336
909
471
121
33
400
630
149
549
930
944
610
814
617
794
422
64
357
807
624
729
275
292
507
535
104
475
265
905
56
709
728
984
905
130
210
508
808
684
141
57
1017
120
26
624
504
372
609
485
130
458
707
198
704
190
229
791
686
106
359
293
1011
366
779
90
509
452
768
631
408
603
317
701
196
456
798
395
86
694
313
914
749
947
363
191
538
901
611
462
942
264
930
278
667
973
614
684
464
976
631
523
568
842
865
963
295
245
104
715
982
877
776
874
295
283
659
966
718
870
672
105
562
690
899
805
749
850
18
851
1006
426
836
907
78
435
35
314
239
994
1018
462
916
79
1014
142
393
725
789
919
423
54
455
617
625
997
555
926
646
908
1013
227
688
814
845
550
907
161
836
524
864
573
817
404
347
336
283
282
62
437
1
645
531
424
282
809
313
566
447
79
747
927
939
964
580
777
312
117
471
154
534
342
403
307
758
821
174
519
25
629
431
24
662
662
788
792
704
374
5
233
685
561
950
893
521
799
547
22
347
46
313
463
912
833
749
189
557
448
167
544
83
103
210
567
275
106
593
871
504
663
307
221
26
784
820
419
174
1014
1018
738
368
248
335
335
906
534
377
541
578
19
883
204
996
467
726
181
575
517
249
894
354
81
874
182
262
861
114
537
783
786
682
975
565
1001
22
170
217
334
27
246
998
416
849
741
784
559
572
1012
952
272
138
954
1019
349
866
8
306
417
931
108
952
790
9
62
51
731
438
316
152
868
863
661
785
830
559
762
902
897
956
305
103
137
245
853
559
555
612
63
319
778
902
307
963
1020
446
307
634
263
886
632
209
447
818
401
605
877
223
434
114
880
360
129
491
805
540
212
581
238
769
821
692
767
695
493
888
686
922
875
539
760
823
202
747
575
305
164
571
572
388
813
760
701
242
258
605
582
531
704
716
487
280
804
627
407
324
958
273
598
833
502
972
716
860
682
588
586
216
761
818
224
731
803
833
863
828
244
328
530
220
358
413
456
781
154
902
958
253
527
482
568
890
122
947
272
4
883
386
136
366
1004
1022
785
422
109
228
820
1023
773
473
582
150
79
634
345
331
927
291
417
657
970
348
555
1004
965
838
215
59
575
317
671
715
993
798
804
108
434
423
514
775
735
555
324
1015
70
164
318
51
983
972
0
246
897
835
51
147
872
210
55
871
674
447
390
701
692
311
611
581
520
302
469
4
415
353
292
853
57
646
175
952
252
868
886
848
850
378
660
217
811
333
1015
194
68
760
316
56
571
579
511
225
250
570
191
78
380
355
258
1011
319
839
202
620
655
903
333
476
120
738
333
65
731
46
841
674
142
57
692
846
87
36
532
27
243
880
873
625
475
658
402
294
743
874
252
568
196
220
383
645
943
753
487
426
821
923
970
265
214
198
440
850
439
149
1017
465
586
48
277
493
173
817
544
687
328
64
361
543
790
928
450
974
608
89
278
479
287
41
848
704
605
245
575
18
515
31
611
784
175
710
685
1017
871
163
869
704
698
496
305
780
551
28
808
684
228
611
877
636
463
167
88
377
452
463
982
991
68
29
26
957
257
698
567
3
83
587
401
213
134
180
81
660
650
317
154
997
221
396
559
190
166
170
64
52
255
355
762
586
792
455
375
458
134
334
493
266
330
143
777
1011
931
472
160
48
908
648
583
644
76
564
644
775
544
1001
180
1008
311
118
671
751
956
238
865
643
498
288
549
575
851
300
443
462
709
183
237
268
841
340
898
580
652
210
1004
159
771
551
7
363
752
727
477
80
528
296
957
731
156
333
413
680
14
393
369
15
1018
118
913
71
383
303
348
821
360
640
359
610
402
732
368
288
689
183
454
573
252
799
555
484
614
193
521
209
159
179
470
779
154
272
855
409
1017
454
221
646
575
546
608
470
141
855
161
953
490
397
441
668
178
1022
638
308
26
435
440
886
40
741
914
237
221
33
1
397
93
59
102
678
89
446
687
800
480
822
624
600
630
827
437
269
964
35
258
177
627
864
652
912
505
932
668
588
425
146
194
725
94
94
379
927
533
52
597
607
174
663
747
874
591
142
343
791
455
952
751
585
704
827
723
900
901
233
91
914
717
838
147
887
906
301
704
710
294
559
565
468
697
821
335
259
262
635
129
525
342
731
90
181
207
405
763
1010
928
971
419
972
882
961
874
987
510
223
853
775
930
482
820
281
867
351
752
123
887
789
687
245
718
192
259
477
792
713
701
566
533
962
511
729
937
720
574
655
730
127
880
53
460
116
728
1012
629
613
474
832
734
673
262
755
19
481
479
235
467
959
211
961
175
223
403
472
209
48
65
37
160
204
507
174
29
481
165
998
344
253
777
285
175
689
125
213
422
766
193
783
854
552
137
599
970
204
777
485
418
806
671
36
684
47
442
667
462
25
725
762
705
430
219
396
38
595
1004
260
845
332
201
714
719
253
745
330
327
647
408
990
677
994
851
88
515
1021
572
501
936
585
174
76
377
38
748
988
229
56
654
940
814
391
763
44
277
123
954
398
667
106
498
164
643
785
503
226
371
600
126
776
57
505
677
979
903
148
305
642
641
754
250
801
513
750
1021
979
57
488
655
9
905
895
489
998
620
967
330
454
974
846
970
861
747
1012
33
890
509
749
801
669
480
648
837
843
656
316
719
834
795
864
865
400
1009
809
204
748
455
244
977
944
277
941
923
263
138
543
810
516
914
50
828
652
986
276
850
484
993
418
289
967
590
182
439
872
794
510
165
884
265
762
416
832
828
863
596
483
92
287
799
30
68
576
16
487
581
39
259
475
517
159
1016
90
917
286
1009
871
963
99
830
443
438
661
247
49
725
543
972
768
781
999
416
1009
873
371
552
393
551
776
137
748
585
390
235
250
753
323
508
538
167
140
398
312
332
387
681
417
839
394
453
50
45
676
860
250
189
772
76
783
510
775
409
656
105
964
540
949
443
474
628
486
577
289
398
364
425
544
1008
923
925
511
757
990
810
16
626
24
695
68
634
201
950
93
274
962
538
256
825
222
868
567
45
917
419
226
933
516
728
107
318
362
494
316
357
284
824
392
602
629
967
459
933
628
258
924
415
819
989
775
669
31
409
466
860
197
362
957
4
927
156
793
107
682
152
824
654
830
791
350
842
321
623
525
74
914
770
746
144
797
444
31
991
771
876
140
365
179
1022
279
863
289
787
859
70
887
271
187
169
650
1016
382
103
473
557
597
289
57
297
904
414
891
659
763
762
968
66
992
557
245
802
803
948
635
501
633
210
459
968
565
835
787
368
361
660
280
505
625
846
476
309
823
769
138
507
743
936
720
139
584
579
585
941
938
803
800
337
174
606
759
945
187
271
681
347
338
540
953
880
385
996
728
469
751
465
324
223
312
774
847
56
749
158
295
985
912
893
537
195
822
475
859
971
756
14
268
908
470
896
654
684
809
283
387
194
609
985
573
988
966
825
197
68
63
341
655
148
663
75
242
262
629
20
569
20
944
964
695
933
62
601
747
984
977
586
535
284
243
910
105
720
682
1016
363
950
426
871
699
41
83
164
299
32
883
485
116
465
339
648
744
928
198
961
607
364
1020
163
815
130
943
869
919
101
57
969
127
307
739
964
774
217
40
648
590
896
717
673
140
980
876
545
313
310
285
760
195
525
463
457
135
629
364
479
404
519
269
251
149
845
142
579
939
234
133
985
225
332
598
97
740
491
736
900
252
650
529
215
822
471
382
588
782
575
682
762
823
911
255
550
476
201
449
135
495
670
128
149
963
135
401
956
509
782
107
466
376
398
600
706
533
105
596
541
492
648
11
944
90
255
226
224
85
289
972
370
980
76
584
406
621
343
619
449
887
494
590
975
440
797
219
723
940
177
431
1007
618
332
944
61
53
813
715
668
868
226
294
545
246
954
374
881
297
154
236
515
346
954
222
390
180
798
331
727
68
604
482
125
843
135
899
733
814
905
274
406
753
621
27
31
813
841
458
688
805
458
739
718
922
67
857
697
134
854
857
485
332
749
867
238
391
207
933
70
632
582
69
771
126
385
357
197
453
371
540
964
258
328
654
983
266
75
996
465
702
760
543
741
458
49
173
141
277
322
106
237
434
210
212
79
414
90
844
718
627
91
375
151
544
803
242
247
864
231
51
860
1011
152
688
99
951
397
928
35
263
853
238
316
312
800
498
388
559
835
323
995
859
671
804
513
739
284
539
361
300
302
1
239
426
29
488
983
391
205
1023
723
531
938
195
880
904
614
755
648
337
990
603
748
1023
355
396
792
961
439
583
32
584
833
899
273
701
269
941
915
57
765
280
266
314
805
259
116
431
692
201
720
539
65
270
787
960
157
634
650
924
631
839
829
284
768
489
640
544
54
154
275
582
444
614
297
336
305
248
176
575
833
241
503
0
110
149
144
396
13
27
332
878
274
828
157
293
581
780
487
853
803
688
368
119
779
16
315
605
798
271
649
824
111
616
829
733
982
976
1011
741
833
419
6
629
140
97
489
668
264
567
411
143
1002
938
651
610
342
839
541
284
26
1011
553
219
229
731
897
857
348
648
509
264
282
175
975
242
20
405
400
786
701
290
474
22
826
113
1021
75
605
999
535
1013
5
912
587
3
776
499
9
758
961
403
855
679
104
101
546
902
624
480
731
221
125
277
737
505
191
934
242
62
81
602
759
426
331
571
642
680
243
82
573
60
41
445
168
471
285
635
68
348
242
629
831
861
711
510
922
617
763
9
1008
409
872
737
22
995
521
32
452
850
677
805
122
261
811
338
503
601
986
183
889
542
971
825
691
584
641
616
199
620
385
288
87
860
408
825
198
712
222
94
1003
42
250
851
88
498
896
574
57
864
578
252
600
557
388
700
845
33
324
762
358
870
302
781
333
11
605
119
153
516
645
130
874
848
424
308
88
945
1018
327
516
116
686
9
584
143
675
444
589
75
172
790
69
487
671
108
726
913
1013
764
761
506
838
943
425
47
140
967
327
259
648
966
261
911
875
22
35
440
284
720
225
162
363
410
577
433
532
87
306
490
104
499
478
932
971
164
659
516
703
918
776
290
573
154
256
262
406
569
495
949
848
615
195
3
531
258
451
49
315
594
821
370
153
99
494
625
346
323
810
872
595
172
649
433
46
406
847
330
410
492
790
194
471
778
839
1003
149
650
337
978
39
988
58
313
455
440
191
117
16
93
332
644
648
879
905
132
666
752
598
474
189
225
753
549
282
688
924
623
72
1014
466
481
854
630
480
154
539
27
659
810
469
961
336
865
601
822
531
821
457
201
754
384
64
336
899
358
930
500
910
52
708
362
747
204
767
507
915
331
100
276
232
926
571
60
153
477
991
248
41
897
840
143
74
769
495
118
881
877
914
440
766
193
697
971
9
205
121
437
629
161
87
898
609
912
479
38
913
658
712
808
553
764
295
756
278
35
1005
206
506
738
415
364
267
415
717
567
600
32
844
835
72
947
224
31
985
534
779
785
936
116
73
664
123
326
894
348
505
952
513
965
972
508
266
185
925
312
607
162
398
109
225
968
621
838
644
1009
103
250
412
869
459
724
938
199
915
7
912
845
118
320
798
575
33
884
511
26
598
162
714
99
99
290
460
771
924
1017
452
201
13
208
512
786
88
22
181
75
97
256
496
369
829
753
353
225
967
44
966
1004
680
491
285
357
591
957
427
78
849
434
542
277
693
76
336
946
481
670
843
50
22
300
564
598
773
563
470
533
354
961
850
1011
786
197
577
932
560
197
900
2
63
578
368
185
139
891
463
171
82
652
297
235
156
107
568
546
258
91
354
766
5
348
564
600
291
196
370
920
835
729
1011
967
408
135
739
853
624
737
323
680
777
748
664
996
262
570
77
957
644
94
986
805
548
762
595
81
590
433
424
592
832
239
437
346
549
579
806
416
999
800
264
996
580
326
764
780
60
500
585
725
116
323
761
389
952
453
1009
265
586
283
316
185
277
913
922
72
78
33
541
582
803
251
678
788
887
424
859
645
498
321
396
236
134
74
312
787
710
696
589
175
1004
738
390
897
605
918
447
368
366
30
969
627
92
299
307
894
22
914
773
918
339
130
784
840
281
140
1016
181
625
922
22
489
463
985
260
113
217
928
387
567
423
24
109
81
183
234
797
403
40
248
31
440
568
399
359
530
194
612
415
978
538
534
636
635
100
730
750
859
733
542
159
379
414
517
819
1007
794
629
905
735
282
992
856
459
248
631
931
92
121
127
1
324
493
171
505
175
710
149
327
591
490
797
283
200
601
710
283
92
38
374
255
512
510
104
1006
669
940
822
452
420
754
906
264
695
546
40
439
499
540
566
989
657
118
312
795
679
442
398
777
490
671
768
898
12
722
114
905
17
903
445
981
146
701
425
961
41
510
354
492
527
55
562
599
57
548
875
702
249
346
726
16
126
392
502
394
937
439
449
689
392
323
898
655
31
897
105
601
399
2
592
977
631
440
415
108
763
105
336
501
661
150
704
598
690
980
40
25
611
558
640
202
719
30
498
595
560
938
639
409
134
253
848
910
733
998
53
51
50
839
543
186
558
989
59
428
322
518
155
245
60
768
142
91
459
572
354
466
325
885
671
995
532
271
415
485
182
105
978
1011
153
26
282
861
633
93
931
381
21
671
329
377
420
720
953
571
17
340
209
840
994
577
988
286
668
548
250
948
834
191
252
641
894
868
934
298
707
243
751
176
920
993
815
315
624
558
215
510
1005
941
661
141
949
608
821
1004
474
309
403
830
168
202
925
762
197
509
419
357
377
831
855
490
285
463
268
80
784
685
312
351
591
914
643
320
22
2
918
65
864
39
887
1002
1006
18
177
521
22
650
691
860
45
41
355
510
333
443
60
664
103
513
40
99
816
431
754
956
647
803
88
462
695
620
812
743
349
481
918
784
232
921
1017
342
1019
673
53
912
334
53
913
789
830
578
935
945
449
922
572
498
738
529
782
476
286
600
44
197
474
845
738
547
143
252
650
575
875
562
428
743
389
550
606
250
486
107
769
512
518
744
148
908
1007
997
810
202
54
947
570
703
354
687
561
662
522
321
820
495
580
677
503
581
1003
739
92
823
550
660
926
340
215
743
233
948
477
216
825
942
324
848
631
607
34
1000
247
833
175
867
425
544
667
578
669
527
134
72
715
752
896
910
676
249
894
115
816
54
252
492
763
192
689
777
144
442
19
748
263
852
578
203
835
285
819
338
475
923
794
139
528
250
394
288
466
168
734
189
850
37
859
230
976
615
0
371
835
789
462
610
266
891
472
281
860
494
299
43
42
661
306
381
418
246
38
496
90
738
509
394
816
66
781
498
509
40
899
771
602
2
887
708
559
138
450
822
818
292
2
307
301
406
276
47
793
598
763
769
127
623
431
827
519
826
892
439
180
702
1011
801
200
437
201
459
329
670
377
997
476
43
743
52
48
198
478
310
188
459
323
465
413
171
1015
348
673
692
738
342
677
558
57
315
153
246
836
951
460
810
267
334
44
162
362
638
91
895
285
108
911
716
603
101
225
456
816
922
72
138
886
867
175
807
490
156
49
760
580
407
732
290
605
780
231
202
326
30
895
232
584
462
333
565
553
700
72
430
195
636
990
815
545
92
362
689
932
476
964
790
784
762
441
968
862
974
371
329
108
713
445
716
861
938
837
319
71
731
603
471
440
923
550
375
60
140
790
391
374
289
171
501
136
516
12
795
256
999
301
241
910
718
718
917
853
5
607
1
808
911
644
50
542
289
653
681
407
40
79
549
441
981
835
719
63
344
717
511
572
745
78
381
286
230
165
315
818
394
292
658
0
162
80
816
772
901
471
35
604
903
754
715
688
21
70
631
691
962
182
891
1009
661
201
253
515
102
559
502
328
553
914
914
236
487
310
920
469
880
970
744
566
965
590
726
451
973
418
158
447
515
313
522
193
919
72
963
980
221
9
929
316
91
360
532
287
372
62
637
757
274
457
728
869
713
975
346
635
658
60
84
585
72
1007
311
186
868
718
675
946
672
403
482
614
690
227
941
822
424
426
189
830
739
617
781
60
377
482
892
97
819
424
841
187
33
216
649
244
411
551
128
781
657
573
264
901
668
528
454
686
83
618
422
238
673
298
69
372
926
388
270
738
425
385
250
195
532
610
667
920
801
192
828
263
637
391
987
563
670
765
255
856
429
716
143
528
171
220
550
443
183
391
422
804
509
799
341
438
947
211
276
221
839
100
590
651
388
552
230
336
244
265
183
18
102
620
74
628
263
237
20
844
250
240
377
951
126
734
152
313
661
565
1005
674
985
553
146
564
455
908
1011
788
723
159
844
741
866
316
666
395
843
427
17
536
328
343
561
36
458
46
552
869
775
65
279
275
604
550
516
262
689
950
261
177
858
967
606
347
887
730
631
863
245
61
7
722
218
71
178
938
114
687
395
6
349
606
481
405
281
839
883
872
917
923
796
648
359
95
537
555
557
658
760
599
854
58
979
444
310
258
23
78
546
894
835
953
1012
290
497
874
277
501
351
349
607
772
922
844
640
720
687
212
624
551
565
897
673
537
625
930
454
255
700
582
534
782
484
601
109
525
881
577
518
538
458
706
801
508
39
292
500
1
784
499
748
236
680
647
253
23
706
797
582
440
38
815
199
160
463
199
402
382
246
518
695
571
544
114
597
845
742
279
181
952
453
191
643
955
818
73
469
12
498
260
112
623
701
762
490
257
124
267
898
413
616
578
1010
915
900
112
739
258
790
293
93
328
594
611
374
816
112
869
974
63
322
163
560
448
885
116
1022
524
490
488
608
836
763
249
246
62
1011
677
872
133
330
60
494
157
366
909
714
797
492
471
17
180
614
32
670
210
913
216
932
598
175
583
334
636
304
323
565
999
99
626
283
244
878
60
859
12
285
734
772
403
293
378
847
75
806
902
962
915
700
810
930
249
143
229
200
982
774
948
427
529
6
104
773
998
174
250
768
547
456
136
373
225
613
812
649
549
631
279
633
675
220
164
927
796
125
631
654
600
471
502
539
176
363
569
404
12
480
409
208
775
949
741
986
745
229
52
488
267
916
221
18
702
616
347
251
303
54
785
416
859
171
280
713
564
190
333
895
362
613
177
917
795
383
794
339
528
47
105
17
325
799
1008
393
79
34
236
140
163
408
681
364
425
439
374
789
316
958
469
329
199
896
583
997
947
636
22
613
302
397
313
182
528
694
498
981
496
56
521
73
103
988
329
318
158
953
513
556
98
131
884
128
445
302
861
358
827
559
686
87
690
214
148
313
714
93
61
676
174
545
378
262
526
589
95
116
125
293
842
968
560
734
100
839
212
335
643
575
946
538
949
814
31
796
27
978
665
185
594
586
33
811
374
640
992
435
844
744
364
524
115
138
325
471
439
251
1002
448
190
434
610
112
779
228
139
346
413
657
305
106
106
344
757
768
295
459
766
539
987
444
869
846
970
558
293
49
508
155
443
373
105
906
218
889
691
994
809
974
348
225
2
141
254
493
805
690
3
334
425
829
519
784
821
676
367
30
800
168
62
84
643
532
193
849
995
775
56
346
498
6
551
55
602
435
494
185
883
254
459
932
386
359
822
367
136
1007
687
5
229
848
737
313
618
696
208
419
716
962
652
383
122
751
607
499
360
672
98
859
807
792
746
300
973
755
205
937
490
479
154
217
698
854
507
542
672
549
294
982
514
965
319
774
55
698
140
773
380
767
925
706
664
146
339
639
181
871
578
765
845
821
108
449
529
924
42
724
414
343
251
437
339
734
263
96
322
381
178
238
421
59
341
507
623
455
845
1016
574
1007
102
463
279
572
854
1015
206
735
492
29
34
452
909
505
619
457
802
245
146
281
421
995
40
147
537
350
920
131
262
754
720
279
493
479
542
920
191
792
759
201
296
146
146
199
392
598
535
1009
138
474
119
83
515
535
530
910
102
439
346
29
733
996
270
903
143
209
510
563
892
845
802
659
591
144
452
356
63
417
250
520
993
299
71
756
29
435
269
121
696
85
773
378
55
572
662
197
870
805
374
831
405
752
637
762
681
268
541
554
377
165
754
96
471
211
393
443
446
669
335
668
773
474
165
321
895
369
264
280
253
703
757
1006
698
64
482
515
737
363
195
493
999
845
383
941
58
177
273
277
569
631
49
751
327
387
199
395
1020
131
1008
317
870
995
668
35
254
161
247
436
1007
795
942
521
769
213
174
667
751
385
243
889
42
947
141
125
652
817
877
698
67
461
935
756
310
731
363
875
814
664
106
77
1008
442
220
191
979
74
961
855
72
485
39
655
215
163
703
403
406
401
496
118
216
2
730
661
267
582
975
531
243
210
693
458
321
999
540
197
339
775
355
1018
745
559
225
75
643
526
758
151
331
81
993
162
766
1014
907
712
155
957
242
692
927
106
19
871
11
311
589
434
975
430
510
509
803
417
861
177
448
80
485
327
1007
440
176
157
445
435
294
365
897
721
846
427
857
221
937
478
20
987
527
559
389
275
309
675
9
119
268
106
400
328
799
668
449
443
512
679
648
1005
845
243
970
203
336
104
765
241
589
253
322
1002
988
340
73
530
118
281
583
849
1005
388
507
667
583
212
749
190
637
942
416
502
99
577
932
408
728
183
50
518
553
462
295
243
1004
761
830
161
326
64
573
480
943
814
394
175
323
81
31
736
430
662
686
494
895
949
316
30
443
544
732
984
285
525
1018
372
75
410
119
524
562
865
610
611
354
466
535
114
931
745
62
909
856
175
1009
849
263
387
802
102
137
102
95
229
194
724
978
454
746
526
978
115
44
911
891
811
344
1008
486
109
113
921
156
85
819
695
330
197
355
953
483
806
437
224
547
327
156
722
903
518
310
522
868
669
937
177
384
27
533
141
229
728
256
874
767
880
221
540
476
490
1
421
720
112
650
208
336
866
531
418
571
887
464
454
990
47
245
217
268
314
954
979
496
532
989
764
106
305
884
841
874
437
753
193
512
245
836
964
22
666
114
241
518
946
829
808
22
694
651
936
910
996
83
205
806
841
327
396
366
865
95
25
704
574
130
741
568
341
622
219
846
522
468
314
330
114
448
809
222
135
556
14
68
640
322
97
37
151
127
218
389
87
893
908
534
466
197
785
341
1016
675
826
933
13
856
989
378
222
9
661
423
149
712
901
864
136
69
99
586
877
530
1006
158
338
763
994
131
72
563
367
843
471
126
440
75
263
760
428
719
723
514
838
672
602
168
731
351
76
191
84
226
558
395
963
993
274
570
97
82
34
646
919
79
670
528
528
384
870
861
673
125
390
799
534
384
701
550
258
608
616
63
621
401
399
1019
299
402
413
364
1000
46
956
868
601
569
920
771
547
134
343
395
101
505
124
115
459
7
208
624
69
713
444
483
105
421
602
99
541
426
651
954
751
97
718
330
140
819
981
521
821
715
504
603
760
377
701
299
746
477
456
978
494
275
1022
65
299
856
288
932
246
473
586
445
853
553
67
491
400
611
163
83
447
313
26
161
519
145
202
936
177
147
4
987
637
328
931
118
564
405
187
452
996
901
880
207
103
158
934
505
269
787
690
1018
746
407
672
433
433
114
536
928
95
658
807
798
77
309
546
216
841
42
199
771
895
520
427
627
575
900
954
267
192
967
469
141
834
723
952
381
1
611
708
713
17
900
594
691
79
865
29
606
449
619
872
812
68
471
548
933
333
22
437
154
729
741
390
1015
1018
789
230
531
448
566
897
163
252
328
581
217
475
690
570
925
135
521
187
671
577
1019
998
252
948
486
248
792
189
631
42
772
438
729
959
107
922
611
812
789
261
293
889
884
468
400
755
274
848
975
896
671
947
993
366
357
1010
40
491
286
934
725
127
963
890
671
644
212
839
818
555
565
958
62
617
96
359
169
218
891
408
792
188
81
201
337
138
293
1008
499
236
1018
217
52
978
16
637
79
355
426
917
27
982
536
318
672
752
63
69
709
1002
491
657
569
32
101
648
780
153
708
11
430
467
439
492
502
8
897
525
706
1000
830
679
345
723
900
160
565
925
947
553
800
679
186
566
494
685
395
202
516
87
748
516
895
155
928
1017
557
704
819
777
749
183
490
722
64
1019
896
503
363
546
726
250
943
968
447
269
638
949
674
846
451
752
896
744
481
41
713
290
941
503
709
65
512
446
136
231
482
912
292
53
500
140
50
888
385
194
43
441
593
921
323
309
873
30
385
1004
476
419
933
256
182
365
614
379
913
797
462
373
693
984
179
244
408
174
583
334
906
362
904
195
846
698
850
212
819
298
868
611
677
301
353
442
790
823
909
506
983
483
631
638
932
208
7
328
518
874
40
92
386
152
741
565
0
627
456
900
932
17
20
726
658
535
596
194
659
21
108
549
778
507
106
10
394
796
873
377
791
420
956
806
19
306
205
145
943
54
164
445
601
130
374
382
142
236
872
397
445
339
513
791
741
422
999
122
896
511
502
998
519
943
281
396
947
563
717
127
87
799
305
253
930
712
95
231
725
994
923
699
53
475
169
79
154
1014
774
990
148
645
851
718
396
378
477
134
295
347
843
237
390
868
199
987
318
988
200
518
831
72
162
995
659
709
787
618
461
131
435
865
1007
621
346
539
413
593
157
988
353
711
468
437
505
936
171
511
414
132
68
867
486
772
703
11
248
859
31
1013
893
70
1006
618
773
902
306
171
237
572
354
516
279
328
200
774
785
484
590
951
776
740
774
20
797
706
251
407
202
198
873
587
347
278
769
523
823
778
4
56
582
305
529
514
135
800
183
778
923
981
943
49
610
976
20
912
808
585
175
647
552
975
709
708
22
937
317
596
599
633
739
264
701
886
733
906
16
777
57
125
26
27
892
147
68
63
654
83
710
500
976
498
1001
762
773
147
92
338
848
205
891
422
249
657
180
17
728
527
629
928
735
132
23
678
88
162
249
943
1017
781
324
298
617
104
80
741
202
988
916
552
168
798
676
569
791
894
429
964
305
347
51
126
830
499
260
829
236
773
333
284
528
748
784
606
962
959
739
570
836
356
169
236
402
660
386
602
989
249
934
283
240
759
648
977
986
625
175
436
770
892
297
106
731
371
425
925
1015
547
269
781
836
587
18
952
602
959
362
322
956
488
316
121
1006
132
520
286
121
289
218
393
110
112
128
600
986
771
468
12
837
858
721
477
718
534
987
986
8
143
809
457
861
477
629
118
158
616
827
602
254
935
802
869
529
783
956
900
520
701
657
240
742
905
47
727
708
384
670
373
755
119
874
433
82
737
309
148
699
907
678
706
534
92
175
868
70
178
969
552
163
504
493
389
454
811
165
122
710
718
162
439
55
665
12
29
411
232
81
866
395
275
474
1013
489
527
318
199
844
400
661
816
39
376
114
417
947
506
724
1005
596
374
655
587
611
184
137
379
771
635
823
391
100
968
724
615
117
95
295
809
836
844
733
738
232
110
186
740
815
941
964
710
240
676
340
489
989
8
428
439
386
83
830
818
250
426
1016
628
998
437
769
544
239
669
849
677
509
523
314
536
769
454
533
668
974
804
604
96
33
253
782
648
458
895
564
225
624
470
357
826
357
141
646
810
865
421
157
472
748
686
621
333
466
140
41
838
188
478
296
709
955
986
822
455
410
345
214
930
187
88
42
601
642
751
20
790
544
749
104
148
144
707
485
356
110
770
21
622
193
337
249
602
274
532
115
635
599
807
761
426
282
164
231
979
496
304
764
912
57
234
298
226
681
154
209
326
87
619
562
696
814
242
347
8
328
191
739
735
683
727
195
692
775
800
364
47
890
798
295
570
762
685
866
276
1012
363
720
721
978
699
243
726
166
850
284
819
806
584
163
909
89
523
562
64
354
165
280
519
799
922
665
758
162
74
932
464
873
638
722
522
118
61
582
66
340
744
730
807
679
168
995
714
29
625
247
294
258
963
918
636
995
690
320
596
577
411
308
73
610
462
549
578
345
602
76
985
863
294
156
812
70
952
486
319
872
820
408
640
668
477
962
739
442
186
601
713
899
543
103
125
328
976
747
617
492
704
436
266
402
491
123
717
259
830
540
915
667
785
58
169
733
616
848
611
304
298
83
291
520
945
915
854
21
49
559
774
641
361
339
880
329
32
171
810
165
423
25
239
570
908
822
72
647
449
658
223
679
441
385
937
6
448
346
454
28
872
885
483
108
745
559
791
934
788
35
611
149
683
593
974
680
503
344
669
427
844
997
529
69
595
310
825
263
280
412
989
834
435
827
752
254
448
689
426
771
526
913
149
958
257
632
239
230
958
499
116
237
814
116
104
359
745
359
192
583
716
68
377
310
604
1011
472
692
552
783
311
804
42
847
25
498
231
224
784
592
559
434
766
963
844
547
402
263
436
532
871
876
690
532
320
799
405
738
805
110
261
970
289
464
96
545
30
781
479
444
788
592
505
453
3
595
163
252
142
194
692
72
842
855
225
660
856
1002
629
501
320
983
494
217
814
522
583
916
449
526
901
435
656
587
119
528
68
858
795
798
941
284
669
768
398
745
334
981
571
852
635
615
342
834
344
138
731
803
980
531
954
520
395
478
267
201
496
111
373
530
634
752
33
709
292
641
681
672
834
166
751
527
972
722
639
652
965
258
835
1018
326
371
583
208
486
309
450
691
499
989
340
375
275
221
877
621
218
396
140
165
495
519
615
841
316
759
461
375
55
476
630
228
977
53
967
529
775
643
651
820
121
544
117
117
350
553
857
286
270
522
126
325
243
790
270
213
250
352
212
482
631
992
232
166
92
523
297
573
243
51
432
609
11
858
117
343
759
129
698
818
30
133
911
424
1009
818
195
265
409
642
691
733
331
879
985
110
697
180
14
482
409
689
780
120
637
853
590
846
793
758
142
884
685
413
509
365
350
504
980
417
214
406
487
873
679
301
354
806
601
869
703
908
135
996
639
664
221
207
914
936
42
805
694
277
118
194
915
837
738
151
904
196
83
145
177
17
761
638
257
660
936
1011
951
128
264
505
200
679
247
557
38
187
44
304
309
136
184
102
377
468
279
852
269
164
931
565
532
194
558
202
794
486
611
29
881
182
752
688
631
185
882
307
247
764
386
308
78
32
468
743
100
763
779
130
1017
185
149
875
342
117
208
35
272
562
335
961
848
338
682
137
642
261
335
424
816
336
184
659
71
631
828
381
760
695
661
64
240
821
460
632
646
504
187
503
43
165
635
667
1008
263
85
204
216
29
83
403
258
865
278
779
666
294
324
739
283
532
586
566
24
229
250
659
837
866
496
297
979
960
779
624
310
273
904
629
560
539
110
244
819
862
399
130
883
121
567
78
341
404
521
583
49
673
1007
702
650
922
404
302
124
908
649
961
523
615
864
871
403
980
744
1016
656
497
28
52
750
935
881
899
252
785
554
340
791
132
457
198
947
45
163
620
582
823
631
201
175
617
365
203
452
238
905
376
7
344
241
732
20
711
505
7
69
245
598
409
785
614
54
77
318
180
983
784
900
373
535
673
32
146
338
31
162
71
884
191
811
189
821
37
142
372
873
777
112
83
589
417
477
889
802
296
836
417
583
1
599
376
267
316
375
963
142
956
302
620
288
815
737
496
159
875
661
914
870
523
351
325
604
211
73
747
721
952
885
536
139
963
371
955
185
695
824
808
341
619
214
700
240
576
438
101
899
154
681
219
854
514
92
961
430
1005
75
1013
597
712
1011
825
627
946
641
600
723
308
477
586
305
860
491
206
652
137
488
850
894
337
424
1019
333
452
3
339
110
913
952
533
707
227
757
1007
930
353
693
791
679
756
341
278
480
539
452
550
773
732
403
45
148
306
893
855
617
165
635
826
270
105
106
951
958
707
650
129
705
829
837
596
177
513
328
395
538
877
195
693
859
57
85
210
190
801
394
898
331
484
455
787
373
1000
157
517
39
1004
247
206
851
908
739
618
507
241
654
877
226
450
382
783
835
536
774
922
551
665
96
466
859
763
92
49
156
91
906
639
934
915
330
372
537
205
42
625
651
465
845
536
155
366
550
259
967
182
2
584
530
767
579
1007
850
843
763
267
790
215
912
174
276
76
61
126
81
328
836
134
402
367
285
846
152
37
324
412
225
386
503
713
28
342
203
748
199
734
366
822
275
189
61
909
333
860
62
711
803
55
656
672
77
803
270
149
338
796
62
995
598
874
405
1002
669
367
473
706
800
588
414
1013
510
672
609
609
861
210
264
728
507
571
738
44
425
997
345
602
247
520
804
509
148
419
888
951
379
152
385
9
268
646
229
768
594
770
668
508
1004
82
291
394
803
297
129
589
304
937
786
201
59
388
670
527
874
876
190
974
347
949
16
652
240
786
274
164
733
847
513
596
308
587
35
366
994
386
827
194
287
507
263
939
391
229
391
328
1007
889
50
851
1002
812
632
425
572
59
589
781
568
754
886
596
428
124
783
696
173
197
354
747
627
369
367
56
449
324
79
650
531
484
646
149
110
470
376
471
947
408
480
714
1003
43
101
897
501
376
502
276
459
896
363
333
103
752
16
355
544
259
146
280
416
646
223
851
912
579
546
574
882
991
870
825
566
780
485
61
61
725
699
415
937
794
491
774
895
441
959
779
731
338
337
918
825
614
566
810
736
961
850
1018
982
184
966
750
422
438
544
153
280
208
63
321
93
300
53
466
335
98
743
806
894
158
765
640
396
171
546
110
433
63
233
75
189
879
374
441
448
457
716
326
298
96
950
475
573
951
302
449
540
359
199
190
821
558
127
805
437
702
661
338
185
440
991
307
196
154
1014
642
173
634
528
772
328
396
666
740
543
219
1021
683
192
984
55
379
859
602
975
255
259
1007
969
147
73
256
7
452
832
393
128
189
240
663
363
502
833
619
77
786
39
416
937
127
738
851
65
518
539
69
398
288
148
189
228
389
599
625
73
322
910
708
325
661
833
456
320
744
999
651
973
394
255
894
376
134
735
311
376
909
725
567
690
407
340
266
404
809
790
459
168
231
275
490
541
288
954
203
608
153
789
805
491
390
316
759
300
858
373
692
944
37
274
756
949
605
476
76
156
946
776
451
384
445
911
611
838
795
872
168
495
293
118
49
1009
1002
630
301
91
265
768
2
540
890
20
16
823
966
505
128
61
66
764
306
526
441
736
112
463
808
552
873
130
494
829
586
1017
998
33
770
873
468
698
440
966
233
741
628
680
807
984
9
19
1022
662
359
941
589
20
750
956
296
275
787
648
897
661
411
120
951
259
418
515
366
532
1012
206
462
321
210
728
413
329
877
776
668
76
619
733
610
545
881
959
1012
687
317
19
819
147
44
679
602
651
836
93
729
114
87
432
932
700
542
17
413
346
451
378
232
485
550
69
442
268
846
312
53
442
462
652
293
50
210
319
624
700
620
342
379
109
292
874
766
988
92
402
84
988
116
21
753
343
958
625
599
756
715
491
588
75
715
261
768
480
902
317
23
702
632
673
563
268
4
863
242
383
264
585
276
547
360
670
266
116
180
867
990
644
61
432
948
423
772
801
777
387
854
966
693
665
489
768
867
864
230
860
625
743
604
830
442
164
86
876
496
727
385
736
861
675
806
960
195
779
575
267
347
18
657
276
886
772
795
1021
66
370
539
645
817
2
667
496
864
796
13
936
770
346
506
825
40
394
507
971
935
692
673
177
205
851
1008
705
827
707
900
691
780
102
806
836
514
936
445
620
295
849
200
591
439
196
798
758
20
570
839
717
452
466
136
454
415
230
147
169
544
114
1004
283
781
984
840
264
539
666
258
148
313
548
286
105
273
847
0
935
723
94
151
105
211
502
686
370
572
148
827
736
760
823
806
720
687
907
138
805
49
568
642
130
432
305
468
392
81
803
894
196
364
732
639
934
532
651
650
59
528
219
77
648
615
615
509
176
136
696
927
138
63
55
383
246
605
366
539
442
572
636
255
264
1017
90
521
383
685
186
715
701
764
65
580
93
750
604
630
726
788
678
1008
315
129
10
539
750
901
292
367
814
935
302
594
130
46
667
263
1001
343
122
991
94
418
552
932
651
596
334
212
448
659
775
839
760
998
784
495
270
1023
58
82
897
960
488
129
335
28
432
200
785
528
488
715
184
451
292
445
302
809
448
680
21
665
765
50
118
574
601
635
155
1021
377
131
987
782
566
807
239
965
603
34
232
193
59
439
249
133
848
899
459
303
1001
917
107
261
805
67
208
993
424
539
691
812
78
224
19
761
285
294
381
299
270
56
19
110
487
123
679
509
172
1019
655
734
521
971
213
1015
216
125
182
110
1010
773
591
79
252
89
280
699
849
891
7
635
749
65
1006
715
190
853
17
328
841
454
129
1007
758
794
47
973
142
389
413
292
500
819
881
415
996
280
148
706
144
707
417
275
749
338
55
175
212
300
20
244
923
234
218
549
170
1007
951
777
826
491
32
209
733
304
485
792
150
99
998
224
552
79
7
499
160
128
285
853
39
267
268
841
507
723
595
671
422
449
710
506
333
194
331
313
839
677
881
743
46
232
215
620
587
532
41
150
675
86
106
869
449
218
696
623
442
127
103
12
254
875
381
991
539
446
645
304
178
392
112
138
982
466
434
650
60
579
388
349
380
666
70
286
100
693
86
726
820
656
520
1019
213
174
630
62
414
571
844
531
378
484
427
971
671
711
525
890
726
254
1002
682
394
777
85
78
836
808
879
332
428
269
350
948
575
443
97
616
215
930
189
52
185
133
672
211
643
318
955
774
101
198
756
442
735
483
124
314
562
546
566
1012
1014
449
400
419
60
710
285
93
863
85
6
970
344
903
698
605
77
267
89
358
515
325
355
465
108
285
483
643
26
725
157
608
404
754
433
697
1019
536
366
865
722
307
947
961
420
889
56
296
317
398
764
854
499
39
216
773
317
509
830
196
205
369
810
13
243
529
993
59
706
587
370
353
702
460
909
400
167
379
524
235
158
450
26
75
851
123
591
622
325
212
872
458
249
301
267
68
649
247
93
391
868
698
970
198
284
49
861
1012
395
1021
169
441
572
88
897
687
418
167
690
895
1021
130
679
759
63
959
70
13
128
427
830
7
729
13
238
279
480
214
679
76
271
224
325
678
28
641
832
44
516
599
217
682
543
789
835
464
595
96
537
552
18
188
193
878
306
412
184
948
996
39
51
289
67
862
651
255
483
883
415
842
11
383
461
210
719
354
398
486
328
900
873
784
272
571
113
31
151
509
640
307
874
85
89
784
216
755
119
738
814
454
619
931
921
751
482
943
898
901
619
298
560
507
260
398
399
135
424
640
0
532
622
360
957
190
807
641
786
471
872
715
184
902
971
125
655
105
830
278
349
534
636
195
111
285
966
880
593
850
410
150
663
779
71
812
781
691
261
392
898
740
741
133
97
249
966
356
668
334
698
98
165
440
169
907
960
975
106
276
593
280
947
772
208
69
972
68
544
667
607
362
355
52
224
618
210
945
96
53
200
196
339
816
812
25
386
590
622
289
721
810
170
515
734
975
871
52
77
363
144
422
898
203
948
172
244
428
524
35
273
353
565
429
313
744
297
337
205
167
764
726
719
764
555
69
687
760
863
186
16
295
17
716
982
649
401
136
164
884
71
758
105
846
735
712
644
639
134
219
407
479
484
679
62
249
578
110
977
447
157
138
897
327
719
76
444
101
1022
689
436
584
300
900
342
1022
715
98
764
712
176
251
627
15
942
414
519
182
57
577
315
139
874
706
1023
47
664
159
139
980
18
493
790
681
382
261
771
567
218
481
825
372
291
113
606
315
243
179
745
311
514
315
487
175
503
813
780
663
150
794
293
316
64
513
1021
344
1008
761
642
929
668
789
814
292
188
613
229
921
939
275
381
1
473
58
955
755
677
676
755
586
235
516
554
672
524
485
27
389
56
482
69
585
316
137
923
614
36
1014
479
226
706
445
258
255
826
427
381
216
421
516
784
422
125
821
328
532
438
177
10
385
829
575
251
773
722
707
521
974
306
481
202
239
707
43
523
439
485
313
541
107
666
736
129
740
945
851
843
824
89
22
917
899
684
517
819
788
982
32
355
635
103
281
550
686
859
1000
682
16
143
7
490
354
1023
318
598
909
646
423
1001
179
141
313
288
886
690
415
116
355
114
342
850
942
827
335
236
908
93
477
159
151
791
610
870
758
702
780
327
1018
218
186
526
786
245
581
393
146
907
553
714
558
666
467
162
570
858
356
623
766
867
329
866
554
644
224
632
833
61
762
974
278
509
352
755
833
765
79
887
52
499
32
701
815
305
389
372
38
532
408
39
573
865
842
6
572
420
367
889
662
249
507
920
882
800
715
11
245
249
958
516
22
478
601
1023
939
480
675
692
906
1015
464
266
791
832
191
997
153
1004
519
653
371
205
407
179
1002
629
150
751
733
646
636
81
592
287
900
600
227
842
547
403
117
343
625
87
911
277
776
738
318
967
468
906
219
497
205
849
529
698
297
789
1005
935
271
745
67
676
986
293
53
980
132
702
308
486
984
739
278
270
735
919
234
289
77
465
974
227
414
747
580
952
424
479
5
198
19
220
875
444
620
646
187
1021
454
81
515
586
458
440
120
749
594
171
984
121
918
189
339
392
438
785
917
3
966
249
699
607
642
948
740
981
741
586
803
858
218
297
513
535
752
973
9
884
282
647
1021
69
618
729
7
1012
632
311
639
289
203
813
640
310
915
469
795
559
66
326
546
766
471
764
365
112
34
41
929
421
556
951
877
955
363
1023
48
236
863
62
994
82
908
810
662
499
895
497
758
6
382
697
812
372
545
157
275
338
277
618
980
125
718
84
976
779
956
87
634
914
582
618
336
754
186
548
649
92
981
657
490
140
105
129
223
221
1022
77
737
229
535
402
964
859
308
959
113
766
242
53
592
653
213
586
395
575
782
92
722
252
224
361
599
215
30
679
605
352
960
545
362
932
979
480
404
200
318
868
222
589
899
522
218
967
197
608
850
273
900
939
917
569
190
729
507
989
155
674
310
817
431
1023
61
587
7
962
118
163
280
492
370
671
124
885
911
765
675
884
998
763
171
568
394
95
794
5
688
353
373
190
598
607
995
93
47
757
634
684
1022
952
936
117
856
518
236
921
270
923
448
320
923
775
694
133
188
477
222
941
489
764
963
809
495
107
631
934
595
366
508
247
47
790
849
413
681
16
826
517
750
756
575
685
155
779
782
92
168
921
982
119
106
406
652
960
236
136
339
332
563
409
366
455
196
303
757
476
142
270
765
23
122
317
625
433
458
446
23
546
580
313
218
450
89
527
145
35
911
218
280
687
271
797
31
349
576
910
16
582
298
390
855
33
960
401
279
494
7
140
259
138
121
612
497
689
265
167
687
958
475
41
854
45
753
841
884
724
218
688
592
418
832
985
40
508
927
81
475
335
186
776
59
327
42
21
707
0
281
316
1018
957
335
1000
700
44
330
979
391
976
51
84
329
527
334
333
773
726
784
548
183
815
25
757
426
698
632
86
50
824
615
324
82
445
531
518
176
102
413
641
671
399
627
380
202
714
379
181
717
268
609
227
673
25
814
763
259
865
61
899
300
137
605
278
534
50
316
60
787
861
874
181
841
185
187
592
973
202
995
645
74
833
659
1023
372
615
152
932
935
395
117
35
726
542
916
110
826
759
982
490
322
888
352
164
920
828
700
306
117
632
224
826
353
886
393
76
187
945
982
177
831
1020
619
919
451
177
523
583
290
833
254
248
770
204
551
29
644
889
307
661
733
25
410
356
990
235
355
866
783
766
88
245
836
1012
183
872
169
951
175
709
532
398
829
838
560
432
20
65
616
813
284
76
981
731
512
265
411
191
112
524
596
218
893
688
767
552
1009
127
630
307
166
629
1018
82
93
1011
60
350
291
67
117
755
976
836
633
119
909
971
437
631
757
598
964
56
639
975
468
590
505
563
972
467
465
116
169
805
786
662
104
762
916
454
624
731
10
125
254
713
546
819
200
723
976
696
580
748
393
1004
837
611
893
449
169
596
985
980
734
295
977
536
411
606
836
170
185
468
837
885
463
294
209
543
876
47
367
362
145
412
615
353
570
410
186
570
530
168
753
724
842
523
36
388
540
157
1022
21
615
66
605
1021
868
8
889
757
863
533
151
754
228
247
958
396
165
292
631
170
462
731
224
349
297
439
378
349
775
793
544
646
749
161
60
363
879
466
961
334
60
542
742
110
181
301
729
10
848
895
102
96
223
990
371
843
724
187
313
1019
0
1004
941
647
182
838
304
883
339
712
461
344
194
807
767
481
597
1016
908
752
646
170
540
58
817
822
195
227
63
166
492
882
677
94
653
554
829
256
721
110
353
977
690
345
342
464
181
887
484
395
348
665
1013
1006
921
775
27
393
125
103
778
592
18
816
712
426
569
158
170
457
918
512
185
1019
621
947
135
108
81
380
943
938
847
328
432
981
365
102
49
410
509
1023
936
439
630
957
737
134
942
355
820
636
63
410
163
91
308
54
988
367
437
619
217
402
775
62
397
569
1010
389
752
610
894
418
576
905
124
749
646
265
104
985
574
405
491
546
900
736
158
740
811
919
643
899
723
422
789
579
758
459
767
51
304
624
896
334
571
673
682
638
581
399
358
840
469
900
651
289
289
617
60
898
339
858
903
537
161
771
617
78
576
619
734
450
711
914
171
283
621
657
260
93
730
537
518
169
203
982
983
390
1
124
352
1008
953
737
500
424
21
329
766
891
632
858
284
826
976
439
317
217
949
449
638
890
104
1003
669
838
360
290
125
340
934
643
551
254
269
690
130
768
135
97
174
227
208
767
932
71
611
480
136
776
657
481
262
419
446
945
65
989
884
160
800
933
45
76
18
945
952
944
7
305
302
325
103
734
549
228
347
657
868
12
563
825
809
499
975
606
994
615
342
925
640
967
450
507
675
479
69
92
209
811
61
748
432
66
446
677
676
504
64
321
753
986
160
389
550
190
606
867
265
37
702
434
742
659
325
542
632
208
602
763
189
965
357
848
351
772
830
716
765
982
409
338
479
695
978
390
595
574
201
1012
763
231
81
428
19
750
38
962
267
614
2
156
635
185
529
775
764
500
546
5
989
628
940
783
979
45
819
924
838
459
485
721
507
934
202
403
722
531
592
355
689
960
399
156
588
30
685
472
106
915
306
313
849
630
606
330
638
668
651
230
829
359
977
803
432
586
562
433
287
917
95
624
181
649
187
418
493
252
343
301
317
134
149
68
97
759
811
227
813
454
566
375
418
447
905
336
129
751
130
428
63
643
867
465
674
252
582
187
485
820
766
61
1023
225
57
545
322
351
320
385
486
840
817
723
934
89
211
556
173
989
475
422
287
719
968
810
580
617
362
123
992
555
693
893
894
98
417
853
469
36
371
377
284
476
1002
1022
985
671
750
105
360
233
755
111
111
232
810
537
738
188
536
560
797
745
497
619
50
14
112
773
539
846
750
562
925
381
112
797
830
11
642
734
739
71
991
35
90
447
614
596
1013
314
354
553
446
836
643
692
434
859
663
692
666
619
317
411
350
318
566
104
686
549
653
800
710
317
615
946
734
8
591
587
247
490
34
306
760
806
777
885
844
663
823
316
561
759
876
851
362
306
324
111
616
423
192
724
639
1014
200
840
426
803
466
327
193
969
197
892
167
775
152
1007
469
841
667
327
556
878
183
575
209
788
104
312
299
695
1000
308
956
821
961
244
920
611
351
1007
602
385
964
277
433
982
893
418
652
714
201
591
658
452
104
755
433
861
1004
263
991
258
198
275
804
555
901
79
507
81
142
1022
806
86
891
311
132
882
755
724
701
1008
179
476
329
586
483
405
469
1005
108
521
209
16
541
447
118
644
144
661
128
603
231
1003
761
602
839
145
966
292
306
439
155
725
563
809
266
437
959
332
139
947
375
635
881
482
414
598
579
436
748
195
718
63
195
882
527
682
522
826
871
241
1019
312
912
72
193
503
209
559
228
534
378
328
564
209
421
865
282
277
539
161
199
203
911
882
186
768
7
617
952
405
516
707
719
623
504
149
352
868
802
679
585
919
652
592
263
662
51
561
810
599
473
980
1000
395
931
316
473
541
941
452
255
112
170
332
814
406
488
959
495
599
877
306
208
19
406
706
517
384
230
816
683
464
930
349
310
257
614
180
753
556
436
545
878
302
842
394
782
503
993
629
709
411
667
553
815
468
115
465
1010
360
392
586
214
240
413
921
606
444
130
440
394
64
813
442
946
541
914
58
589
0
693
341
340
272
425
561
413
744
441
950
598
377
884
478
804
680
287
245
563
235
586
152
852
95
943
627
715
36
865
337
454
152
889
569
450
785
838
840
815
708
51
132
686
943
980
905
760
1015
431
125
997
783
652
3
386
336
580
383
812
449
55
596
283
238
388
35
694
1017
615
520
40
1015
351
595
247
754
27
148
296
878
712
817
382
81
228
813
967
52
713
840
219
73
468
433
884
883
823
355
393
148
332
524
479
977
285
964
878
172
478
878
573
922
617
44
789
524
371
716
596
1023
940
529
987
813
182
269
713
352
463
526
870
644
577
504
913
513
117
826
497
28
1014
623
480
720
70
252
385
763
771
325
107
437
933
258
399
950
877
818
990
373
535
21
130
697
702
900
522
917
140
1021
232
823
811
390
876
601
828
178
48
88
556
468
657
376
215
926
85
331
483
234
295
207
61
263
841
311
329
331
786
62
627
993
161
604
886
46
934
219
856
39
410
871
863
101
992
340
346
391
937
735
545
944
135
1018
63
816
719
953
837
486
895
523
699
38
447
701
148
562
476
358
131
731
642
71
419
543
521
941
322
357
971
526
348
916
84
772
638
821
338
176
348
198
406
139
484
359
473
371
442
309
879
21
918
98
387
193
885
288
25
201
180
810
788
1005
858
222
184
65
422
941
822
319
382
339
999
49
844
555
87
314
455
334
554
376
426
706
864
690
623
32
220
451
195
358
397
28
236
703
81
484
536
229
590
320
147
980
309
627
472
534
569
941
887
635
255
969
195
145
156
486
596
513
323
5
592
412
665
847
737
753
356
238
671
547
864
279
396
169
892
739
276
576
778
459
943
962
1014
354
782
255
733
908
626
476
429
644
376
584
918
960
993
735
727
749
702
951
626
802
573
708
152
913
541
1002
542
201
503
727
299
623
82
344
240
882
63
834
1005
860
38
646
909
685
547
782
365
385
361
110
989
806
954
949
491
786
191
73
741
133
809
876
24
763
214
480
28
458
649
213
385
510
537
995
793
459
538
543
875
485
798
630
981
620
490
939
984
482
305
41
576
51
695
140
339
983
1005
923
760
815
858
567
808
465
976
950
588
145
31
342
339
782
270
395
22
75
702
142
844
66
204
80
559
166
691
156
500
193
873
717
310
233
979
408
533
256
1010
622
996
255
340
564
62
706
711
419
762
515
421
225
556
1014
409
496
12
136
697
113
1020
864
717
197
461
706
873
954
540
609
1014
956
530
732
5
153
100
659
799
598
239
441
787
724
669
404
1006
673
510
639
533
841
820
601
961
580
552
873
843
48
327
269
398
712
212
345
710
218
171
210
376
973
244
149
805
164
877
48
479
610
308
990
575
1016
841
955
108
373
517
483
712
773
822
946
901
865
239
640
1023
248
748
295
474
394
218
1
527
812
925
98
803
569
831
403
124
912
263
48
744
731
963
353
716
508
758
541
316
203
803
40
722
884
806
494
695
180
128
915
846
731
423
949
685
216
666
864
997
33
686
844
662
186
229
455
292
622
568
172
183
722
1017
663
219
622
416
433
866
647
185
703
89
411
569
581
906
67
464
317
231
434
818
53
10
1020
808
767
886
207
438
883
333
907
285
369
206
580
99
357
761
827
602
404
231
444
289
724
682
98
513
697
128
128
97
213
749
826
81
488
1022
475
965
62
551
933
757
496
839
143
159
1002
969
9
674
177
168
612
609
339
370
717
1004
275
146
728
673
741
169
540
96
555
733
529
896
876
24
427
830
166
74
434
937
646
914
729
667
572
933
774
640
241
209
694
447
221
467
428
482
498
982
709
229
475
942
29
665
6
350
1020
428
217
71
910
507
715
477
137
140
669
314
55
156
717
903
129
579
523
710
866
834
525
550
524
47
309
602
515
717
172
890
482
367
410
903
528
424
812
119
265
908
805
90
172
747
515
653
854
372
375
863
636
307
832
419
157
193
225
848
979
736
657
389
441
275
1009
475
334
405
291
191
541
579
524
11
34
812
10
605
669
868
97
749
913
317
746
203
482
748
85
877
447
789
764
893
7
707
150
111
77
381
495
371
568
131
210
721
829
519
903
1022
89
317
998
672
607
471
919
293
847
1023
338
221
910
272
1016
730
519
409
741
824
791
300
59
247
125
544
20
563
406
239
359
662
725
108
580
765
585
557
99
177
971
356
730
66
139
842
431
825
484
834
837
952
108
783
697
216
565
428
791
856
858
436
173
698
682
147
372
917
381
230
890
289
272
511
287
317
786
941
847
824
95
525
555
208
858
314
862
832
42
444
246
326
326
986
553
431
833
217
744
982
890
488
839
725
986
881
362
453
122
239
817
1
232
1019
120
331
514
1000
144
295
251
463
862
97
28
317
357
476
989
267
502
524
60
441
990
750
107
481
817
83
317
387
66
130
624
940
230
97
332
905
286
313
815
632
90
821
235
260
759
617
574
592
194
364
732
474
226
18
147
896
219
612
103
332
472
157
749
145
684
148
731
114
989
594
117
177
1013
781
872
430
631
61
763
485
182
709
871
486
263
686
60
252
86
120
221
69
732
416
127
232
178
49
446
768
929
192
723
735
916
308
492
6
142
863
2
616
578
695
592
60
238
860
623
435
67
716
387
237
603
615
62
27
649
763
139
743
415
74
343
288
457
385
354
969
153
455
557
491
760
615
576
336
706
968
489
407
758
497
741
771
330
276
863
922
84
231
197
931
580
13
965
501
983
903
690
651
711
717
92
736
680
131
225
779
456
34
916
155
563
803
287
821
1007
420
672
261
703
981
339
436
469
397
62
72
237
4
17
21
396
538
1007
231
298
484
129
384
933
933
916
989
261
275
977
744
653
679
164
488
875
853
498
940
269
482
696
947
478
207
635
889
238
473
367
115
920
760
334
695
675
644
19
859
358
616
412
646
53
482
824
592
596
533
51
588
331
932
684
708
859
477
258
181
823
649
383
820
55
847
874
140
491
655
519
873
326
126
219
94
944
440
797
950
931
103
443
146
963
913
167
10
100
457
994
683
548
754
808
424
147
366
633
332
711
975
154
527
193
752
681
59
798
1007
987
260
73
29
290
354
159
896
762
149
431
414
713
814
844
434
448
954
663
735
778
847
330
936
771
250
871
647
661
421
1005
551
132
329
392
617
743
853
645
605
426
962
158
105
977
453
64
39
133
630
411
194
171
333
575
484
610
365
326
54
778
527
947
176
934
921
139
109
850
253
914
19
428
463
923
227
577
65
94
104
254
251
249
485
753
125
346
433
773
719
692
782
805
780
148
633
202
11
82
330
307
531
995
16
826
703
211
872
1003
415
118
628
372
530
794
168
19
354
738
826
96
403
1005
34
409
387
415
975
891
761
1022
579
318
342
278
834
485
575
39
746
583
536
187
454
409
345
102
906
748
412
599
195
38
846
669
814
993
867
428
26
945
414
261
971
808
6
607
721
935
555
777
352
335
670
261
487
168
173
758
733
351
534
889
571
333
900
333
279
696
217
778
815
974
764
312
798
858
52
725
394
12
82
140
1006
898
648
183
470
152
377
918
89
382
214
230
486
163
675
351
326
75
168
154
656
120
983
868
152
771
525
890
673
480
507
460
249
782
790
40
823
176
536
417
121
926
444
2
436
444
323
539
290
715
920
324
776
168
852
124
293
199
769
404
229
107
323
555
299
406
150
973
284
96
105
839
978
565
426
88
715
752
683
596
499
258
261
841
934
895
444
341
583
351
556
414
303
967
848
454
845
734
468
407
328
175
618
870
665
677
353
1012
888
324
538
691
492
913
490
130
972
180
100
114
771
573
1021
321
83
765
383
537
592
852
989
705
832
400
733
700
632
549
70
57
429
482
482
363
252
145
135
854
363
845
92
318
290
1016
233
271
142
6
920
986
44
25
420
986
496
317
392
764
761
581
1015
506
3
571
860
386
166
793
408
1019
699
337
712
486
117
923
413
615
40
300
264
311
894
179
863
529
49
917
17
715
160
901
786
932
713
954
927
233
784
878
539
176
501
117
737
128
70
679
783
542
402
792
400
1010
732
214
681
259
753
404
384
189
187
457
145
410
978
863
579
60
677
3
378
743
578
284
806
681
520
541
60
1021
58
405
594
213
349
734
1010
523
876
634
583
553
964
583
46
58
775
898
678
994
501
458
169
341
803
806
549
38
805
999
594
299
631
6
713
38
369
800
466
70
44
739
510
474
166
813
483
864
184
335
230
773
458
965
801
313
162
931
775
261
388
416
37
385
804
535
1014
558
82
345
148
203
499
94
734
931
380
144
335
698
558
632
847
941
943
303
803
384
488
168
341
484
531
551
92
445
443
197
96
492
703
427
922
572
51
137
553
251
42
732
210
116
479
272
770
620
828
221
619
584
699
816
811
908
247
998
109
453
314
799
696
1015
873
757
750
48
945
366
542
151
231
160
971
346
944
862
113
786
561
916
39
197
434
154
740
802
40
28
975
270
749
282
1005
914
923
271
815
771
696
93
923
981
120
849
807
112
1018
891
500
700
76
84
737
455
337
155
196
581
1023
675
890
556
578
877
216
170
812
983
412
757
517
962
456
574
289
69
42
1023
258
763
930
916
535
309
340
994
81
200
785
140
46
868
260
105
67
561
324
439
887
806
672
228
813
59
327
523
969
35
82
835
775
608
864
11
1022
676
320
956
1003
722
592
471
312
54
796
295
873
650
699
567
313
65
34
810
319
245
138
204
602
831
984
678
637
765
394
116
306
319
267
565
641
980
989
706
631
835
165
440
745
344
472
966
443
690
633
762
335
951
263
105
737
753
846
535
494
234
233
207
204
755
818
634
282
717
511
849
989
378
477
633
175
311
158
221
1021
63
636
146
160
109
935
279
897
181
443
149
133
713
183
680
751
328
416
461
310
783
624
564
626
55
511
400
567
357
628
637
245
764
472
506
115
686
828
551
754
414
1008
644
442
1019
189
416
733
923
737
397
51
934
103
738
260
337
393
504
947
933
191
527
168
652
782
380
814
195
993
523
237
483
329
958
52
393
101
4
934
651
444
368
24
592
320
955
468
520
304
418
158
528
855
495
610
382
920
0
13
379
862
287
149
287
850
240
795
39
611
825
261
654
590
515
406
556
110
211
318
88
18
134
784
123
834
998
329
220
156
85
463
688
419
826
438
863
409
66
563
65
947
426
910
99
549
842
147
847
942
842
572
17
680
995
142
189
808
940
921
759
674
138
87
588
833
86
28
116
704
824
412
236
532
786
643
894
436
589
15
480
998
475
720
785
962
774
825
206
898
63
98
251
707
304
802
539
507
41
124
960
575
1021
649
632
797
491
359
214
1022
173
144
592
545
750
196
793
301
674
907
326
970
59
969
501
903
9
169
318
835
614
163
1006
233
657
122
771
16
787
94
358
208
765
39
635
940
948
758
1007
723
591
205
889
681
217
485
43
861
524
5
59
753
494
541
1
752
357
932
509
939
641
221
233
949
706
398
581
749
376
48
132
743
838
234
476
1016
60
84
150
132
417
109
361
901
450
603
680
412
98
247
820
536
610
336
17
938
538
766
889
214
136
26
64
555
991
579
572
1004
593
420
401
681
571
697
370
741
422
413
109
281
30
120
1011
626
822
524
1015
58
569
787
974
993
400
470
773
284
42
661
993
256
802
24
776
698
889
473
427
708
395
935
806
465
730
351
54
445
333
941
546
856
170
109
847
341
85
667
457
679
82
842
927
783
677
583
689
763
145
527
1018
600
856
227
647
827
487
833
140
397
161
512
615
348
852
441
293
48
935
381
428
338
818
955
939
57
891
302
441
915
363
210
841
234
893
102
263
208
960
602
663
419
64
730
795
987
476
942
288
159
620
291
13
853
271
848
196
338
253
255
181
306
936
256
974
100
16
649
593
1008
547
403
197
670
612
401
815
779
924
451
555
478
755
656
896
707
850
460
861
1013
933
480
130
934
842
221
888
62
103
600
87
196
989
976
234
866
775
506
180
432
188
912
665
745
104
449
404
929
728
1021
925
480
845
1006
133
561
1
35
465
792
1004
598
499
46
970
203
252
604
298
727
855
3
742
176
979
764
249
693
940
673
198
94
101
676
838
898
132
487
529
372
366
19
872
71
313
716
13
131
819
766
553
801
482
936
485
436
524
523
377
461
503
102
720
956
106
124
329
209
311
320
127
154
143
92
1009
198
945
118
740
512
442
561
610
110
111
973
286
59
116
653
528
103
254
653
862
861
83
866
808
284
656
979
766
319
922
728
156
111
651
704
197
276
720
472
850
866
989
914
42
628
390
387
777
1021
372
427
81
499
620
611
169
794
219
255
111
987
1010
473
230
703
128
801
708
394
669
381
167
615
458
491
339
322
213
664
382
790
922
245
488
814
268
997
92
772
83
1
262
135
381
894
518
806
646
179
166
176
964
495
155
311
397
591
357
947
334
569
945
681
677
516
981
743
594
82
325
595
479
865
913
874
578
434
263
312
678
816
685
49
847
259
380
156
124
78
777
820
473
835
652
865
1006
208
999
277
199
518
743
189
870
854
720
466
463
330
99
826
701
256
765
1010
574
197
904
507
939
783
18
746
57
614
396
1017
428
171
488
1018
159
306
365
234
556
947
468
739
34
894
585
744
668
814
645
630
642
856
1007
210
602
329
367
352
537
590
865
88
703
495
739
723
876
829
487
750
145
102
723
164
535
723
342
539
249
713
369
277
494
297
962
90
44
500
605
890
762
241
498
447
447
727
35
119
92
246
660
192
414
937
375
769
951
725
264
276
137
902
360
731
610
1004
577
435
928
422
727
856
24
17
393
1012
692
607
387
806
277
467
726
113
693
752
469
806
821
857
780
220
385
959
491
235
127
974
437
887
985
62
500
563
186
202
890
496
811
397
373
657
593
241
642
742
128
29
758
910
61
24
582
934
27
519
251
1006
771
569
454
1
77
800
473
305
288
406
545
589
392
215
601
158
964
797
68
695
833
587
332
586
90
742
52
495
538
46
912
322
713
116
75
546
813
574
290
709
655
429
478
716
798
890
41
426
576
184
446
481
71
173
269
869
262
234
171
856
130
677
765
825
936
525
637
459
420
406
844
849
398
35
557
618
592
326
969
612
118
425
852
579
644
981
399
855
33
391
944
371
589
170
787
388
951
67
926
806
544
468
542
72
104
530
842
259
370
819
911
263
71
85
358
395
485
659
837
188
894
135
572
714
423
138
360
33
828
785
15
412
98
512
816
268
236
735
353
718
114
411
618
141
921
350
131
593
499
1001
124
368
212
960
844
566
800
892
520
195
527
502
967
653
739
660
876
494
507
109
859
873
503
651
318
969
631
970
151
255
101
893
983
1015
67
875
390
683
428
540
485
172
412
103
551
706
715
337
339
549
129
555
170
514
624
729
331
347
884
825
824
319
366
524
452
228
798
308
201
769
590
954
914
398
269
306
998
474
552
342
804
818
132
617
618
152
895
106
133
798
566
219
818
109
690
40
292
876
79
966
769
145
602
821
98
400
560
879
132
462
296
444
722
2
264
102
127
864
510
569
338
276
378
128
694
480
580
722
549
849
592
351
1003
60
854
267
538
570
652
80
8
978
163
276
49
8
474
238
53
420
504
594
799
141
75
462
14
27
892
180
263
21
634
209
1013
371
681
667
820
940
999
654
567
182
226
513
117
729
375
554
954
756
1022
164
98
524
13
654
487
111
372
948
151
551
89
2
475
152
792
250
876
903
566
31
140
291
374
341
815
962
465
183
591
143
156
64
669
877
666
285
336
343
13
386
361
215
599
771
816
426
845
667
266
404
434
927
904
125
489
382
374
660
226
544
140
869
400
477
385
901
453
62
970
267
807
719
947
114
384
43
592
375
871
346
290
353
543
472
973
42
196
263
110
105
905
729
976
389
454
633
105
637
206
51
87
402
151
512
760
809
479
561
771
3
504
675
64
842
302
437
375
918
324
528
298
40
530
260
637
903
221
179
57
328
725
863
37
86
832
272
699
511
893
527
215
287
386
200
1010
57
0
373
203
684
457
433
799
929
545
28
614
334
547
405
525
805
695
57
926
1014
547
311
138
688
334
940
236
113
976
76
282
41
655
927
411
6
685
922
835
365
175
334
937
847
560
88
124
642
795
503
785
456
905
57
306
151
397
502
120
958
15
411
476
406
873
490
932
6
940
885
317
689
798
819
762
360
745
125
878
535
852
580
279
725
723
579
754
1009
1006
858
947
47
736
779
755
178
484
988
356
771
893
873
463
253
453
1017
579
906
664
588
262
772
423
890
672
934
847
950
552
88
809
568
362
60
784
887
649
505
858
791
182
703
702
426
544
247
778
698
855
753
193
904
514
807
281
115
24
480
229
223
783
751
361
423
242
955
827
379
1022
451
551
845
471
446
697
206
153
876
417
679
247
341
759
150
621
938
926
548
130
750
659
179
797
818
430
400
1021
142
444
537
313
982
336
65
925
760
834
231
556
569
450
967
349
241
781
704
828
956
900
10
231
577
782
863
316
881
973
602
974
559
3
174
499
269
1004
932
29
637
252
191
592
201
626
603
169
266
576
458
397
574
77
738
920
608
892
658
917
40
145
232
349
716
791
749
324
483
120
218
68
245
812
454
44
559
828
850
835
159
289
318
92
613
361
810
494
257
488
815
691
993
955
221
223
51
519
694
111
239
607
243
270
782
358
795
841
874
856
480
995
797
27
110
543
154
207
757
66
727
907
367
488
223
26
368
383
858
392
553
169
880
3
604
697
560
395
765
106
316
986
964
778
916
1019
553
23
317
563
644
335
797
420
949
231
448
842
0
956
177
1012
252
728
257
150
58
784
150
481
770
226
604
143
564
439
909
407
163
579
338
709
825
52
162
1
674
430
133
914
27
809
542
867
275
79
746
207
3
619
438
72
363
0
350
504
33
297
418
865
640
890
148
346
318
125
421
409
132
989
327
240
413
319
699
1009
859
216
865
786
747
49
479
398
424
532
592
917
2
221
316
685
756
836
935
967
105
260
840
444
156
829
906
336
901
60
455
138
996
970
13
102
511
407
880
996
776
517
506
872
664
479
852
970
572
68
53
5
41
549
852
60
444
469
202
528
871
199
939
566
92
1014
723
692
828
117
730
595
516
731
776
872
896
612
355
26
21
886
690
967
422
12
168
881
605
354
300
215
996
833
504
536
576
1014
514
428
804
640
731
980
660
406
803
174
640
428
449
330
178
407
518
53
761
568
835
82
595
181
606
862
897
452
790
573
1017
33
116
294
164
69
109
499
711
884
294
344
269
631
735
1010
652
121
826
454
4
77
610
271
776
966
331
415
97
777
674
149
1002
759
789
294
950
287
704
52
251
809
47
10
554
368
641
297
781
278
829
274
827
567
1017
932
537
819
782
993
673
377
117
810
737
689
418
578
257
992
159
968
447
425
708
803
202
682
547
332
744
590
151
806
847
718
208
551
460
691
431
352
786
158
269
63
616
881
451
518
57
32
910
261
272
930
341
645
379
586
62
906
803
308
172
581
696
949
832
918
947
141
376
403
352
221
105
709
621
964
585
217
46
546
314
119
753
730
946
406
625
904
789
868
74
918
565
33
96
780
301
315
580
554
82
997
1014
318
403
184
691
780
90
937
435
369
55
194
622
882
932
810
183
741
959
108
765
599
499
637
493
177
990
740
913
144
39
512
453
181
785
926
753
443
491
128
759
270
383
622
333
22
919
777
934
1004
201
933
465
371
84
436
510
579
203
663
243
720
747
750
735
859
541
568
52
166
97
846
441
88
540
515
615
911
145
524
12
102
323
736
762
785
918
204
367
556
500
383
891
622
136
874
942
365
450
525
697
854
386
326
910
629
212
900
1014
216
836
689
826
544
1006
68
689
76
367
8
976
50
543
991
586
395
123
418
734
969
736
517
569
416
318
862
165
959
301
343
1
223
734
150
922
880
914
359
584
296
667
860
660
80
435
742
232
148
199
890
357
11
358
183
717
332
483
570
219
799
503
1002
814
747
854
957
645
614
301
223
410
295
758
855
130
956
541
544
1023
705
280
552
545
593
975
769
804
902
411
152
226
60
414
651
746
168
153
555
9
670
983
648
323
607
131
999
25
983
21
798
966
539
20
396
603
1014
813
766
853
264
127
881
563
744
29
56
373
910
305
351
50
346
602
33
650
350
66
683
408
894
27
631
604
575
290
877
336
704
1000
730
764
342
391
631
212
140
558
955
859
826
665
193
892
717
571
488
708
956
81
928
7
222
110
259
184
714
965
204
429
692
516
922
169
155
942
166
627
599
345
1023
482
977
921
281
819
236
550
119
899
441
342
374
882
121
726
398
69
677
622
960
798
363
320
310
934
533
42
50
475
7
222
961
635
389
570
192
214
54
229
433
24
654
502
857
143
586
172
647
561
8
509
572
54
416
208
390
577
769
611
285
225
574
161
180
937
307
710
203
908
878
127
246
888
1007
115
786
249
299
184
525
120
177
46
682
965
235
103
47
385
582
389
622
562
179
1002
300
320
607
430
95
982
350
67
8
864
1002
653
608
93
89
970
20
605
713
960
538
915
0
819
562
111
312
512
272
200
294
973
655
42
1009
657
671
525
752
442
388
127
617
375
940
596
518
87
246
985
329
459
701
856
568
862
625
37
917
71
75
1003
539
241
376
190
130
575
450
833
527
899
756
261
362
148
812
309
158
175
169
109
399
287
381
629
902
471
625
859
160
36
836
500
359
698
718
371
212
285
967
971
545
864
257
379
511
121
600
422
682
28
375
781
155
737
414
118
344
608
426
878
802
603
464
555
1002
456
246
47
691
344
860
410
213
878
602
333
976
755
215
513
559
391
998
306
992
730
174
21
307
984
561
98
645
685
364
86
823
801
540
437
64
977
720
500
180
648
932
466
919
57
144
402
498
557
906
97
840
433
781
843
615
180
284
594
412
442
616
872
996
97
867
130
655
101
229
245
719
772
8
924
952
147
30
304
917
89
98
247
271
584
127
447
250
296
413
1017
188
458
962
75
449
452
736
272
986
61
29
617
573
34
549
917
926
608
898
97
582
409
197
984
327
382
579
776
34
664
250
257
782
183
705
144
303
971
109
1013
242
1003
542
973
965
224
210
180
951
164
630
1003
449
378
483
673
242
147
118
646
2
448
764
940
390
885
215
590
254
646
520
98
654
1
794
345
135
129
5
452
152
848
692
715
504
135
568
117
990
304
220
102
934
809
805
958
665
728
289
429
57
71
625
794
557
216
29
248
975
26
768
735
184
623
500
304
481
811
202
702
145
953
762
96
223
994
621
794
745
451
834
991
969
117
884
784
575
813
580
702
123
349
883
126
436
473
734
192
940
399
422
173
154
283
208
346
548
619
860
789
637
647
801
739
961
39
559
767
953
193
992
241
174
225
238
101
207
644
21
910
958
310
333
330
740
435
42
220
66
592
709
184
898
87
742
115
912
109
505
260
309
407
435
756
377
324
943
116
365
339
705
961
698
0
386
548
9
376
929
525
596
764
399
544
245
442
111
535
309
20
557
136
144
532
57
804
778
532
332
5
362
902
866
919
436
614
921
413
9
709
600
134
516
320
855
361
620
100
965
491
447
361
914
479
397
299
101
593
150
615
379
674
795
720
1000
308
525
322
833
361
177
952
592
490
719
165
369
380
414
117
750
839
403
339
54
77
938
727
88
919
798
920
670
790
527
839
747
458
707
780
473
741
300
69
869
869
1007
318
448
414
587
800
251
355
944
581
799
842
993
26
440
57
209
735
946
438
174
307
941
1022
836
318
822
663
316
720
55
521
451
522
832
492
493
873
56
982
578
517
684
207
520
441
8
860
571
876
1016
701
840
608
405
260
79
940
1003
9
663
218
988
644
557
720
467
525
58
419
193
751
404
230
476
760
119
114
14
282
496
87
949
712
826
366
784
52
205
792
207
757
609
695
942
898
394
1002
79
580
928
78
395
390
750
695
442
692
30
655
729
495
595
976
134
551
1018
581
880
300
360
590
655
886
630
319
651
756
585
398
646
62
163
984
282
574
953
957
922
77
805
645
632
326
524
580
943
9
131
856
695
647
991
824
754
391
817
135
783
609
634
823
683
836
848
705
19
967
168
957
380
807
384
408
790
732
446
89
782
712
796
216
336
561
481
873
785
281
798
788
321
625
705
749
83
109
71
793
685
621
64
970
850
563
11
327
833
419
722
771
780
6
671
394
743
73
445
663
904
552
418
621
281
907
848
664
973
621
174
222
777
226
714
984
234
1008
935
678
740
387
677
211
125
284
650
489
931
197
101
139
1010
513
1005
876
76
450
281
319
747
627
77
268
704
866
558
194
867
878
863
245
237
420
636
371
833
748
143
839
291
907
134
175
322
348
184
704
629
553
919
558
985
171
339
247
609
737
117
391
602
530
287
1013
117
491
868
1016
590
594
675
890
777
149
84
222
85
5
827
819
367
205
267
972
753
543
374
958
14
435
955
1001
876
611
683
793
799
974
102
325
287
826
495
829
863
388
126
568
938
745
24
750
856
848
229
206
158
7
290
212
888
288
810
330
662
237
788
695
121
864
790
257
127
116
468
595
175
195
1004
922
933
583
256
508
776
40
1019
159
514
363
714
711
715
254
557
340
977
733
575
633
85
801
28
520
143
785
177
622
210
786
362
679
565
688
275
339
370
472
423
624
250
392
594
997
177
770
936
944
679
663
66
381
882
46
865
425
484
897
727
789
339
18
997
864
283
428
216
336
235
1002
286
372
734
730
656
853
419
774
704
517
905
995
995
346
938
77
346
34
341
913
176
473
975
398
680
646
977
980
107
830
961
67
908
45
726
506
54
153
352
62
712
344
173
672
289
755
488
534
913
132
675
799
718
339
244
341
464
903
993
160
712
548
968
510
899
558
108
158
932
1002
108
550
877
66
308
301
601
256
1023
631
151
234
845
587
228
981
793
967
748
945
967
226
511
601
83
57
431
675
909
933
576
178
958
446
214
907
105
493
988
777
845
1012
410
768
843
230
585
324
208
724
401
23
14
674
658
907
637
437
690
255
847
847
825
1022
0
651
106
773
351
256
924
360
960
878
302
89
464
374
606
841
775
121
842
363
1000
987
858
673
417
619
354
107
905
576
415
413
500
464
357
679
261
997
821
277
58
282
338
249
845
417
849
366
877
989
35
244
782
628
514
106
565
855
522
944
225
917
619
916
1014
740
866
633
781
98
710
939
706
277
568
34
60
1006
741
918
432
747
501
92
822
583
677
588
973
904
279
180
957
723
748
523
613
298
672
585
858
848
547
468
597
702
982
512
541
254
812
758
794
473
88
972
500
206
76
366
55
417
612
369
590
359
505
52
714
644
261
1021
36
693
23
322
847
856
622
370
1020
195
852
231
219
846
432
193
555
928
996
225
964
545
451
392
774
459
244
25
200
940
631
690
222
280
446
371
553
438
708
577
315
172
222
477
749
939
989
60
380
163
153
64
975
54
669
987
929
183
753
577
655
502
355
787
167
692
558
770
1009
710
275
570
824
969
113
438
795
463
975
608
205
561
610
266
558
979
226
480
740
452
991
672
396
527
308
712
10
520
818
510
845
371
192
829
848
555
844
406
731
82
228
522
814
53
356
952
159
1003
967
641
591
35
924
625
881
681
433
475
563
394
559
89
640
190
276
410
474
721
151
729
264
605
38
287
875
859
801
812
741
49
464
931
87
701
962
743
954
406
993
549
772
647
185
576
737
757
48
849
1005
543
107
908
793
468
937
387
896
502
758
811
258
477
553
498
913
219
463
115
307
624
561
751
643
34
272
481
478
651
952
773
641
233
752
698
544
793
486
130
580
666
712
744
769
429
220
168
968
494
953
5
830
606
212
861
680
669
29
1000
931
41
836
70
769
297
632
153
819
753
333
97
956
864
188
949
448
841
889
858
648
358
131
759
1011
700
556
786
329
321
102
598
865
583
277
576
758
751
714
836
766
51
801
644
973
939
519
969
501
499
175
530
883
703
652
387
889
261
476
11
765
245
568
141
212
292
181
653
692
188
20
737
913
805
783
80
77
369
807
555
1017
34
165
344
73
89
815
394
411
23
324
570
892
917
775
803
179
325
302
54
192
241
579
430
472
733
766
164
511
542
832
11
894
684
655
768
975
297
534
309
795
673
258
838
88
851
752
659
985
50
548
712
967
436
276
777
847
992
401
1007
946
959
418
616
871
679
187
263
170
94
925
470
123
712
992
312
1017
424
106
789
38
153
912
118
233
602
931
60
93
912
1004
118
911
429
260
287
969
931
937
240
330
151
19
988
405
769
275
744
885
993
823
432
483
813
624
675
439
31
636
556
27
116
485
928
981
482
615
471
168
54
666
365
871
266
899
447
314
119
695
305
280
639
366
727
224
719
641
282
425
240
179
14
383
25
929
726
269
610
495
1011
315
772
167
762
674
818
181
723
789
915
884
63
898
639
697
62
900
544
899
988
203
374
696
1
404
128
364
783
231
254
564
930
454
262
566
503
485
400
674
973
971
758
631
367
43
565
763
978
899
73
64
543
90
569
189
692
196
727
38
731
313
153
701
519
959
802
165
8
855
676
972
537
165
1020
406
553
100
463
363
228
1023
534
668
14
562
461
571
937
752
669
603
142
973
360
452
642
554
895
585
517
908
509
75
822
297
1010
470
411
40
79
336
25
768
17
17
926
676
940
517
379
159
612
804
516
957
345
776
152
202
176
255
163
0
169
594
794
204
321
642
95
479
843
148
48
870
781
68
926
716
533
198
891
84
125
438
172
742
956
117
971
690
122
472
835
805
358
255
530
320
151
970
502
631
999
814
338
805
1009
17
1011
152
716
374
886
844
686
553
693
931
266
990
925
118
894
689
231
589
46
281
692
549
90
367
772
499
759
561
438
744
981
153
836
246
848
715
281
309
663
181
657
373
63
223
769
574
141
127
257
809
22
1020
253
767
682
88
663
567
960
974
189
14
361
703
870
825
468
364
149
254
518
32
603
40
183
910
93
731
3
724
465
919
196
349
659
440
610
881
843
151
267
810
672
638
13
810
55
89
108
585
867
817
337
489
111
172
79
953
24
15
100
376
993
965
195
808
1005
592
177
322
208
1007
581
186
81
48
278
990
415
868
942
948
635
362
628
356
438
482
953
823
13
388
901
5
243
96
463
56
387
899
227
621
315
931
410
626
87
504
914
438
448
773
921
712
246
993
298
845
853
411
294
478
423
480
90
689
912
100
29
352
788
1
1005
643
931
691
629
643
975
231
73
921
531
639
52
223
137
203
443
19
208
75
286
555
448
708
567
231
244
36
405
577
140
548
951
736
577
865
114
965
786
518
163
976
951
490
179
869
435
165
266
640
645
517
128
773
858
416
158
614
398
40
792
499
503
223
558
86
49
445
133
673
787
149
294
118
195
1010
729
1016
179
1005
423
749
72
495
411
729
502
820
738
126
859
80
346
299
179
460
428
807
792
770
733
132
38
806
350
92
290
24
683
813
90
316
876
354
578
957
204
511
148
733
1021
484
462
280
339
1017
686
376
167
263
418
814
648
501
377
2
397
224
918
503
879
422
31
485
611
952
2
681
97
642
775
838
385
14
19
459
538
54
559
588
887
496
190
9
919
976
847
961
197
557
390
98
255
86
868
21
311
176
59
468
750
688
757
588
490
973
946
683
425
544
48
760
752
769
329
123
467
556
131
264
274
781
402
151
25
477
246
384
536
272
175
461
485
548
886
446
840
316
486
374
256
194
366
526
6
99
732
96
771
158
935
643
1003
444
798
101
252
818
141
5
888
367
716
953
294
951
5
796
877
544
742
999
451
755
152
807
586
607
724
767
354
231
820
763
435
334
113
545
543
318
680
328
9
886
1000
693
498
186
481
977
633
699
278
627
408
132
611
448
621
585
304
406
417
815
405
4
968
586
744
7
936
212
979
449
715
289
864
647
881
742
597
746
398
936
335
217
213
311
136
706
798
502
988
475
631
314
611
785
292
233
884
325
90
2
664
1016
700
867
703
426
140
589
187
616
466
394
96
996
242
1
152
519
746
580
860
175
12
665
327
977
83
200
2
144
602
934
775
750
91
876
142
604
201
196
780
487
825
1017
702
932
436
55
490
571
181
989
329
581
827
779
793
190
58
241
857
755
564
508
0
244
413
446
844
21
825
932
454
434
689
388
686
87
987
744
550
378
589
575
276
888
657
345
974
992
292
165
877
455
759
930
754
547
62
85
873
5
87
290
960
218
811
684
723
125
919
38
354
199
759
598
950
900
971
103
593
208
657
58
775
490
124
10
904
876
842
226
970
753
340
75
507
888
648
940
308
543
247
953
203
868
861
561
329
810
504
625
862
370
221
466
443
993
167
174
326
370
518
641
659
945
125
279
65
705
32
43
110
520
240
952
119
76
826
845
244
531
272
821
622
168
540
692
560
393
850
244
855
98
601
503
481
560
375
300
386
336
503
753
348
489
169
330
756
750
225
607
452
200
355
877
895
876
618
448
873
203
525
969
645
560
527
295
648
192
730
802
559
32
330
168
886
504
164
1000
214
791
831
973
62
539
853
237
541
237
932
578
957
836
24
684
104
597
409
853
845
950
172
830
194
812
301
248
26
119
987
275
917
561
648
343
423
885
587
51
690
102
54
61
165
790
884
736
708
643
666
484
118
909
643
166
33
907
835
602
459
419
724
46
692
203
131
246
652
505
628
493
764
910
840
944
381
338
948
799
306
632
166
44
612
813
752
658
799
170
567
444
194
909
764
790
206
757
21
150
137
59
884
672
528
556
526
804
778
174
653
231
681
145
307
765
997
699
836
141
280
933
935
34
354
721
427
959
453
101
516
1013
200
276
607
792
149
427
138
42
258
549
970
853
152
422
68
529
947
896
920
106
726
761
970
220
716
1015
829
698
974
625
156
299
828
324
600
202
397
536
363
379
539
981
939
572
202
738
450
499
174
850
954
649
1005
676
508
21
669
15
893
270
912
714
971
647
316
639
976
769
438
132
109
1001
784
132
498
209
426
560
608
749
626
181
840
552
877
809
330
978
227
907
532
480
297
650
213
78
9
672
80
960
714
52
366
291
7
874
494
249
925
251
642
268
952
338
680
923
916
285
869
514
894
114
636
475
538
211
120
813
473
548
838
562
459
319
235
128
767
63
997
966
317
33
361
965
638
845
958
253
264
210
66
540
382
141
247
981
1008
38
463
162
306
805
329
647
832
69
204
427
342
96
99
310
8
910
874
872
574
552
399
1
637
462
980
892
822
230
817
10
459
230
970
289
357
664
469
59
185
968
253
375
629
354
137
983
567
399
161
935
581
714
245
143
123
100
171
63
184
464
513
764
452
269
119
781
92
786
233
428
119
172
668
552
916
1019
531
758
165
85
39
297
294
526
752
717
403
334
72
653
763
224
551
450
860
254
595
393
672
972
660
51
247
434
893
65
403
879
137
350
119
908
782
278
177
166
12
1020
586
468
809
870
615
858
234
683
833
900
685
177
35
848
554
129
135
465
997
858
507
795
271
936
330
101
295
89
682
261
356
847
81
21
165
849
744
58
69
353
488
631
696
950
933
824
312
64
884
929
155
139
207
772
551
1013
749
524
587
695
692
916
566
370
671
353
644
523
963
803
706
662
174
506
960
343
412
744
88
335
272
182
524
499
83
280
509
1018
959
201
233
135
370
18
726
614
345
314
344
232
638
305
263
471
544
25
297
904
282
586
249
170
534
406
543
911
70
415
548
636
61
98
934
131
970
878
399
134
113
290
574
998
1009
904
4
415
152
889
117
959
734
454
868
410
947
221
964
70
580
184
141
906
124
55
392
848
257
504
594
652
67
221
765
522
659
905
100
723
52
611
609
617
570
156
18
226
400
620
780
448
836
178
2
983
59
667
503
987
696
327
746
816
766
235
730
318
281
557
1013
991
517
946
373
941
83
580
610
5
743
396
195
1003
146
968
550
208
692
664
49
332
925
975
577
487
656
149
450
561
104
9
43
498
344
749
373
803
369
738
897
184
105
770
336
768
317
874
656
140
83
326
332
569
55
605
186
599
935
933
963
811
303
303
412
648
543
244
1005
474
1020
304
897
223
257
800
258
927
24
342
509
337
176
485
548
412
843
112
557
872
706
766
264
670
369
743
202
448
271
159
596
869
257
638
211
261
616
436
330
940
561
210
108
807
873
708
851
546
75
532
40
145
364
868
844
643
792
990
385
106
54
279
387
428
993
840
304
806
349
648
741
326
838
929
751
716
805
154
814
256
954
973
422
81
850
678
304
528
1013
936
722
834
56
347
506
625
759
283
685
784
619
782
644
628
501
307
752
443
763
327
645
814
116
387
691
331
702
619
471
228
31
919
4
737
72
933
976
802
808
32
862
724
915
471
10
289
689
310
986
594
803
115
503
517
762
734
903
846
91
885
43
87
868
179
846
334
236
807
64
821
93
240
304
430
1006
1016
50
962
962
401
171
21
638
193
555
184
137
146
299
297
312
914
910
918
858
1022
250
142
505
947
784
808
485
962
102
1004
530
278
853
489
784
1019
682
231
198
1000
395
250
216
872
161
520
91
52
460
967
1
148
611
463
992
660
527
337
427
779
466
779
897
31
311
248
336
541
857
598
390
249
795
589
100
770
82
282
844
424
773
996
939
160
192
898
375
329
690
941
530
520
427
690
802
106
681
42
533
419
394
427
874
1009
741
849
182
832
830
899
240
18
5
249
367
942
579
782
364
344
869
452
130
324
796
537
560
975
861
343
390
550
759
925
792
369
174
442
775
200
751
405
526
441
31
465
826
285
473
819
71
908
28
528
113
551
704
106
660
37
777
397
160
591
884
60
459
985
713
113
788
919
524
356
714
742
868
979
682
612
602
396
567
722
425
499
437
311
254
84
823
671
895
3
210
237
853
520
155
381
88
406
745
581
335
165
147
425
952
54
852
963
452
520
15
510
206
917
534
710
576
11
525
760
938
941
937
73
134
466
18
559
54
822
1021
258
974
45
593
197
559
739
850
626
827
300
130
471
1001
526
536
233
1016
810
475
291
979
316
481
456
527
843
272
902
880
151
214
291
445
472
406
792
957
115
699
667
582
414
693
346
865
147
914
786
188
621
37
403
708
659
534
507
330
364
44
434
567
1011
275
20
33
518
682
417
190
594
737
684
450
210
335
488
688
172
525
498
176
676
346
662
749
741
398
59
465
343
1008
246
999
627
994
51
462
990
230
568
817
358
1006
293
366
962
159
950
146
143
764
10
237
847
799
670
448
92
736
748
916
488
360
945
129
806
567
95
90
149
12
525
88
395
6
375
1001
250
823
147
802
2
573
779
948
1003
624
856
33
18
514
389
213
265
421
161
867
108
926
54
332
392
174
788
744
924
433
871
850
696
1017
300
779
310
193
763
940
542
1
128
138
205
505
350
845
371
1007
873
843
77
4
498
263
356
633
438
506
155
16
254
494
275
157
51
294
306
592
546
72
653
473
737
404
388
679
148
616
677
856
580
848
600
911
449
536
675
78
358
136
898
117
788
848
771
447
490
171
506
174
977
34
274
797
688
808
41
715
731
779
332
225
73
732
239
126
632
341
480
189
914
397
743
157
627
718
791
332
622
953
569
1014
820
948
633
654
287
870
495
958
512
179
890
175
147
498
931
219
144
864
680
63
453
698
828
64
412
377
538
560
349
407
855
217
444
609
48
999
957
249
672
424
409
912
415
735
623
669
727
545
817
992
298
666
635
18
448
729
482
974
265
121
593
925
695
189
1014
802
400
581
542
805
830
136
1002
505
919
538
855
835
179
28
570
379
14
11
55
918
435
158
123
660
222
709
984
185
67
146
445
949
527
191
805
1016
252
626
842
745
1006
400
525
448
655
304
827
969
833
328
1018
228
596
874
150
37
885
74
571
897
257
73
682
109
352
953
241
284
451
134
786
60
301
415
988
341
209
392
339
186
567
400
315
797
51
967
436
381
68
723
377
360
850
780
518
505
638
69
584
25
77
161
355
816
805
513
648
607
47
586
150
908
460
717
109
412
132
340
898
820
811
320
542
430
208
342
363
594
643
846
103
991
325
424
551
947
751
605
509
653
781
165
343
393
268
501
660
839
606
205
143
773
809
930
44
596
343
935
250
382
956
821
483
565
258
179
146
671
991
502
183
509
7
402
48
564
305
39
169
765
109
447
960
123
459
400
284
812
40
530
821
75
219
576
759
895
204
741
796
291
689
282
625
772
987
780
926
256
537
20
558
67
890
994
546
426
852
112
14
780
872
453
864
709
582
640
929
809
74
170
578
847
907
256
444
7
172
700
952
428
75
578
152
551
605
21
882
794
219
931
588
662
921
663
492
652
944
982
959
87
418
291
993
592
463
757
903
404
345
2
141
794
161
404
1
670
76
468
875
419
466
1007
407
628
751
161
364
228
895
519
588
945
816
106
234
934
430
610
1
819
422
141
432
124
929
50
792
821
516
911
633
341
386
941
245
257
209
933
613
693
696
945
935
45
141
53
169
55
176
95
576
504
113
427
952
95
88
610
260
390
223
879
921
132
964
101
455
113
318
268
790
513
495
1013
898
845
255
999
97
116
669
615
952
729
206
682
933
774
746
620
169
938
103
201
125
640
970
611
156
1015
585
1012
440
952
858
910
285
508
919
774
227
193
759
141
600
403
929
80
857
766
73
263
295
475
568
191
461
963
694
542
942
696
871
440
412
882
362
195
359
551
174
548
823
939
475
704
299
1009
900
367
750
287
627
457
489
273
819
640
692
819
453
934
433
924
827
1006
288
126
364
667
138
1001
659
803
561
824
317
1001
131
736
115
854
55
429
337
559
751
408
101
919
545
324
813
412
536
468
982
422
397
96
561
77
838
710
794
497
177
248
263
277
194
104
927
323
444
845
785
59
517
584
264
1013
942
391
364
531
451
140
197
896
73
402
774
519
87
514
759
650
688
333
541
1023
534
348
392
318
597
704
390
291
281
919
173
926
953
806
322
440
700
964
601
868
229
690
475
125
619
530
635
91
787
9
997
60
980
62
773
578
119
190
417
510
583
532
552
364
560
183
166
619
155
727
852
14
362
395
80
839
383
849
178
135
958
372
432
633
485
645
111
218
826
416
709
110
72
475
152
1010
442
384
404
419
761
185
330
941
566
453
476
807
295
74
593
168
597
157
5
995
78
783
771
480
94
310
177
83
495
328
559
518
55
190
937
928
390
891
158
953
167
417
797
292
254
265
356
449
231
316
889
541
888
597
117
365
907
55
417
29
421
438
25
129
341
643
363
850
313
658
311
30
424
719
830
264
760
33
568
119
555
142
486
977
398
5
114
924
91
672
349
18
797
310
654
281
118
182
20
312
851
134
368
436
667
887
850
1009
700
513
490
969
474
619
109
834
28
495
49
391
677
24
663
87
56
696
353
17
743
103
2
266
485
301
623
749
686
664
67
271
270
845
12
766
660
826
1006
792
875
906
416
36
405
353
773
34
632
213
823
238
726
681
95
257
471
624
583
92
444
784
394
955
335
31
436
75
309
827
765
227
914
352
103
975
716
411
136
289
428
783
330
226
232
851
893
814
895
534
865
51
385
963
631
506
525
867
222
500
942
404
803
86
123
798
932
80
560
310
633
34
353
567
625
482
361
663
710
482
638
531
774
51
429
421
682
729
215
204
127
316
114
469
984
675
796
154
467
865
348
407
30
121
920
179
359
332
466
695
19
680
285
507
477
60
829
65
806
464
392
143
375
331
191
312
219
64
532
889
553
749
805
215
642
923
618
610
379
133
174
676
352
258
278
657
478
396
999
753
244
939
317
677
148
685
445
73
515
964
716
214
941
86
820
791
700
671
201
317
777
83
968
615
112
638
7
1012
691
608
226
36
925
963
383
564
229
108
766
865
386
973
267
925
826
828
399
985
940
605
151
989
251
283
282
322
933
568
682
378
872
318
484
531
457
703
594
465
648
577
488
257
116
519
876
41
141
561
111
196
864
832
291
141
16
571
111
994
268
451
975
675
216
730
367
624
927
828
201
577
408
523
954
88
716
579
492
399
442
646
260
437
781
344
79
205
19
275
101
37
453
720
727
796
468
831
150
719
16
434
345
486
629
128
734
322
726
603
949
794
138
367
438
644
464
138
123
451
230
548
41
49
502
349
420
757
701
743
32
649
808
549
738
597
480
896
634
336
502
380
496
702
145
521
957
843
853
120
657
482
634
822
557
861
678
852
230
361
435
680
948
899
302
492
277
788
792
535
590
252
949
187
660
871
219
713
739
350
499
530
208
494
531
536
40
1001
418
451
87
147
651
143
442
251
650
630
853
216
606
207
723
729
445
736
873
282
367
126
707
627
908
844
660
423
213
192
401
419
985
1003
882
134
512
998
780
778
604
593
289
548
514
376
651
125
682
523
201
263
915
508
703
393
549
144
996
86
4
278
974
748
619
923
694
260
544
144
18
99
486
586
934
125
458
403
604
694
89
365
31
422
487
909
551
305
631
0
514
1022
967
948
230
500
285
455
232
566
542
542
137
996
545
764
160
844
860
128
936
863
28
75
721
10
156
596
222
252
948
459
240
446
756
478
964
354
113
269
203
811
211
526
321
984
214
838
935
199
335
479
333
503
785
116
200
561
498
905
553
208
238
1020
613
91
618
610
135
1013
879
946
989
875
983
723
947
499
229
338
33
962
780
804
836
595
185
788
533
507
73
695
276
119
835
43
9
891
313
557
804
117
618
423
859
940
706
573
415
684
327
508
542
464
697
485
335
155
949
697
506
962
320
530
787
99
618
132
205
784
231
546
444
1010
222
719
17
712
1017
550
713
280
72
40
208
706
936
730
108
200
599
425
506
231
396
794
964
992
105
1017
736
217
400
322
844
912
350
183
339
32
331
271
649
951
454
583
573
235
875
264
958
790
816
702
149
597
707
557
478
398
919
924
316
77
61
362
833
673
51
658
290
788
795
640
302
121
546
380
740
311
940
1005
236
790
1016
156
1011
895
982
109
222
964
951
656
986
676
994
391
623
539
136
690
380
826
380
393
787
189
192
6
90
56
466
980
555
934
1014
220
767
315
641
691
461
588
450
440
24
863
212
958
222
969
802
326
527
351
436
162
288
326
1006
484
770
824
698
976
336
962
646
322
653
623
13
909
257
756
603
723
515
325
463
509
642
48
902
109
318
382
687
146
362
146
7
591
950
445
623
568
73
404
522
503
918
932
374
229
393
29
40
900
736
492
886
422
257
6
623
543
871
593
519
572
905
101
503
187
452
276
63
494
845
364
111
193
992
470
183
39
190
147
777
351
614
988
770
672
572
743
831
303
543
150
54
520
246
982
572
397
50
684
596
1014
449
114
811
863
132
33
734
969
426
364
957
998
709
887
222
918
466
825
647
461
565
334
804
998
59
1019
826
863
71
196
567
306
137
217
976
338
780
621
1022
525
938
717
489
652
976
443
291
855
750
68
898
856
1013
681
1009
259
130
866
686
28
838
213
926
810
766
988
318
813
530
725
102
327
363
809
851
461
946
682
854
914
279
642
987
802
550
515
195
312
338
755
745
483
119
115
399
172
47
424
413
741
747
273
867
488
1010
795
406
371
520
774
296
641
752
397
602
817
534
701
704
189
41
439
955
325
432
214
1010
539
692
24
909
232
538
246
538
660
276
377
193
658
843
37
443
468
58
17
37
862
804
83
990
634
208
463
1007
560
505
206
338
434
74
847
642
857
811
769
665
93
210
429
298
997
65
90
621
412
893
730
75
829
675
101
436
370
817
318
616
408
366
985
814
642
534
329
526
387
448
1018
620
730
422
449
606
451
220
767
374
118
840
963
482
932
732
940
81
189
472
516
614
90
403
845
598
1006
633
77
194
246
52
389
257
406
280
109
264
173
220
184
623
234
1018
752
958
680
355
816
552
181
154
376
689
75
669
422
170
997
754
787
553
619
159
442
64
212
236
128
697
116
984
872
403
898
937
461
481
899
648
945
647
396
407
464
311
576
279
741
994
737
986
613
136
572
542
736
426
711
67
68
541
711
601
454
243
863
453
644
694
884
8
873
479
424
497
440
873
694
988
365
782
415
42
878
513
834
33
261
858
312
990
1004
31
25
807
599
85
229
356
10
833
942
473
837
646
514
588
28
970
625
551
282
557
99
391
446
257
335
972
285
305
184
793
516
935
781
853
67
309
720
793
431
455
979
930
801
803
655
501
792
625
497
46
343
552
16
978
211
54
386
865
402
142
487
787
700
925
919
574
325
182
271
945
728
124
388
923
543
445
975
589
148
839
959
684
732
903
623
766
394
420
665
448
438
216
917
825
503
173
453
918
241
422
304
31
312
606
684
519
437
699
935
88
404
846
847
261
427
135
16
210
124
699
897
946
781
553
819
277
522
675
460
203
265
321
703
676
516
990
108
769
835
574
904
38
822
831
130
45
769
775
183
339
67
948
438
414
722
956
628
439
758
17
247
606
431
980
637
1015
1003
870
362
794
897
669
107
322
307
925
6
409
70
963
219
839
132
862
10
851
109
395
621
956
539
748
886
998
838
621
629
758
784
286
21
562
4
27
530
476
123
407
40
797
527
51
222
574
282
347
775
499
734
896
382
972
229
335
660
552
703
271
663
82
897
317
470
260
366
562
447
485
280
148
63
1
949
785
907
963
97
168
252
529
156
625
819
111
406
502
542
342
917
638
116
509
457
149
394
927
524
435
119
984
548
170
1019
75
417
350
370
217
160
619
174
165
416
760
768
584
465
49
932
12
322
648
374
611
554
977
229
622
149
731
732
318
263
90
873
128
79
247
247
372
285
846
443
638
33
995
770
968
105
428
743
546
746
945
265
436
244
1016
941
309
816
740
774
547
547
438
654
732
253
684
560
891
912
438
844
118
999
982
206
826
72
754
853
233
944
959
928
404
151
991
303
557
367
754
633
602
485
144
755
397
280
311
317
746
837
44
493
692
860
73
721
867
418
752
920
697
339
234
866
934
865
125
287
74
209
470
373
54
516
187
272
948
220
212
5
639
465
828
793
333
615
656
768
578
607
999
928
777
50
346
399
995
245
382
659
693
964
495
209
551
483
976
124
104
6
441
437
63
335
84
43
842
570
726
11
142
570
504
597
833
122
382
528
589
402
683
420
234
45
868
503
12
307
1001
648
436
706
580
713
346
439
303
42
208
805
76
589
486
191
832
108
965
878
344
640
303
182
813
660
292
26
927
158
434
828
344
21
647
760
156
717
218
719
994
823
277
500
27
397
481
275
646
970
624
810
368
1021
379
310
416
359
419
549
685
1001
905
58
632
927
896
890
881
138
799
959
809
5
471
719
214
493
800
661
974
955
767
936
921
999
431
1010
318
320
967
540
839
369
100
588
560
216
542
72
428
977
891
970
371
74
550
360
47
312
765
707
667
415
771
523
818
85
709
129
504
459
255
939
638
60
325
835
809
633
305
843
524
126
947
404
44
968
113
579
390
531
272
887
958
987
452
564
400
837
586
850
564
116
827
829
100
31
746
157
1008
300
765
657
313
733
852
976
725
26
356
15
239
951
977
584
797
892
777
215
286
533
243
977
316
989
403
568
841
766
803
86
778
415
60
944
356
577
340
309
429
619
935
677
111
576
673
533
490
559
799
945
634
425
820
908
833
727
951
22
994
652
325
945
390
230
989
548
444
16
113
731
803
808
237
842
377
888
951
554
143
629
376
178
704
345
748
564
945
406
298
825
700
510
172
333
238
698
736
511
666
688
260
174
114
610
770
779
24
740
92
456
342
126
524
532
789
795
805
587
751
192
878
147
521
850
701
899
397
165
963
813
611
825
355
857
790
659
476
525
974
756
949
388
69
76
418
332
714
203
341
673
672
758
136
984
422
199
159
341
614
475
641
764
674
105
75
757
383
629
953
515
875
804
498
406
46
994
792
939
988
15
70
353
75
607
419
899
590
10
230
737
785
989
846
419
591
407
653
595
583
179
106
415
698
370
624
55
415
255
948
1016
205
440
100
350
152
195
460
974
660
377
651
75
720
510
437
440
855
297
262
524
657
491
745
728
749
838
954
239
544
516
308
535
824
414
875
107
97
120
103
139
346
412
325
740
471
817
975
208
218
28
511
819
836
980
590
673
109
605
798
633
25
963
660
326
64
502
532
706
188
725
123
222
888
872
311
876
51
198
735
568
71
730
119
457
798
582
98
1008
373
174
311
313
696
777
795
448
256
231
146
415
139
821
552
512
45
431
508
970
377
578
926
278
36
868
803
837
1005
61
725
395
830
345
613
605
40
776
813
31
142
599
646
156
67
625
574
874
904
561
617
414
68
741
29
820
247
367
23
100
959
443
52
812
485
905
465
797
364
120
654
93
1010
97
7
348
39
203
787
811
289
578
217
907
59
714
99
448
2
271
961
478
201
381
165
405
120
950
176
991
837
252
30
626
44
937
1015
380
371
346
812
787
635
6
242
889
190
686
782
469
182
494
17
103
767
407
92
398
530
388
204
815
323
833
301
607
827
951
752
83
682
282
852
419
500
251
390
35
486
820
626
41
681
428
897
125
844
668
258
531
281
534
716
278
119
950
353
30
968
78
514
392
894
587
416
894
223
906
138
1012
30
168
188
721
559
814
688
656
3
723
290
958
729
958
792
986
925
841
152
201
417
377
667
965
335
973
116
876
756
101
270
844
80
216
404
895
277
789
946
180
128
462
647
334
236
173
930
910
228
546
174
524
30
94
983
470
924
602
274
971
372
410
218
906
616
155
874
747
586
154
359
619
932
829
458
10
587
251
740
355
240
966
596
392
312
330
641
748
538
788
1011
710
762
667
775
988
157
799
949
644
283
44
808
427
941
622
766
338
992
202
29
251
578
222
883
323
341
349
138
442
547
714
993
74
48
418
657
710
650
50
263
307
820
949
1
417
455
110
164
685
179
1003
525
809
794
413
828
157
0
210
670
876
185
483
765
816
609
653
20
552
734
965
666
702
670
856
120
477
70
972
442
601
106
264
298
59
545
528
140
930
331
95
743
277
263
774
213
810
999
395
261
163
879
421
978
726
364
263
588
888
984
6
364
174
223
876
934
828
572
674
886
846
14
470
931
607
797
937
244
448
887
795
982
885
537
154
846
678
693
358
908
509
688
782
545
139
772
37
896
566
889
242
769
408
525
141
701
271
721
700
698
437
105
103
418
503
400
494
952
52
101
556
254
11
351
475
35
551
205
546
186
49
259
769
473
303
69
644
945
976
495
434
572
787
382
58
117
506
978
915
425
320
957
578
744
675
968
110
405
933
448
619
24
587
820
598
85
811
831
619
430
762
470
670
510
622
1014
881
189
89
708
705
288
249
388
330
352
817
780
939
500
373
676
449
104
454
201
218
738
289
300
423
714
295
328
8
937
226
953
185
949
47
984
131
359
921
784
717
463
316
703
347
168
953
755
66
106
1012
470
252
868
758
192
821
181
163
184
127
247
62
953
666
28
856
806
869
1006
1013
787
289
78
558
696
458
205
85
731
108
237
816
537
362
969
132
691
935
352
982
928
262
471
382
410
359
59
227
477
704
580
787
572
858
309
702
863
107
414
347
668
766
420
869
108
748
123
565
883
278
172
1004
545
423
953
622
423
827
650
261
366
898
369
14
297
738
1004
254
890
497
963
565
475
10
51
859
192
603
134
762
820
351
963
448
70
970
740
686
785
565
927
700
868
976
637
241
216
958
990
480
149
231
17
276
960
438
30
149
479
694
876
911
831
772
850
826
232
241
550
808
824
493
2
77
158
888
406
479
528
929
290
136
486
870
591
976
100
829
527
711
528
40
590
491
1002
403
89
783
762
527
362
22
507
166
511
321
757
71
610
720
461
211
684
854
174
874
319
455
18
1002
237
277
1003
37
924
488
603
233
887
449
1011
380
661
625
31
171
395
848
372
278
62
644
142
345
389
934
975
632
58
424
982
540
233
589
95
141
651
423
956
503
38
64
72
184
787
399
700
482
741
260
423
1013
868
944
782
817
470
330
308
587
438
619
102
135
404
818
739
396
943
994
910
510
629
67
978
23
553
249
150
549
149
337
327
872
1005
495
206
59
318
201
108
321
972
108
487
768
608
300
672
159
504
193
962
407
569
449
43
1010
925
812
961
740
933
833
65
45
778
854
491
267
669
653
127
725
580
719
773
73
66
947
402
47
806
237
279
488
170
9
381
315
272
727
96
210
86
821
459
169
463
455
861
632
9
414
128
222
565
209
686
171
846
319
195
916
192
709
890
440
674
14
34
746
504
804
306
320
690
705
756
9
262
117
983
633
137
642
683
1007
818
759
393
739
722
159
572
67
225
936
235
948
582
159
720
385
45
670
298
582
529
639
719
136
770
419
644
645
992
374
263
571
209
81
3
108
646
1019
800
10
262
873
856
423
449
397
815
108
748
371
914
477
47
279
374
911
186
429
692
981
759
895
651
34
823
1
700
413
80
298
621
1017
266
372
247
797
636
777
343
155
249
748
245
818
104
147
519
669
355
1001
411
197
527
118
785
890
203
760
510
680
714
941
71
949
14
460
64
586
966
589
417
334
177
293
253
836
173
800
852
162
282
43
147
477
896
884
167
50
52
41
760
229
668
453
927
397
688
709
848
881
591
350
437
628
558
760
531
640
793
499
572
664
680
746
169
896
1012
582
586
674
559
257
226
191
66
98
733
155
530
658
230
506
530
298
47
201
597
164
811
744
654
979
905
58
967
238
226
82
428
446
392
752
30
174
165
677
519
62
921
289
757
494
129
661
873
448
245
892
79
180
388
5
151
192
858
879
919
412
181
221
141
911
179
467
291
668
897
553
530
935
481
770
932
227
745
462
18
180
530
513
881
163
37
518
279
761
94
126
636
920
976
71
938
639
425
144
468
275
527
48
275
904
979
767
425
448
656
429
831
706
971
424
156
61
914
564
806
209
506
942
316
258
756
806
759
984
483
156
885
67
324
454
571
150
536
838
836
714
615
366
828
672
525
305
752
376
877
47
737
487
897
338
867
149
242
1002
265
40
868
227
608
772
988
733
725
436
46
932
213
474
504
419
955
45
844
173
23
288
16
303
1007
868
530
317
287
619
341
979
423
350
994
592
493
280
140
912
837
524
206
607
246
674
751
54
115
825
771
277
41
452
438
604
721
434
853
163
471
760
594
485
235
424
439
470
965
711
361
28
880
406
594
834
643
582
225
575
175
83
842
1023
161
998
400
190
26
759
577
394
405
226
85
786
836
966
83
457
39
797
234
253
8
756
345
252
1
272
902
701
730
712
112
790
417
72
740
617
247
515
127
813
535
643
839
41
847
222
684
984
417
173
846
219
307
743
658
582
491
386
862
680
343
160
785
652
491
280
765
547
827
789
964
425
822
329
936
114
990
823
379
625
942
54
271
784
592
479
780
459
347
354
647
963
111
548
673
40
172
305
206
714
110
641
4
736
121
965
590
63
205
750
844
845
566
744
955
424
220
917
902
356
919
366
534
857
1016
148
1021
1012
37
106
284
850
997
662
329
498
501
510
188
728
326
470
850
767
880
775
631
220
580
874
305
657
889
723
303
775
191
269
157
955
980
812
716
769
687
585
840
514
994
368
864
30
650
685
913
812
127
513
595
812
265
518
457
570
506
832
612
32
863
996
846
264
590
193
881
364
638
656
695
234
281
466
1005
870
839
420
121
1012
455
569
615
328
1008
453
290
765
762
374
1013
1011
929
992
443
924
287
919
388
282
252
154
412
550
298
949
271
1011
402
1009
924
735
183
161
6
624
465
669
179
589
277
968
539
472
314
982
645
416
993
439
928
694
322
810
842
314
804
1023
911
380
46
260
105
38
741
108
950
183
34
649
380
738
931
796
118
778
791
231
125
576
703
200
759
108
423
955
792
539
174
557
477
670
373
355
719
742
194
145
21
696
173
216
943
958
359
495
392
316
67
280
362
120
720
781
727
830
525
947
539
50
1010
307
318
586
248
984
1007
965
189
751
415
982
891
246
813
897
634
233
374
241
741
230
565
1015
627
494
262
711
367
725
562
220
676
103
251
157
373
205
805
306
832
819
901
270
213
572
420
396
565
814
623
941
124
467
184
828
23
317
528
723
657
201
320
640
955
990
89
87
215
175
392
690
536
435
198
445
828
640
590
0
877
207
293
293
186
671
340
476
68
119
766
146
48
883
479
598
759
857
371
196
24
326
650
68
812
45
564
423
474
713
4
333
611
50
511
886
345
479
632
517
987
487
311
36
241
424
391
315
103
361
1001
892
298
294
494
674
868
657
709
154
811
879
1015
45
513
791
671
305
790
520
469
271
573
135
436
246
162
63
716
734
467
403
649
261
870
271
119
174
557
741
781
555
839
615
467
567
132
517
576
817
408
660
228
407
452
736
118
970
584
462
984
770
568
641
774
739
498
670
912
112
269
254
64
994
495
797
435
616
560
177
730
35
1011
306
33
983
25
389
447
998
319
218
384
415
820
9
271
674
578
280
681
585
362
362
550
910
617
613
619
783
466
255
683
601
89
619
397
766
858
190
604
86
762
1008
287
239
113
178
404
783
896
476
794
974
654
10
536
329
446
645
123
97
977
302
113
754
391
522
68
503
806
1015
330
366
50
185
892
711
982
187
973
277
664
991
636
975
1018
216
228
365
908
599
132
567
659
894
559
98
827
940
233
514
270
1016
602
206
334
251
114
195
580
440
432
337
251
684
850
494
177
555
553
795
969
365
489
1018
556
422
263
540
705
529
915
482
298
330
190
492
730
653
505
450
351
911
903
243
963
242
175
398
193
872
563
829
339
943
483
239
534
898
885
3
185
527
77
498
350
493
763
131
410
232
331
943
807
801
204
579
228
277
701
677
25
603
820
451
408
728
686
487
602
504
609
473
980
378
710
552
546
277
756
250
375
222
156
490
133
289
165
340
300
635
75
945
649
180
1
28
913
754
688
896
874
202
230
656
63
890
317
645
485
890
560
669
9
670
558
576
768
394
529
675
547
1009
237
698
782
126
874
450
497
455
368
741
220
447
422
887
684
286
970
33
68
619
0
360
376
67
147
525
233
823
765
910
725
364
595
212
464
493
674
834
742
435
836
715
600
431
237
932
93
945
761
463
285
584
723
363
486
757
284
317
389
743
406
650
1013
517
804
969
626
247
333
452
12
473
415
401
619
1003
412
112
771
242
650
356
510
365
560
114
249
454
54
734
316
173
138
824
496
838
238
693
823
965
356
565
817
878
679
416
516
481
33
303
922
45
817
882
568
359
570
801
970
70
266
391
113
575
179
170
511
254
387
262
951
216
852
551
313
355
454
536
843
438
989
784
697
193
344
374
473
666
426
100
458
475
882
8
183
807
554
686
804
671
237
567
372
8
798
540
145
543
214
484
556
564
332
341
509
778
793
625
949
693
798
899
805
310
309
79
1003
430
783
266
32
1007
376
37
543
880
48
408
840
1006
6
25
922
534
932
837
258
1004
601
449
889
189
565
945
960
926
597
667
973
704
308
825
872
721
752
304
619
431
467
132
204
878
182
316
841
998
301
508
649
498
101
828
867
879
621
295
170
455
264
986
730
211
803
1007
483
211
445
299
143
659
606
710
971
180
872
374
930
487
636
327
388
606
688
467
817
92
703
306
172
628
661
45
110
802
168
293
8
150
888
789
95
574
818
644
431
368
818
145
735
931
696
630
333
414
353
731
680
949
30
888
479
330
736
388
151
416
786
936
1023
665
831
440
439
958
762
393
369
289
898
990
136
651
43
989
152
323
350
479
809
406
267
297
694
734
164
971
22
742
804
171
804
897
809
401
562
668
603
966
723
285
930
538
173
634
931
473
268
448
280
1016
254
320
913
478
699
932
852
241
804
745
786
179
890
588
626
295
999
174
875
941
869
480
463
516
105
377
655
455
925
542
587
655
8
923
614
438
293
648
78
64
150
28
50
273
461
439
226
1015
749
71
530
5
700
139
797
497
786
496
568
208
32
551
724
19
175
86
565
450
678
435
449
36
635
990
837
175
986
197
333
872
909
716
204
616
188
591
279
29
992
563
832
489
84
317
530
71
598
956
19
80
134
852
177
154
1023
747
409
155
651
849
983
365
859
971
78
712
902
129
389
408
172
629
140
92
224
531
155
461
555
430
887
648
95
124
315
965
117
116
398
493
1017
689
158
900
972
518
188
787
789
828
667
563
918
224
593
195
762
546
463
145
277
987
512
26
637
832
577
275
740
588
431
735
1013
99
46
260
578
97
10
555
571
635
473
826
286
658
930
246
139
612
1020
74
379
598
233
982
664
220
753
580
566
912
392
291
631
541
971
224
222
61
723
67
179
659
510
450
739
930
200
734
1015
13
124
214
729
359
870
70
986
908
714
951
1002
295
526
831
229
19
334
54
254
23
846
318
984
498
465
698
288
77
982
617
667
804
340
382
539
35
226
215
164
817
704
983
978
329
38
633
941
208
517
56
129
793
468
841
95
79
889
255
112
812
539
898
336
801
925
244
20
494
876
801
236
908
260
46
1009
594
752
785
925
746
261
753
23
88
635
845
611
1014
919
315
627
338
855
439
366
688
246
678
594
76
75
809
214
205
662
682
327
960
405
512
514
496
714
979
858
763
945
981
587
161
942
525
258
974
676
124
640
789
726
503
238
304
311
461
816
430
342
139
630
648
449
33
933
241
605
1015
41
596
628
829
111
524
855
997
425
799
92
650
1016
174
327
112
301
734
356
12
947
423
398
268
10
611
32
776
976
691
373
237
496
182
760
235
864
969
723
221
794
979
735
520
148
340
421
632
766
494
861
736
1004
779
918
759
221
803
333
1
166
94
527
124
907
183
39
322
1004
135
856
414
43
815
998
577
456
80
481
1020
508
654
287
351
983
379
198
986
692
225
904
408
32
190
724
968
299
36
58
359
276
233
343
369
649
1022
1015
511
725
676
494
78
513
370
565
477
665
167
619
711
540
994
624
57
583
930
1017
956
477
795
858
996
949
66
244
1011
869
137
135
165
890
351
969
106
455
17
626
778
423
700
381
849
618
542
364
813
333
75
312
301
821
839
393
699
169
65
423
775
262
993
539
723
319
491
258
970
28
287
981
311
137
79
660
444
431
665
318
439
615
6
552
155
203
49
790
536
694
578
445
785
717
413
157
756
599
934
177
602
452
443
242
850
688
88
288
299
784
707
663
112
589
753
712
803
296
706
497
879
64
721
672
137
803
942
495
384
769
342
620
605
502
12
828
1015
839
797
824
617
791
570
729
212
552
423
714
740
441
549
163
605
707
614
405
688
711
401
880
198
922
934
689
614
760
175
196
24
895
26
402
388
387
835
65
608
289
2
44
967
613
958
191
321
628
910
491
797
375
891
712
11
932
590
363
263
544
51
496
1009
813
951
861
92
604
205
513
932
71
934
509
310
727
14
973
844
746
194
478
1007
1023
696
142
685
816
124
732
299
203
459
664
442
388
66
452
920
247
1001
350
288
259
436
416
477
401
862
342
485
53
185
468
109
745
568
488
749
867
167
685
23
915
1
720
417
494
765
384
467
997
995
378
675
882
407
326
250
909
536
359
727
171
629
99
569
228
232
753
886
409
2
471
230
617
965
721
627
785
144
924
436
118
366
395
815
604
328
548
652
920
281
953
25
758
410
461
852
999
557
356
887
254
582
791
772
153
303
391
250
655
702
260
610
160
863
519
337
226
924
694
683
927
411
913
1022
221
348
807
949
649
381
544
398
982
986
78
338
101
714
52
254
68
1021
712
22
473
619
271
525
1004
290
289
697
751
511
576
153
65
850
170
822
428
183
381
402
659
577
842
749
364
100
841
406
954
162
456
220
206
107
382
415
242
332
800
991
559
758
980
607
129
554
295
754
143
649
796
575
45
222
188
138
958
678
921
429
245
264
906
760
468
408
164
492
217
870
360
175
467
922
423
855
923
774
588
867
36
121
22
392
681
283
92
443
94
720
986
299
255
772
994
348
448
664
575
853
167
97
745
822
349
504
685
287
959
129
86
192
239
652
840
698
887
781
487
515
742
231
969
758
465
619
440
184
458
320
566
262
995
802
659
419
887
186
110
991
293
243
69
147
4
39
584
153
361
170
850
78
809
125
481
838
347
300
226
904
584
794
805
369
635
996
876
170
814
624
718
405
499
233
871
136
531
748
107
125
245
116
472
715
837
583
364
670
88
849
442
100
55
593
798
503
530
196
1020
45
741
822
585
848
330
267
882
535
319
306
452
909
107
912
148
771
186
14
223
334
323
227
730
704
814
877
385
380
198
941
978
958
731
248
623
218
365
586
33
35
971
520
577
248
399
310
289
502
286
50
748
610
870
467
926
827
135
356
290
245
869
139
913
688
20
950
717
403
182
867
562
659
89
457
36
829
158
992
94
524
341
566
597
3
566
806
208
551
699
593
633
901
574
152
437
831
930
100
275
784
59
631
367
456
635
193
243
243
504
860
423
369
884
872
193
894
592
565
358
70
533
54
62
88
496
464
213
1016
217
156
356
133
194
133
879
533
610
659
292
807
755
714
143
331
241
173
532
291
345
383
854
5
437
202
939
634
737
718
874
696
983
239
864
280
107
103
850
558
740
347
264
14
746
233
15
664
1010
819
460
478
279
883
728
446
98
427
785
26
844
195
754
70
505
513
636
286
399
487
974
516
392
865
581
991
900
608
998
567
801
386
145
13
254
195
306
264
296
303
5
861
327
616
10
737
46
717
586
354
638
126
168
824
559
955
432
270
679
887
992
352
908
1023
874
317
857
896
507
233
912
963
914
644
552
555
650
373
890
780
201
342
581
531
38
323
333
204
43
325
880
126
870
27
798
157
125
267
728
29
882
477
528
331
799
841
529
622
597
301
674
308
312
232
923
638
1016
963
202
323
979
996
923
83
46
883
948
578
631
768
350
825
717
456
384
706
281
516
948
431
538
937
406
592
892
999
367
446
549
644
657
537
123
792
862
728
794
645
663
187
895
644
55
999
832
720
910
373
155
932
374
658
980
126
15
814
467
861
715
548
198
648
365
706
33
252
107
854
232
67
407
1008
694
345
80
932
170
736
783
339
381
964
831
100
617
472
473
307
237
523
978
684
774
948
16
777
971
578
918
870
167
215
4
901
703
880
356
879
984
432
130
757
866
435
131
293
120
212
978
237
665
283
304
498
290
930
324
586
69
39
259
753
92
90
989
496
346
916
915
372
507
228
707
427
205
952
239
611
913
199
929
594
465
155
691
988
375
487
445
96
7
1008
415
290
197
70
958
814
231
119
909
140
698
42
882
425
221
936
44
840
956
960
581
573
651
1011
956
928
160
896
874
341
787
647
139
607
597
50
314
175
435
284
884
286
691
431
702
668
575
591
836
779
118
155
677
992
156
835
590
292
537
63
618
732
573
908
300
348
569
441
160
750
982
289
401
6
9
333
992
59
947
239
866
678
649
944
35
820
18
276
241
23
305
299
981
770
978
588
427
1010
387
176
366
101
52
938
606
559
235
934
7
677
411
591
466
209
760
589
750
570
800
280
153
79
246
771
683
772
192
348
251
731
670
533
662
901
491
488
925
612
153
519
204
99
602
210
541
797
740
708
563
826
974
391
24
703
50
808
895
541
570
355
849
770
356
826
107
790
918
986
312
794
392
744
559
421
34
315
473
793
776
817
50
594
639
887
567
834
151
699
382
991
304
341
591
428
409
769
911
644
255
727
966
857
483
512
862
493
845
1005
925
219
697
339
179
521
570
670
529
420
400
379
2
252
499
445
498
204
785
738
292
68
595
64
285
966
346
429
577
342
595
688
271
223
287
503
603
931
812
185
348
17
2
280
370
280
792
40
963
646
833
765
133
552
54
254
475
574
543
85
609
912
173
273
721
951
654
584
917
529
792
665
507
953
841
279
341
822
4
99
232
590
189
52
131
559
799
206
621
120
192
60
298
517
635
311
147
312
435
528
853
549
32
663
53
971
341
674
221
193
364
591
75
359
567
14
33
8
712
104
884
449
379
1021
870
892
492
320
584
106
723
703
706
745
996
1007
545
460
451
418
218
520
334
86
502
818
970
964
238
895
517
33
556
1009
254
764
21
337
859
470
157
297
982
295
195
992
327
96
391
932
384
600
132
211
394
312
63
826
266
459
580
365
668
886
218
715
16
857
665
539
188
226
472
219
228
107
580
386
131
424
479
927
415
460
641
490
256
255
673
199
107
32
590
224
580
871
227
441
739
182
456
798
734
643
752
1008
883
734
188
991
378
336
332
349
270
362
1020
938
930
684
151
428
143
406
442
821
34
401
958
477
895
145
1016
726
393
1001
805
339
932
982
989
947
870
561
714
209
250
15
78
991
506
956
9
151
670
411
638
986
221
229
366
111
298
327
776
811
675
475
230
907
147
197
314
64
840
507
70
722
631
82
840
60
358
234
386
706
658
573
40
992
311
339
580
399
996
327
103
743
969
700
549
128
513
379
11
993
406
778
564
571
397
436
747
249
376
645
263
703
99
405
378
952
667
225
558
267
886
546
74
195
470
799
413
300
354
624
977
215
596
39
524
398
643
772
974
1016
750
986
120
122
276
725
1021
684
275
21
963
703
681
555
674
442
917
703
393
130
757
608
73
980
749
983
922
814
46
713
451
637
272
870
732
7
424
910
849
164
919
400
90
224
722
223
533
745
793
116
868
71
281
401
260
395
949
220
7
905
214
589
790
193
1009
57
184
875
226
776
44
568
494
624
1008
578
52
972
231
464
420
402
354
104
836
481
231
518
229
700
385
352
104
2
986
294
959
1001
811
806
377
964
863
199
652
960
488
625
725
545
257
17
696
701
1009
503
73
426
77
209
464
922
547
61
1006
158
714
436
944
751
188
462
254
553
977
1007
105
648
911
361
714
742
284
256
114
380
29
718
230
74
541
127
986
254
1014
939
514
832
305
449
218
570
908
515
108
803
775
83
553
531
485
1005
651
403
518
258
937
377
577
244
520
431
489
405
983
564
222
81
347
848
33
657
0
48
294
953
797
47
515
1004
381
349
186
640
685
876
164
973
309
390
684
193
564
730
34
46
430
736
505
465
642
453
276
922
772
507
662
324
999
716
723
458
161
694
388
505
316
796
720
187
501
450
829
120
1007
884
618
260
135
460
649
316
868
984
969
159
790
616
172
755
245
839
130
544
772
365
811
661
149
667
851
476
358
986
689
832
801
608
687
1003
38
698
960
386
214
399
499
134
362
58
548
402
721
860
808
200
223
278
76
116
947
324
802
757
542
698
550
586
107
593
363
954
748
100
117
452
544
342
108
808
600
974
750
832
836
143
722
383
199
616
536
344
1014
872
745
758
861
181
220
366
881
135
252
220
610
381
762
85
71
814
13
443
531
546
304
847
204
44
211
886
483
513
954
60
865
496
13
504
834
98
76
536
718
264
181
776
283
575
996
900
413
493
451
374
751
789
752
407
918
937
377
169
326
539
318
769
279
387
638
773
310
129
173
862
267
795
631
286
10
207
67
648
538
753
440
508
631
319
832
481
529
656
667
858
331
39
757
313
623
1014
743
312
789
191
989
167
540
913
341
438
566
477
978
949
202
529
68
955
803
170
710
166
975
254
118
443
602
574
659
794
698
179
669
944
462
133
947
177
238
301
790
773
748
855
782
578
285
356
547
637
281
784
571
204
251
970
280
77
955
948
48
394
73
847
313
134
431
272
643
971
148
376
288
225
718
664
964
127
828
646
746
655
889
804
53
61
629
159
797
76
316
526
163
125
324
638
208
766
921
81
1016
316
994
771
981
227
554
524
68
950
778
895
98
589
310
613
711
993
923
136
942
783
475
351
838
875
406
171
348
1013
221
16
29
57
620
426
479
118
42
356
857
970
301
712
876
441
582
648
951
123
539
466
646
361
197
145
60
449
965
395
771
341
624
147
233
381
678
82
87
202
211
494
1008
327
747
766
273
422
306
626
897
639
865
669
914
755
969
46
919
382
238
364
51
938
309
808
22
713
180
18
837
266
591
823
90
272
255
422
254
907
178
861
91
967
668
482
606
484
407
995
837
894
72
56
804
797
87
6
76
443
198
154
969
666
1
436
867
270
902
282
632
3
435
960
993
1004
190
417
1013
840
945
289
7
423
772
629
954
661
902
167
163
658
129
672
645
997
572
252
220
907
369
460
778
568
527
471
61
791
386
821
363
179
171
834
834
929
608
708
473
772
712
850
969
388
913
222
524
867
488
656
702
795
372
97
407
198
717
618
753
84
133
639
739
844
158
954
54
41
450
219
344
945
670
248
908
855
5
245
496
729
774
56
669
377
647
4
678
541
3
583
247
1009
141
369
547
349
537
54
979
85
268
92
345
992
653
451
866
984
838
744
44
933
71
432
905
417
285
255
683
512
738
183
575
825
993
977
369
330
696
227
925
162
694
537
789
359
554
352
508
839
1004
604
582
348
92
777
710
782
986
336
233
32
865
727
1015
946
1006
386
825
272
600
504
2
238
995
288
169
205
751
898
368
122
1000
717
232
216
275
162
957
914
794
222
467
687
674
254
443
1016
642
210
551
194
300
210
292
540
105
663
476
899
80
734
269
443
247
345
489
107
500
179
185
203
354
675
414
344
405
119
37
130
982
106
261
109
785
167
530
47
200
101
869
308
991
966
287
399
729
660
253
713
892
47
837
806
674
449
159
146
555
290
211
57
10
441
797
425
1010
261
398
948
242
680
836
268
315
333
139
727
454
844
661
129
864
372
60
738
673
618
684
528
401
855
922
427
265
428
738
752
129
865
865
224
651
726
105
560
120
1001
827
418
736
819
702
496
233
282
746
357
512
819
825
834
880
301
717
401
641
45
999
336
431
738
1013
17
928
142
95
670
399
868
36
603
299
290
682
283
381
11
363
612
389
108
878
721
353
545
901
244
517
840
574
1021
53
698
745
637
359
674
529
993
348
367
675
356
673
827
924
79
321
830
537
815
870
55
776
1020
91
996
837
87
930
796
657
476
567
682
988
73
609
374
287
667
233
961
49
660
608
701
685
856
622
172
591
852
967
985
462
132
167
330
781
602
524
322
661
414
647
833
20
358
81
156
331
409
470
386
716
402
16
325
808
817
924
125
289
706
648
378
1008
421
870
338
139
251
16
1007
915
166
765
796
311
289
152
907
1019
169
390
8
994
1009
956
771
87
767
609
364
657
537
147
835
710
802
993
340
347
202
984
30
781
153
18
294
573
989
937
113
694
206
970
178
848
753
748
880
537
365
531
212
300
107
959
196
480
27
686
797
689
372
464
559
656
174
444
996
928
487
644
361
638
271
332
502
77
250
159
604
229
556
985
161
349
374
544
632
831
927
602
980
0
33
44
165
543
948
777
748
228
351
613
372
949
504
891
977
515
588
627
196
307
303
919
327
890
777
304
237
1000
999
194
617
593
584
717
970
952
524
648
132
1013
451
436
36
288
32
775
273
493
891
755
157
133
826
684
368
1018
660
641
181
91
969
801
599
218
722
86
727
726
111
643
797
458
563
534
59
611
848
853
412
665
889
655
242
970
16
753
633
30
245
908
604
690
251
831
524
83
705
47
606
570
127
728
105
1008
483
916
38
42
867
377
73
93
906
332
127
896
497
988
923
977
648
483
863
228
417
983
383
635
270
119
455
576
124
335
425
478
788
116
779
682
728
656
784
849
782
844
994
81
720
480
506
762
577
21
18
90
41
838
89
760
979
155
834
159
665
689
804
603
794
112
358
389
235
967
898
417
181
325
652
290
271
238
778
507
691
32
355
959
285
31
43
940
50
103
168
174
252
392
91
683
245
551
260
604
696
15
874
141
842
825
621
425
280
129
111
624
378
617
531
771
76
18
730
187
514
150
758
732
698
982
176
720
996
631
966
934
897
313
877
119
954
1000
17
762
66
410
170
430
25
226
438
498
681
906
571
64
673
390
945
75
1003
325
1006
487
420
724
784
840
90
263
613
892
68
866
986
132
742
438
763
364
409
280
723
615
182
837
923
510
110
20
519
410
544
149
585
612
888
486
749
644
734
700
427
858
172
744
883
946
836
633
371
820
474
1001
513
576
445
608
10
442
398
476
237
971
77
841
561
46
468
984
448
557
119
719
314
639
492
280
667
395
567
564
420
595
474
658
559
221
157
587
402
522
206
156
515
320
788
154
398
417
524
509
327
925
826
781
70
917
853
90
665
184
369
610
323
438
266
773
909
548
41
58
899
492
77
1013
639
984
774
807
752
700
520
437
135
126
592
494
44
135
1020
974
527
252
965
847
1007
772
91
680
407
588
331
937
507
81
91
21
1017
140
278
644
760
351
423
949
893
282
648
140
26
170
914
136
340
611
123
276
69
722
565
827
95
12
313
260
113
610
676
338
505
995
416
898
79
177
334
351
407
114
646
382
766
900
422
606
729
653
501
326
803
516
584
840
545
249
226
453
552
305
575
280
841
761
586
1022
952
17
226
593
895
526
760
1019
398
598
553
583
159
131
302
698
840
594
623
953
277
933
69
744
584
172
985
325
287
544
384
537
129
429
633
311
607
150
411
432
237
669
282
588
642
927
962
412
127
988
310
898
843
633
726
51
884
200
783
699
887
476
717
53
833
38
549
46
930
960
118
422
742
671
489
911
761
243
410
510
478
55
235
14
802
1014
394
929
404
555
558
803
1015
840
1017
136
780
437
280
84
201
394
860
474
701
900
626
499
803
480
942
150
161
723
715
369
584
987
925
931
180
107
706
3
656
282
343
320
847
856
568
956
194
901
343
198
881
902
441
446
128
870
389
893
240
701
374
129
284
264
979
933
212
54
689
222
106
415
882
377
251
375
986
826
413
705
573
919
623
1017
881
81
995
681
73
555
388
497
830
229
62
181
438
134
150
474
726
596
125
89
512
460
969
492
754
849
975
502
956
774
553
852
347
241
243
851
209
764
641
521
319
566
501
870
577
354
449
313
472
986
27
543
552
409
675
624
579
881
417
69
848
492
490
889
705
577
257
349
570
840
197
969
851
518
146
391
685
596
308
414
88
249
423
423
456
563
416
870
149
753
978
369
183
382
353
716
656
443
305
861
886
574
152
386
493
173
927
822
715
219
900
564
458
775
700
606
1008
218
490
97
661
475
338
514
416
698
348
315
905
527
176
918
663
391
660
306
105
107
16
1020
723
539
514
851
865
648
206
879
828
784
516
873
932
813
823
44
197
529
674
819
268
864
232
181
312
356
25
619
622
562
784
610
976
343
55
107
171
14
394
669
440
9
442
89
869
409
195
87
87
145
889
892
318
58
236
729
510
605
459
128
439
783
524
758
445
285
909
153
883
538
879
983
239
968
4
803
712
142
292
371
495
966
264
163
1021
786
4
272
225
463
534
750
461
222
1016
199
982
777
339
389
148
803
338
1002
734
119
903
960
917
498
491
990
497
906
942
31
980
703
664
471
530
156
701
873
298
1020
889
998
596
542
25
887
853
441
145
489
66
557
279
160
204
401
1005
743
298
177
255
973
100
494
11
281
256
62
330
19
815
950
698
719
748
684
168
274
232
724
960
862
331
864
177
294
808
478
257
379
515
929
184
781
487
76
1006
1013
663
464
598
24
465
985
18
515
980
201
126
816
540
156
30
38
7
385
481
343
304
298
887
961
650
119
469
467
468
570
64
91
573
818
414
450
176
570
847
892
621
945
888
558
886
645
273
406
729
450
738
380
716
598
963
582
870
324
930
215
755
972
90
402
657
198
969
734
445
350
746
887
146
639
270
819
290
705
825
151
899
778
494
183
804
499
456
445
422
248
852
576
607
477
483
50
521
1007
941
987
406
22
289
150
362
208
846
148
769
972
789
160
970
676
802
319
600
47
944
857
343
96
253
1006
319
112
312
144
787
299
116
53
831
0
781
161
226
852
873
554
349
868
322
180
163
1015
420
148
292
20
500
754
46
406
94
982
781
17
769
469
947
318
376
876
100
508
923
693
1015
508
453
816
32
328
690
3
167
8
174
675
230
384
993
537
544
901
313
923
522
1012
124
458
864
394
867
617
821
539
611
311
299
781
286
362
80
989
541
663
947
685
486
477
853
662
799
900
754
1009
31
740
733
614
185
915
281
618
345
599
644
754
343
355
212
169
453
542
739
41
874
615
843
772
694
99
453
349
399
717
97
892
50
744
844
180
370
53
32
273
251
345
946
834
953
699
572
284
82
970
414
735
427
830
106
235
977
376
393
282
452
1008
979
88
944
182
26
263
835
972
708
56
513
240
285
210
951
709
175
3
724
174
903
780
499
405
90
91
543
143
870
313
710
960
56
376
850
392
759
159
524
316
42
888
303
417
76
542
137
82
331
373
304
765
551
254
652
118
670
43
519
441
169
638
185
195
558
762
789
148
50
903
13
492
966
479
1008
869
1005
74
853
366
580
881
196
72
524
386
96
489
486
178
387
241
727
403
216
344
363
325
77
1015
646
692
49
752
52
55
435
581
804
216
772
329
704
9
1007
153
1021
50
932
939
303
562
947
51
259
393
484
856
47
298
804
536
692
33
93
852
784
995
591
747
827
934
779
314
541
20
748
804
440
79
285
577
299
378
949
796
747
109
447
782
277
98
571
617
143
749
776
218
745
817
912
225
491
651
620
870
642
270
954
476
192
744
864
494
0
498
736
243
1009
943
61
439
440
25
193
99
970
656
954
277
600
274
1014
888
37
793
913
667
904
288
93
310
225
637
580
311
963
237
356
779
732
627
928
16
935
750
864
81
419
998
138
135
273
748
143
1019
962
372
209
541
1000
632
980
879
949
321
729
154
131
683
132
631
490
75
993
1019
1018
14
913
693
1022
460
141
769
358
189
754
703
856
975
838
310
965
286
330
189
397
808
150
453
748
973
156
915
896
469
54
100
731
330
325
658
70
599
967
301
753
308
36
881
351
955
633
54
373
489
604
76
669
488
886
453
823
346
506
552
448
699
702
391
530
113
721
837
943
407
329
694
657
1008
98
864
972
875
159
405
493
871
453
259
196
132
325
920
464
220
879
630
393
11
1002
300
620
527
838
294
708
713
536
803
462
92
815
412
268
533
657
162
666
863
490
718
942
720
934
559
209
958
57
338
19
791
88
434
645
497
742
798
319
499
693
975
637
7
230
660
933
317
43
848
726
928
101
816
469
668
424
459
441
288
228
701
53
760
762
247
998
950
634
953
78
1018
912
714
628
476
831
856
278
594
416
189
653
869
663
108
851
338
141
967
228
649
580
913
837
3
578
371
748
889
493
508
44
974
517
860
123
439
72
671
203
451
699
540
665
970
159
514
405
573
427
785
891
48
840
687
238
784
149
900
671
641
348
922
813
496
965
468
138
291
6
648
228
327
323
899
453
544
559
940
688
66
363
99
825
72
300
682
923
120
123
713
944
462
979
207
554
19
246
160
243
421
884
462
568
508
117
542
882
229
625
104
1020
397
403
65
672
556
408
81
453
311
18
224
915
303
47
476
74
179
729
970
438
866
1014
521
772
652
934
440
810
237
715
790
193
910
684
282
16
1016
291
119
274
682
450
184
384
777
135
675
191
761
525
247
461
528
494
558
204
579
954
102
441
498
366
709
787
825
780
233
130
686
215
1022
606
349
771
726
399
637
344
557
483
815
958
223
1016
520
518
1
817
552
527
901
984
659
513
318
639
909
493
889
418
198
725
563
420
733
483
788
951
523
375
487
448
676
298
879
295
140
42
936
358
777
221
596
854
399
811
676
524
221
126
66
864
164
614
169
577
182
300
798
278
44
90
447
752
776
763
744
13
60
984
617
421
711
934
829
862
465
78
384
951
13
7
10
485
28
484
699
402
797
125
972
137
942
409
155
460
590
344
564
266
438
746
301
309
763
797
991
736
166
115
83
882
249
752
467
811
187
850
198
864
987
687
901
331
24
242
778
166
821
169
919
326
327
349
935
126
504
359
440
220
618
946
588
972
437
765
196
303
738
980
875
408
807
20
177
824
447
565
781
432
648
859
695
916
571
567
952
358
95
840
839
869
44
45
227
851
536
935
633
685
831
492
770
34
872
129
228
917
939
745
1017
551
813
815
908
927
535
190
356
167
40
890
286
327
445
692
725
88
458
963
416
805
586
594
763
583
955
144
656
946
129
206
116
31
869
482
927
786
745
153
632
677
107
186
255
19
1005
476
532
104
414
259
446
995
724
398
908
892
148
446
490
29
739
10
136
178
264
787
669
886
197
921
887
808
886
343
313
408
727
42
808
586
106
796
196
936
346
293
583
715
557
212
389
586
921
209
517
292
238
462
181
448
285
889
19
323
674
611
465
266
368
466
311
500
661
418
947
136
94
219
489
148
982
166
133
3
616
491
340
669
831
482
747
965
196
882
232
862
592
470
376
618
195
434
837
849
502
141
457
143
101
760
255
924
12
878
897
1018
118
171
584
551
420
20
91
110
636
707
225
920
454
846
360
246
252
705
459
889
430
322
864
268
808
401
455
792
618
784
802
534
782
989
688
603
390
552
360
404
138
649
712
171
819
408
528
231
152
752
1005
819
286
872
780
94
298
326
77
1003
347
341
262
302
824
190
768
686
418
149
439
982
361
726
392
839
640
871
823
380
603
104
550
234
698
439
250
853
50
495
909
719
67
516
940
26
127
804
91
494
976
323
327
503
321
446
124
969
448
471
457
607
299
419
525
656
16
14
514
979
596
730
435
274
481
815
274
921
370
733
581
837
136
754
882
216
66
67
396
63
639
90
301
872
266
438
249
73
437
95
122
57
48
945
163
539
336
51
271
777
689
234
279
197
78
175
959
777
179
702
218
386
520
1006
16
636
12
1022
469
164
304
483
956
429
991
797
667
280
363
909
255
182
359
686
604
644
572
996
995
846
61
606
44
429
73
584
385
343
143
533
481
678
269
284
32
57
556
1015
380
313
129
845
526
1019
866
296
1008
156
161
258
875
688
250
487
218
345
540
410
964
353
451
898
398
814
489
457
731
688
162
960
261
78
731
103
573
754
99
8
58
836
631
151
103
646
12
345
443
350
854
8
438
732
101
410
202
681
618
832
974
520
209
702
738
903
565
668
218
833
570
509
551
742
665
777
370
65
590
1021
742
965
360
600
243
494
550
217
168
548
319
43
11
954
629
768
5
386
603
466
78
688
879
28
906
281
961
764
424
862
635
203
1005
277
850
250
362
281
576
810
510
254
1016
78
361
91
558
739
955
942
458
942
612
192
383
125
676
806
274
669
833
322
723
894
596
827
382
452
71
337
815
621
989
663
786
287
220
890
765
18
533
959
457
219
726
89
44
583
801
532
408
107
302
160
620
371
786
619
826
1023
142
538
283
609
506
463
105
213
100
759
124
285
339
666
447
691
531
495
441
169
666
302
441
365
997
119
489
925
351
413
395
315
900
762
767
522
1
450
823
895
134
500
576
956
508
180
382
908
878
848
114
152
208
352
381
500
734
837
655
807
959
260
283
559
395
220
755
609
795
736
875
593
498
159
264
564
595
611
238
511
750
861
41
860
673
314
479
362
116
29
195
438
783
90
665
982
416
537
143
899
65
974
696
4
678
772
438
770
393
825
105
396
334
826
266
971
943
785
192
918
602
369
178
948
488
976
377
767
563
869
177
137
707
953
624
374
721
151
686
86
689
991
758
788
730
853
916
589
181
478
14
618
470
849
723
1021
384
686
913
354
261
195
919
598
228
631
196
981
140
852
134
770
324
939
651
348
935
330
707
923
274
174
993
761
575
152
559
198
426
407
701
611
698
320
168
575
335
242
660
269
614
916
666
141
970
339
391
380
976
543
79
667
579
920
884
43
994
109
232
432
238
836
71
687
805
239
496
741
602
712
75
176
973
968
281
653
665
623
636
871
393
218
492
947
548
729
444
684
218
31
865
827
875
526
567
672
761
844
37
418
581
269
624
919
577
695
916
973
224
815
434
430
566
636
143
941
271
372
467
673
405
707
855
75
80
707
716
548
167
491
629
578
82
920
567
938
64
174
762
419
156
873
598
168
161
83
850
138
212
786
619
341
948
618
54
330
531
983
138
890
451
530
473
81
416
865
387
667
719
131
477
506
559
615
969
215
187
841
105
210
284
224
200
590
439
748
624
132
745
374
872
765
468
763
162
775
479
425
780
264
501
388
749
130
679
137
681
796
667
288
421
747
151
197
189
28
88
761
203
213
693
860
103
178
19
263
156
190
65
997
375
797
321
113
28
154
439
113
707
255
709
700
535
247
768
989
726
969
241
288
161
841
354
96
129
86
158
281
652
859
891
259
220
422
1018
157
655
991
388
585
730
669
266
631
98
396
787
324
1003
714
255
600
700
33
226
995
243
200
794
483
863
516
115
612
89
521
262
398
613
253
327
797
233
32
214
23
968
507
780
55
234
427
617
631
262
736
800
201
497
973
82
358
883
862
5
962
337
24
296
434
437
109
552
948
822
593
568
331
23
85
736
123
939
58
558
66
356
118
278
10
122
368
469
938
837
403
997
1
700
444
612
812
515
327
77
775
45
399
762
329
430
504
312
274
631
570
118
752
58
461
673
246
1001
906
199
174
875
141
80
92
263
285
835
381
836
527
802
731
908
921
751
725
484
444
226
878
346
922
656
288
199
804
393
988
486
314
727
147
560
8
817
195
392
559
64
805
866
390
296
434
525
448
110
531
586
320
585
818
218
96
909
664
331
910
623
28
948
849
326
438
834
344
948
123
387
613
141
221
851
707
677
323
598
987
507
515
496
148
1009
447
944
568
153
405
132
249
197
616
905
538
843
248
27
529
38
366
288
901
143
256
167
16
492
491
603
1010
562
80
447
426
161
638
749
682
740
152
42
795
512
945
876
96
803
30
366
892
349
639
667
970
930
96
123
39
368
789
872
508
718
763
264
327
767
604
184
11
822
934
900
823
710
844
649
726
830
510
986
849
270
192
46
164
55
399
598
1005
271
705
381
51
643
506
984
293
416
219
494
223
675
582
955
635
558
440
341
496
199
965
2
99
183
759
630
1022
779
107
202
68
154
360
57
511
202
893
207
643
230
569
968
261
131
190
517
297
119
813
807
144
98
826
786
527
124
45
697
1009
593
558
817
918
899
361
930
848
296
431
630
853
80
352
714
302
777
472
932
14
978
915
459
404
363
460
543
679
683
355
561
568
511
544
117
139
973
388
580
966
372
473
148
238
889
500
5
52
969
527
96
463
215
654
730
787
470
993
247
666
194
374
662
61
773
879
612
478
837
813
433
949
383
1000
801
311
767
967
840
15
53
666
55
492
674
503
837
221
378
285
688
335
17
958
493
881
87
83
720
8
758
619
228
108
190
981
451
797
6
169
994
968
847
469
823
782
999
198
281
355
292
997
449
166
326
933
848
600
696
755
13
91
1013
474
129
235
767
801
624
190
1017
639
300
2
898
696
151
527
118
469
327
472
447
375
60
561
732
821
609
385
0
871
1007
260
198
10
326
405
695
971
760
566
139
506
702
399
6
910
489
370
886
325
784
312
628
303
60
315
100
471
624
425
544
509
356
782
840
490
1004
66
952
265
593
267
479
620
252
970
217
925
208
779
796
493
948
379
419
549
969
351
891
691
264
303
373
534
573
669
168
678
554
629
865
422
932
831
1021
413
105
617
258
460
280
911
833
57
72
772
359
998
579
960
526
517
417
796
323
1013
306
954
754
842
792
462
936
397
881
314
361
422
715
212
924
772
651
546
531
608
480
507
942
545
380
332
720
875
287
587
595
504
395
120
202
930
690
900
576
842
903
936
264
206
476
715
1012
364
128
8
255
481
68
324
153
131
480
162
791
477
316
450
908
712
354
716
693
435
806
8
547
1005
282
63
197
805
12
517
427
464
255
438
884
383
919
705
17
328
203
605
76
447
123
381
70
177
936
224
445
371
224
262
683
721
187
97
629
8
815
500
104
26
488
298
636
18
819
517
82
639
619
541
198
696
145
810
872
751
943
228
547
184
495
855
748
756
459
108
84
210
1013
743
139
705
54
489
520
403
755
170
740
51
893
926
87
1000
358
243
495
875
823
790
656
846
93
604
199
225
833
667
166
248
537
13
562
726
561
921
173
415
488
856
457
196
281
979
770
522
379
552
109
135
938
152
11
263
813
585
284
134
648
330
976
1016
450
290
709
374
373
280
65
979
217
10
797
519
624
352
303
742
751
7
1011
940
477
349
97
756
835
13
292
1014
168
114
50
980
675
519
389
160
836
929
587
1015
597
444
158
764
398
497
42
491
836
1009
911
26
818
79
33
310
594
982
272
811
408
761
205
982
965
347
621
634
816
462
357
591
600
958
686
377
225
804
736
648
83
885
210
351
143
407
734
380
43
769
593
110
356
93
646
410
559
692
938
369
929
394
907
966
430
350
712
700
34
559
642
380
565
912
251
247
881
936
300
66
60
454
572
66
313
961
304
400
305
466
313
205
867
803
212
60
301
304
940
467
601
190
500
548
941
515
477
45
443
841
402
134
327
952
51
592
742
110
372
420
350
297
1003
602
173
988
866
653
411
289
872
253
571
483
666
388
242
526
590
842
916
247
590
497
828
566
796
270
134
291
999
479
560
60
631
10
521
845
50
781
231
120
476
104
607
680
387
620
523
880
665
63
844
239
339
428
551
735
189
806
291
1002
678
169
628
566
975
38
252
402
962
567
887
644
764
835
745
364
662
817
503
229
477
311
585
794
507
620
606
94
1009
187
715
330
893
731
282
574
381
692
869
421
922
943
898
871
108
792
488
344
911
883
917
320
541
740
854
937
606
216
593
960
488
910
781
967
885
974
334
484
302
447
183
575
863
972
318
225
216
386
880
208
139
589
790
434
752
961
79
520
142
701
966
863
761
322
350
154
325
894
700
327
697
1020
858
801
21
147
125
399
215
239
146
772
478
126
233
553
870
578
703
937
134
229
684
224
942
559
1004
360
436
794
697
203
447
73
44
148
974
1021
42
903
468
532
695
560
237
190
265
617
444
452
56
490
256
344
674
226
652
158
8
533
198
295
331
10
908
912
976
902
974
282
396
440
363
540
93
1000
773
25
1021
614
625
706
451
83
280
710
373
237
607
627
340
932
394
82
422
786
711
198
975
328
92
99
420
650
378
307
671
846
1014
547
428
371
106
928
194
400
674
172
941
796
479
8
919
305
272
314
512
160
828
308
235
520
70
785
267
915
755
939
443
985
1004
571
964
278
225
141
846
592
243
700
941
879
973
692
78
730
208
545
367
177
291
970
703
730
456
1004
701
578
830
430
833
871
526
295
410
733
826
52
498
663
559
134
97
284
565
576
548
834
863
896
147
786
345
40
884
247
880
278
724
225
519
734
607
119
484
222
1015
741
980
208
229
304
981
760
798
537
394
356
629
939
1017
886
435
720
587
121
221
762
354
495
912
135
1018
265
595
144
831
429
377
158
242
856
720
761
305
282
844
288
895
422
402
168
832
520
844
290
315
87
876
546
926
151
972
329
538
464
200
206
2
233
1017
71
370
667
196
980
167
93
49
736
375
695
695
835
367
81
955
601
674
989
501
143
879
263
356
367
735
919
706
1015
810
740
606
857
758
803
842
550
462
855
18
141
378
914
809
951
798
176
503
168
219
529
887
678
312
743
178
983
555
285
647
478
471
516
886
692
947
909
601
132
338
803
763
897
544
33
894
784
721
668
607
277
945
560
590
959
971
980
201
190
197
598
203
701
566
427
143
726
1014
415
640
451
654
269
174
768
730
821
410
526
475
908
365
997
545
400
928
418
731
185
827
327
816
514
760
933
788
106
207
140
317
62
915
666
282
562
810
471
71
55
131
129
944
444
162
728
532
781
427
847
85
657
592
211
289
795
453
734
99
720
904
526
34
732
20
754
734
133
973
310
515
973
443
135
119
649
901
856
32
1019
787
277
453
918
539
853
613
530
643
2
885
409
307
255
346
233
806
114
838
573
316
162
312
361
591
426
499
699
536
146
837
165
485
809
259
150
234
893
305
995
587
537
462
911
225
329
763
197
806
961
854
835
651
818
935
347
500
43
909
985
634
581
6
199
101
475
504
875
1001
373
87
932
896
1004
775
362
353
746
587
923
562
592
887
566
625
472
625
899
258
198
861
484
753
576
266
294
873
194
683
511
5
588
70
1013
1007
766
305
402
115
303
51
214
36
334
909
526
771
981
386
738
240
410
178
10
97
466
551
816
961
850
701
893
199
771
23
444
41
867
661
497
284
124
128
493
1002
334
804
431
155
906
353
140
906
660
446
126
286
211
445
527
435
663
120
925
733
877
483
788
698
935
533
878
1017
533
134
65
448
591
697
33
41
647
912
80
307
461
546
638
216
363
447
932
234
141
303
285
1014
893
614
410
216
18
241
576
201
171
698
14
317
463
521
520
290
406
718
712
227
614
607
914
492
467
570
962
702
97
864
650
66
1019
949
145
50
22
921
705
291
288
312
280
323
369
994
378
647
844
286
826
845
771
222
92
4
19
664
530
334
776
927
548
692
774
807
219
616
760
930
391
650
101
919
246
447
118
277
51
515
323
710
679
40
480
104
742
731
129
888
986
392
435
743
526
580
682
496
356
983
519
250
829
732
960
717
769
872
827
49
723
888
382
805
834
455
578
814
572
980
60
7
670
760
983
1019
722
561
708
226
879
150
330
687
603
406
12
636
807
675
385
42
8
990
89
236
765
777
567
908
24
326
795
6
700
171
377
950
764
414
15
93
110
476
21
975
305
426
152
478
105
27
745
66
22
499
628
838
419
894
432
203
464
371
994
279
821
713
195
53
811
773
706
464
126
6
432
637
52
77
667
632
804
413
825
460
14
349
349
970
534
394
906
476
699
520
210
1001
233
583
807
531
898
527
673
837
598
528
656
996
898
735
640
899
962
648
175
312
990
528
841
489
745
979
630
980
957
733
389
370
743
303
638
311
272
722
229
253
521
71
602
748
627
671
553
72
858
758
422
273
917
554
525
986
170
446
961
441
44
169
864
1005
279
938
989
543
53
96
720
428
349
567
1012
653
227
683
629
84
761
338
127
620
25
702
376
33
521
611
105
387
152
272
999
868
473
922
772
910
425
196
253
945
651
738
34
969
405
63
578
457
89
797
715
893
289
616
836
293
688
455
192
164
963
309
605
942
85
322
662
839
814
29
57
298
404
361
444
940
208
329
360
143
865
155
334
425
786
812
990
137
539
241
385
960
803
528
40
594
492
1012
324
759
154
720
809
452
407
988
998
36
603
835
201
844
862
840
507
216
567
494
114
135
300
493
794
188
602
513
864
947
608
915
889
615
892
623
686
182
341
898
348
76
776
756
684
230
737
77
463
844
163
214
154
436
14
95
330
303
547
238
244
1018
688
271
947
967
684
836
998
659
276
628
690
135
684
355
318
983
540
493
44
67
649
478
332
491
309
403
780
932
502
622
324
609
130
644
368
657
446
416
338
482
34
452
618
367
480
1021
620
624
226
292
434
1010
459
402
620
911
18
355
937
828
239
208
923
704
809
186
55
772
300
494
455
47
69
30
1019
325
812
451
883
281
606
755
211
483
210
866
564
643
476
546
747
32
638
161
135
1016
458
950
557
71
661
826
922
844
1009
793
214
258
1020
597
824
274
252
806
115
697
636
33
449
825
512
164
288
170
61
253
596
503
696
130
1022
624
832
412
570
737
675
153
712
745
581
264
61
92
943
466
975
773
650
685
692
641
309
748
773
99
69
354
957
948
216
89
543
660
115
483
880
680
437
0
653
646
222
198
437
167
812
646
620
716
73
895
43
65
416
1
619
144
553
8
917
933
52
821
652
112
132
917
702
697
495
254
495
107
57
667
406
76
163
324
804
262
738
427
655
756
211
264
99
608
885
847
904
667
280
961
10
244
838
736
182
304
38
302
253
61
878
68
415
472
264
496
496
742
739
119
633
996
133
267
43
239
53
129
125
272
759
577
893
134
936
449
796
456
296
651
251
61
304
187
288
879
403
265
765
94
1005
670
133
634
1019
232
19
52
700
766
710
890
811
683
580
675
352
693
386
688
993
141
788
636
415
372
489
418
341
807
458
379
346
567
908
538
141
782
59
911
287
0
267
400
835
129
823
853
351
298
841
766
77
606
128
726
178
448
265
738
824
911
797
904
468
561
713
536
622
324
246
979
434
237
923
170
776
500
63
320
679
932
1020
432
364
262
293
890
511
350
386
698
156
723
262
21
818
403
233
895
464
589
929
988
17
407
294
649
182
446
912
485
918
36
939
909
969
473
820
128
33
42
877
257
1021
751
215
230
567
118
504
209
726
460
372
751
129
229
174
906
109
723
490
156
412
102
431
290
1020
667
697
461
400
301
710
637
826
906
847
573
130
121
301
411
984
453
234
571
116
629
606
471
239
734
104
881
367
597
637
488
823
145
917
295
581
366
182
307
69
440
298
419
995
374
228
830
579
907
603
384
378
472
562
847
2
664
20
389
297
665
287
17
960
44
829
761
48
230
897
579
811
581
759
815
119
666
669
655
83
955
12
96
780
666
914
170
879
381
775
567
38
550
854
156
95
167
346
383
430
575
821
208
346
59
550
302
683
876
1022
603
486
909
863
523
407
692
715
18
505
459
607
638
867
814
879
753
975
670
231
351
725
91
347
359
364
220
283
796
496
268
352
61
281
865
209
651
361
256
949
244
913
955
556
280
700
826
551
567
579
216
125
873
880
97
56
413
245
217
882
227
182
1023
953
814
132
526
741
615
793
706
86
568
150
390
648
870
3
618
139
174
238
784
1017
191
599
220
568
373
19
715
535
234
161
80
887
225
376
288
666
956
454
815
808
827
61
605
909
79
341
538
633
59
290
414
296
696
520
72
93
40
947
165
896
629
77
160
68
778
98
553
937
125
920
307
42
161
665
406
788
487
431
813
561
218
261
61
472
141
554
924
128
640
298
909
954
735
282
568
690
50
256
979
508
937
891
945
939
64
177
886
304
211
848
642
519
574
717
197
797
745
675
946
858
564
254
183
981
228
760
145
669
92
959
467
807
675
206
900
190
128
774
685
449
331
494
479
341
1001
1012
371
301
498
785
27
1002
788
974
866
369
633
612
355
129
6
679
1000
852
168
248
492
318
508
558
422
589
710
543
105
183
980
616
654
895
319
345
513
854
579
399
42
748
464
477
810
175
997
28
952
990
59
66
427
638
1017
875
217
380
17
540
675
245
411
245
1010
552
40
240
216
181
311
201
485
398
276
131
724
412
743
790
119
765
792
799
1005
221
625
414
572
1011
82
795
38
132
591
803
779
184
764
130
742
859
757
347
41
869
176
443
44
60
523
971
564
685
877
253
250
621
316
291
385
371
856
358
380
182
888
26
154
698
782
615
923
778
348
540
476
226
475
827
962
946
291
948
773
615
526
215
73
311
182
510
792
566
691
319
650
917
495
179
527
807
732
829
851
560
704
510
577
563
580
969
81
712
264
467
182
250
605
650
593
744
980
932
120
716
657
743
798
247
319
333
140
850
26
584
980
680
936
340
651
238
976
44
672
154
467
290
276
973
995
796
14
949
885
77
136
433
714
113
609
989
801
916
561
385
802
700
705
694
706
100
440
816
741
147
963
372
178
715
912
849
43
179
690
789
819
344
246
64
182
743
930
350
897
812
683
607
29
273
411
1012
340
33
38
589
928
36
117
92
837
79
560
343
792
196
998
716
336
1009
379
185
582
901
760
1008
42
870
677
810
728
268
744
408
923
538
416
810
171
1021
372
266
658
451
912
510
595
273
304
903
246
762
10
523
306
580
537
587
659
1013
508
411
679
641
98
883
948
651
761
430
542
865
117
557
986
445
499
947
64
1008
378
232
254
166
883
923
409
307
380
585
787
730
188
215
19
845
873
1001
222
854
738
323
855
777
105
921
842
536
762
93
264
540
872
939
536
632
891
830
1000
599
590
824
430
244
976
911
49
604
448
284
217
59
930
640
930
602
1018
214
407
701
406
324
171
85
884
405
766
106
619
140
668
278
873
995
626
10
944
471
207
762
619
532
354
14
155
738
629
933
378
645
269
641
237
351
524
958
595
26
311
918
357
418
803
233
434
1010
871
229
833
469
628
771
20
121
555
128
652
817
295
643
990
828
699
700
483
374
446
702
728
230
502
979
949
407
758
544
977
876
473
658
334
441
283
36
924
686
779
231
144
230
683
94
975
140
459
534
180
799
494
10
85
845
252
134
239
262
522
782
535
604
606
815
20
200
90
1
93
616
390
743
126
554
689
459
179
983
767
202
689
355
680
472
996
273
83
997
640
159
314
415
170
176
599
148
951
519
537
185
67
107
81
318
750
607
453
897
638
793
409
210
366
910
984
300
520
479
535
170
701
696
578
160
309
141
300
953
915
1004
486
965
118
47
380
359
946
450
488
313
919
707
549
46
586
165
340
377
807
811
856
649
932
456
11
973
250
668
209
187
112
982
78
870
996
153
857
91
752
693
906
992
18
138
877
657
55
268
208
547
270
696
752
469
614
798
710
888
567
459
564
402
796
457
633
201
412
866
720
548
931
366
763
945
460
467
638
152
534
134
70
411
703
318
856
88
377
807
53
480
39
918
233
745
754
842
700
139
35
619
804
822
174
785
173
406
379
977
574
1002
769
806
947
114
229
909
898
852
245
838
506
370
754
561
90
377
857
341
77
953
121
775
431
399
787
940
733
290
978
757
425
19
511
851
49
385
375
725
40
925
201
269
75
343
265
91
365
981
407
387
231
553
531
458
99
604
295
157
425
968
573
755
1
707
867
147
455
288
388
981
404
579
458
350
741
844
138
992
190
849
913
61
46
236
710
160
192
827
980
968
275
100
723
17
132
415
205
934
293
163
46
263
957
162
817
24
54
390
400
180
606
208
699
760
604
712
235
283
748
315
414
636
40
620
155
461
111
813
42
704
813
475
247
168
822
895
531
238
661
792
123
332
960
185
596
611
402
765
44
956
300
24
407
535
527
61
79
370
208
1019
128
327
139
661
970
940
75
316
846
53
261
853
903
461
772
606
146
620
757
807
831
962
9
320
928
760
868
716
143
551
815
436
546
161
363
779
884
816
820
516
398
436
686
424
708
892
158
430
1019
549
916
852
376
707
208
558
796
636
382
353
278
251
598
941
276
502
162
678
609
189
221
431
156
957
2
623
180
571
459
270
867
26
104
515
160
339
214
183
107
698
426
212
818
740
593
558
176
88
980
40
174
462
339
942
228
631
661
855
960
680
27
562
28
761
53
431
359
1019
77
165
164
183
865
318
244
496
427
918
965
862
87
838
678
254
1003
254
932
681
151
398
506
583
784
438
571
479
1002
284
142
785
856
978
531
736
669
808
415
958
711
1021
890
541
734
868
1000
490
712
391
308
590
694
791
786
343
1018
671
184
602
664
713
137
805
559
478
830
814
111
11
970
660
946
519
945
942
932
620
667
150
313
319
424
404
259
574
110
200
929
22
322
357
885
516
520
608
748
731
693
124
276
150
138
46
687
661
565
461
538
55
516
247
964
733
507
39
594
570
838
461
5
922
503
855
722
714
993
311
544
946
528
439
68
187
15
215
246
619
127
184
593
185
504
945
374
642
155
14
823
236
707
697
121
269
900
209
337
221
973
775
8
74
800
1009
159
442
433
861
137
838
996
817
939
422
765
65
623
848
656
634
14
559
338
499
133
181
61
106
833
390
974
772
879
55
941
815
94
196
66
45
6
580
457
112
540
193
788
396
188
995
677
801
864
358
1013
583
842
843
735
850
295
159
213
431
816
949
495
741
54
706
324
411
374
326
685
726
638
867
311
327
953
396
468
301
182
141
696
198
690
68
448
331
503
443
519
142
727
830
363
823
14
928
566
850
639
758
508
925
883
1004
210
636
221
722
327
737
56
939
600
345
629
476
534
320
866
406
237
699
996
374
386
115
605
309
844
807
575
651
938
253
996
750
69
538
837
21
326
921
528
34
43
858
64
513
672
116
196
109
987
126
995
188
280
219
938
436
310
450
512
671
275
189
510
793
885
401
927
976
708
30
713
769
621
514
566
966
114
422
389
466
878
472
443
74
212
884
692
928
222
251
627
563
482
44
838
650
195
549
828
96
308
682
51
908
366
71
457
959
321
272
563
130
832
295
152
583
945
326
794
615
161
599
331
147
626
359
94
277
975
552
293
152
705
363
225
869
687
692
554
1018
1012
962
641
410
161
659
669
777
505
371
691
418
16
682
963
430
117
442
437
68
1006
665
16
780
398
261
838
670
763
818
731
54
957
393
396
11
784
837
368
363
415
857
224
11
832
976
238
642
240
249
664
877
975
186
436
383
710
468
729
411
472
689
421
856
537
784
967
646
613
597
263
866
908
366
653
895
348
213
249
968
206
63
20
486
466
333
310
240
267
159
702
348
736
996
530
360
289
957
593
1
696
826
245
169
724
505
624
353
695
893
891
629
946
26
683
43
979
413
671
382
255
526
887
115
347
439
970
426
832
421
987
643
326
237
972
129
1006
754
518
186
84
369
393
442
553
104
378
785
550
260
204
439
426
448
43
331
180
770
556
110
250
604
902
41
558
815
26
166
219
54
973
656
64
279
386
774
671
793
780
812
400
366
149
500
452
459
711
5
235
210
682
477
202
4
987
846
145
732
288
817
413
17
648
984
303
698
762
190
828
501
166
811
893
288
372
1014
261
190
348
927
207
357
948
0
785
815
146
68
447
631
439
703
2
894
15
14
886
1003
150
461
885
48
918
223
889
240
455
340
255
398
733
15
519
217
601
371
757
183
100
210
773
636
510
981
286
56
708
788
833
545
468
243
450
235
150
341
57
133
28
988
503
924
937
324
832
871
106
604
809
377
230
303
1012
405
515
713
209
136
831
632
478
921
212
514
532
844
450
827
766
705
581
561
27
103
981
91
605
348
143
840
456
967
996
825
847
280
703
377
835
95
232
646
878
179
1015
141
180
626
182
598
928
497
267
774
820
524
670
125
467
618
403
320
782
286
332
946
207
748
589
714
583
218
72
510
584
33
852
831
319
791
534
568
880
234
777
437
414
992
990
852
338
453
268
355
125
414
570
1012
584
649
862
149
491
332
442
688
903
716
202
894
847
914
676
621
768
674
302
962
74
256
840
105
276
701
149
639
765
968
251
743
116
168
827
770
879
821
642
567
65
970
572
690
874
467
953
186
631
533
123
117
454
59
408
205
980
971
664
124
463
530
975
30
235
131
867
875
698
537
953
788
925
57
990
148
486
943
973
410
180
858
806
257
678
491
585
919
413
899
589
977
307
570
393
639
888
433
848
148
32
423
598
704
578
203
652
840
221
631
751
177
963
516
459
998
122
685
592
261
218
748
503
92
760
280
616
803
87
555
504
680
231
816
614
493
493
753
590
445
389
679
877
511
619
909
126
526
40
803
596
77
721
535
729
712
658
250
780
74
143
908
952
1008
253
337
685
134
958
486
537
665
502
653
358
466
466
660
837
827
373
256
823
174
125
54
516
434
697
179
185
222
139
731
1005
658
74
967
788
428
994
297
649
945
436
887
533
581
158
104
249
241
518
255
263
642
66
581
779
987
25
669
241
502
717
197
722
1013
748
50
811
679
578
100
489
337
283
383
769
185
884
641
860
109
582
537
163
188
1009
449
761
577
365
155
472
113
417
417
946
977
804
892
545
705
131
222
741
864
994
952
990
1013
701
817
677
57
805
504
211
731
999
887
294
932
690
834
365
627
883
766
238
1017
333
565
363
74
335
565
522
582
654
115
128
779
341
645
533
92
660
793
91
893
153
669
465
484
11
50
741
596
544
950
820
386
54
1023
219
260
740
145
54
394
443
802
174
807
458
705
347
926
824
877
160
302
99
219
804
271
806
783
95
931
676
352
600
958
713
144
493
454
62
279
189
468
441
129
922
481
931
432
323
619
117
380
849
115
118
574
411
886
919
952
437
651
382
675
215
277
165
938
804
564
290
702
604
490
773
662
847
985
213
294
355
708
427
931
374
555
620
702
369
1022
650
576
1009
643
69
525
881
978
19
434
541
1020
301
173
677
321
283
576
57
904
434
393
893
155
428
270
1020
426
398
650
193
774
52
1002
960
911
803
135
639
652
61
313
954
965
431
711
133
238
613
644
407
645
946
749
622
826
331
179
462
738
61
696
476
601
15
1015
628
732
155
416
707
976
310
260
896
384
671
546
508
309
351
177
174
184
267
817
210
354
257
333
89
792
78
912
581
978
690
467
190
216
430
589
776
854
848
551
876
926
260
376
46
726
820
862
814
394
466
653
951
443
698
811
395
393
282
515
159
429
257
943
608
746
364
805
564
37
144
1018
436
696
151
17
296
430
767
372
130
1011
616
359
149
962
850
840
819
228
357
418
699
80
597
13
857
505
461
549
436
607
432
354
407
570
164
1005
628
501
315
861
128
987
128
983
1013
43
985
348
856
516
819
427
301
729
187
53
599
9
952
28
402
440
980
436
813
593
778
559
877
860
262
869
6
1003
715
667
379
214
288
98
96
28
23
283
377
955
105
294
720
30
31
227
814
486
301
700
396
470
508
347
317
409
707
433
587
283
1011
591
516
769
513
853
447
569
184
139
36
914
74
1020
184
907
321
513
594
857
346
419
939
481
224
7
644
649
332
208
814
43
611
870
337
375
495
317
298
959
627
74
404
624
779
515
992
890
609
865
423
868
261
829
1004
694
919
931
356
752
611
831
281
179
490
964
504
499
852
646
639
557
563
948
618
711
213
464
142
553
217
829
225
789
225
504
998
655
664
323
522
27
178
734
399
309
544
475
906
734
1012
349
41
639
793
469
426
872
973
593
868
890
461
333
686
883
39
697
284
750
262
556
14
401
289
831
135
832
244
577
276
779
905
126
344
643
409
776
654
162
572
697
92
205
472
149
966
559
25
811
521
413
632
768
993
743
124
938
41
690
843
282
922
932
945
297
1011
971
55
99
725
889
112
347
1010
191
959
592
498
793
560
736
736
267
771
81
479
445
975
522
690
438
949
665
499
573
917
557
449
859
837
807
715
110
226
542
399
652
650
282
717
316
599
125
194
654
902
746
250
1021
738
422
412
574
1018
75
300
180
755
836
143
213
490
295
594
825
184
723
930
640
993
662
185
964
478
961
84
121
899
26
524
491
386
462
28
650
384
112
716
584
236
240
672
767
2
30
277
559
135
852
523
486
107
655
47
493
286
721
196
659
963
779
411
368
652
542
542
639
913
996
940
175
540
416
999
284
975
605
738
968
670
360
26
1015
944
551
515
327
182
692
926
723
545
131
111
371
621
79
1014
432
167
884
206
966
647
699
479
349
344
138
504
252
1023
768
781
314
368
109
841
568
279
470
730
881
635
704
423
725
786
11
247
634
164
1006
307
592
242
863
706
717
803
790
863
157
717
147
251
207
30
168
969
179
763
195
287
6
801
356
778
609
679
476
780
673
890
813
60
872
1023
698
577
515
404
346
664
688
922
799
248
414
721
780
28
500
768
333
1015
612
516
932
134
386
159
926
520
725
318
534
758
39
433
401
211
625
753
528
198
939
239
724
531
428
160
862
64
294
150
798
771
261
843
896
100
942
527
103
942
983
914
290
683
465
822
814
914
1003
208
159
960
678
807
102
419
949
201
121
506
630
605
996
434
823
328
17
51
278
367
741
398
606
714
560
402
739
230
216
663
819
703
57
481
473
66
835
949
420
537
399
253
209
237
567
80
717
891
248
791
98
227
198
871
151
688
1019
876
447
188
480
57
113
260
187
811
236
498
414
252
659
666
970
412
607
1016
939
199
399
359
125
290
943
571
808
269
580
214
171
969
686
392
903
95
984
516
469
663
631
179
369
888
38
752
85
190
284
35
361
770
683
865
292
961
738
114
938
527
287
596
781
849
576
925
1002
931
871
561
953
317
244
373
38
977
833
655
906
66
376
51
489
776
444
87
251
937
760
935
766
16
846
139
943
322
611
30
765
892
404
173
219
34
1013
320
500
1011
767
599
986
78
388
23
221
840
663
408
403
360
478
640
627
791
560
675
296
627
569
466
577
161
726
1019
772
624
964
289
791
777
622
263
759
366
241
494
196
272
273
959
248
515
219
890
145
596
17
986
878
428
885
952
839
574
479
971
661
248
798
531
562
897
371
354
1017
943
258
503
302
483
302
718
255
324
561
712
537
353
759
651
463
97
219
329
586
388
459
501
279
164
813
350
464
858
1010
433
973
892
811
851
736
277
432
718
628
394
55
220
777
381
256
656
182
424
340
163
395
496
883
430
539
565
298
138
977
338
146
667
931
919
118
23
38
196
308
974
3
941
669
531
602
279
768
10
624
515
315
651
440
141
843
13
369
738
505
915
281
109
511
755
1003
336
826
553
810
830
174
560
506
689
288
839
966
548
930
83
368
657
977
886
832
814
609
394
530
557
99
739
820
898
54
169
944
649
742
494
999
435
939
156
866
267
431
19
941
305
76
45
621
51
73
553
646
803
780
270
642
124
165
327
371
86
992
284
808
267
549
66
216
356
289
65
205
243
544
958
963
964
336
562
975
774
64
187
135
445
676
961
18
372
362
455
575
556
682
871
43
1006
272
760
603
832
881
75
113
240
478
422
408
221
629
125
698
341
257
90
14
66
727
991
99
805
518
461
288
314
869
764
755
476
1009
20
583
811
992
776
884
756
767
307
796
785
462
395
468
35
713
663
973
399
372
4
471
952
939
911
219
193
261
451
588
649
1010
507
986
407
620
806
84
667
721
33
973
344
791
504
967
781
714
214
876
868
211
600
68
164
1010
924
975
477
577
687
130
341
119
547
932
514
564
644
462
276
224
359
504
216
926
385
102
220
673
435
358
998
256
741
314
913
551
454
472
380
514
484
715
868
968
531
696
1005
819
231
260
503
172
162
375
73
336
893
840
672
433
308
576
345
200
1010
170
307
582
235
248
84
241
234
401
556
271
699
687
464
430
556
996
685
194
709
329
644
57
453
72
694
402
734
238
498
691
734
837
605
340
763
450
260
394
838
196
456
377
865
474
28
998
814
343
425
358
723
415
314
567
318
502
19
392
372
1010
698
823
891
575
388
670
709
354
120
347
646
292
668
1003
531
385
305
40
770
69
389
64
369
28
334
285
856
216
835
367
357
788
687
345
771
331
939
673
232
935
446
202
969
960
616
311
182
859
485
242
575
834
405
934
32
11
657
827
661
125
192
849
893
248
953
941
499
35
439
543
46
636
111
574
195
547
1009
707
314
811
529
812
735
573
379
47
118
771
380
334
715
397
993
531
392
84
602
905
316
732
783
88
431
500
759
14
655
822
523
431
4
591
189
481
526
342
994
713
682
553
685
258
187
303
257
949
443
98
115
156
776
617
606
664
16
569
102
475
7
968
708
497
551
946
305
984
151
605
412
947
663
304
519
733
646
488
186
992
347
984
948
888
632
225
716
272
989
881
948
610
295
558
753
692
1015
853
249
61
1016
326
810
831
151
127
882
373
910
157
100
710
206
464
903
618
213
396
105
850
786
596
679
810
667
215
833
25
825
538
424
1008
814
823
568
783
640
149
965
70
56
634
251
725
575
946
37
860
73
857
710
124
361
823
808
905
193
473
49
240
858
156
16
865
226
98
48
1007
516
872
634
113
449
830
281
195
995
895
117
140
965
897
316
542
145
20
317
749
528
621
737
76
592
424
248
924
213
526
281
316
918
427
61
791
143
798
643
533
877
947
78
201
755
341
421
291
880
721
745
840
788
307
632
1014
590
954
57
998
935
449
159
957
796
22
996
816
762
982
261
1023
18
857
859
407
725
536
317
973
530
777
121
205
533
93
31
700
491
357
257
445
1002
154
616
869
299
995
270
15
700
121
443
615
251
686
167
376
277
997
952
820
233
764
718
313
65
675
688
404
621
585
649
947
15
88
315
765
274
281
62
88
936
222
707
55
455
295
58
68
710
551
20
170
800
987
1007
944
647
135
648
309
591
377
901
220
775
301
609
361
723
788
115
312
142
774
220
823
799
540
54
445
311
466
819
30
520
622
545
25
178
273
1014
211
871
512
65
104
110
769
882
601
711
388
25
54
379
839
973
1018
450
57
364
206
894
355
679
752
959
80
207
50
394
54
881
842
466
663
890
388
591
879
167
1015
365
956
379
122
368
363
932
696
125
593
171
191
224
519
634
376
468
879
8
889
373
530
820
822
825
193
813
79
390
62
564
905
182
331
415
726
251
604
130
402
692
976
567
980
827
685
928
736
904
672
262
381
890
30
555
344
133
800
378
541
934
696
389
1016
889
914
117
281
855
1009
461
129
8
138
496
437
63
940
262
887
176
75
691
817
591
51
709
942
750
567
932
268
933
576
850
52
582
434
1012
487
973
45
434
299
576
758
644
903
594
33
902
377
653
68
198
349
371
444
925
512
808
17
48
685
638
251
999
5
515
324
886
544
587
265
971
970
71
36
18
113
360
430
331
950
559
1015
594
748
871
656
189
172
100
770
801
501
500
994
785
625
884
526
434
345
338
894
375
829
702
83
403
323
53
625
187
885
839
847
370
214
749
69
252
510
732
759
688
892
405
405
662
181
9
331
92
824
633
846
464
553
498
510
200
469
443
454
954
561
131
821
58
446
364
995
684
205
361
562
201
903
116
219
594
624
795
904
934
359
1000
469
484
583
750
412
224
221
35
648
580
101
776
776
818
13
371
673
518
252
192
617
174
583
112
667
355
143
505
69
755
116
214
13
357
712
468
393
926
956
72
125
329
325
458
143
32
595
365
22
774
939
91
373
1003
731
618
317
181
867
14
513
267
709
624
698
870
423
884
851
599
154
449
619
464
570
363
975
167
973
607
718
392
505
721
1
347
804
963
48
171
406
539
35
174
256
997
767
136
225
639
139
5
783
911
799
885
905
184
805
141
892
642
843
177
680
257
592
865
167
121
965
101
443
376
754
3
631
723
163
229
861
30
305
685
54
138
1003
449
118
181
13
168
588
1000
57
437
162
323
873
604
518
475
316
1002
997
139
962
402
751
735
415
1003
984
808
542
1002
135
361
801
956
645
708
148
415
560
464
792
622
40
964
674
434
355
954
943
732
594
490
455
970
278
650
986
145
354
524
811
242
346
182
84
938
191
810
891
461
622
136
59
1005
745
571
1006
4
107
898
654
922
122
865
963
352
894
980
804
456
433
910
763
900
295
432
200
379
863
106
267
629
96
95
619
41
415
417
466
986
495
248
204
127
427
910
744
759
770
360
389
97
332
755
586
305
41
877
110
970
401
811
1018
306
413
995
921
520
269
437
975
831
97
14
551
249
731
142
397
999
391
380
772
737
539
296
562
61
80
864
460
72
324
622
278
805
879
476
678
734
168
567
717
475
1019
79
141
512
671
23
616
293
509
704
452
720
157
959
744
432
881
141
767
938
401
953
68
19
493
822
43
45
819
482
666
763
40
817
491
656
702
542
981
381
965
119
998
739
712
739
780
570
995
95
448
430
64
731
6
320
289
772
204
608
503
248
905
830
388
952
667
213
17
46
631
603
499
171
217
387
370
613
583
389
582
654
525
397
861
679
512
159
343
137
979
294
686
891
147
380
341
585
792
928
145
897
858
170
615
630
988
485
747
881
852
875
373
710
845
594
80
818
699
148
193
228
325
273
546
913
627
470
268
7
359
462
894
468
653
1017
941
4
211
858
735
262
561
271
480
835
831
1021
572
721
805
197
360
34
597
931
345
286
381
895
1009
504
887
606
836
352
612
327
772
806
971
209
872
207
353
292
451
990
939
2
243
123
87
900
530
237
477
983
380
689
845
974
782
479
937
130
950
994
71
593
954
541
0
937
112
201
360
355
874
21
241
31
900
907
803
182
532
128
506
526
133
580
954
205
384
440
588
1012
481
934
643
331
329
378
265
938
43
887
770
590
590
517
257
282
331
377
732
439
955
645
490
447
717
540
670
921
486
932
444
730
483
659
419
304
993
391
336
234
3
882
285
38
523
419
84
185
0
885
932
333
871
397
25
90
766
704
787
610
550
844
555
551
299
678
677
763
637
769
783
116
274
448
818
536
616
367
43
598
444
20
662
622
107
499
644
290
302
239
147
227
913
636
260
937
86
19
461
960
902
921
837
91
918
702
718
823
743
392
964
411
963
273
1014
817
561
57
125
1021
600
840
677
1000
267
641
607
784
887
233
143
217
656
608
810
165
197
133
755
331
463
552
274
273
247
296
398
315
146
76
139
87
1
469
475
207
265
835
867
429
526
528
760
47
106
592
385
945
199
572
594
514
685
301
819
890
1014
774
140
635
220
391
571
401
500
875
814
997
875
958
255
328
501
959
852
200
308
880
61
608
911
605
554
631
579
922
659
188
982
791
647
418
766
525
962
804
955
35
95
405
616
138
577
636
320
996
634
162
718
635
972
755
120
330
335
946
73
196
712
705
576
344
733
247
10
325
296
33
9
538
864
1019
476
578
300
332
964
556
146
355
39
1009
909
776
848
216
587
994
180
719
852
219
28
816
31
901
768
157
422
168
472
907
490
816
848
76
795
917
73
911
485
907
99
514
64
203
410
646
22
1005
331
689
483
634
828
762
948
737
797
888
764
815
121
168
35
962
11
926
807
375
15
427
358
396
870
683
280
280
216
963
626
20
584
234
334
651
611
940
921
591
689
608
847
416
603
487
340
910
815
248
394
297
268
1003
43
1
838
327
968
954
721
359
760
567
834
578
824
984
385
56
261
493
431
749
735
704
680
706
555
561
398
807
478
460
191
301
451
951
575
423
497
490
609
475
832
349
338
947
291
117
611
216
739
115
301
547
523
638
740
242
473
581
696
81
736
247
754
311
69
825
270
917
525
714
612
848
660
146
525
165
985
724
233
984
189
482
188
877
640
564
905
575
521
1008
810
503
922
360
617
1003
946
351
189
330
867
241
131
523
39
1022
280
655
546
684
636
561
972
193
975
55
978
156
544
775
938
782
795
636
452
506
874
975
755
56
419
890
300
134
352
917
827
220
270
298
874
556
579
1007
709
1001
481
844
501
5
668
244
728
558
791
538
326
737
174
834
687
883
604
712
980
493
493
627
456
425
836
439
94
982
818
510
899
647
567
1005
791
427
22
885
163
781
98
178
472
442
590
949
1005
182
377
570
952
366
262
326
115
502
76
387
707
722
917
379
474
31
67
215
812
841
53
747
922
669
722
173
582
744
29
790
764
752
283
750
906
2
975
931
262
534
963
644
954
505
997
880
408
805
247
710
879
1015
133
400
472
787
463
703
5
988
104
968
537
255
327
489
271
451
252
910
537
659
793
100
447
613
1003
871
355
368
942
126
596
837
716
219
11
630
748
77
811
798
154
379
431
787
738
701
78
335
632
378
449
708
242
714
733
845
942
639
858
811
150
968
63
714
466
420
257
915
920
29
344
247
969
790
970
324
590
418
33
820
696
302
45
479
971
457
107
243
387
634
830
91
463
530
52
842
156
12
169
933
74
566
572
157
140
696
257
796
792
162
222
883
159
792
481
348
677
446
595
795
699
490
577
385
873
904
213
788
230
457
963
954
533
605
840
442
789
904
110
828
174
970
255
994
302
16
459
700
519
814
358
526
133
965
89
660
1007
1022
874
818
372
538
923
369
189
250
439
192
835
295
670
792
122
402
482
989
636
620
281
856
724
294
199
195
539
803
907
39
574
545
364
282
635
700
740
452
288
801
489
730
964
406
365
621
74
804
856
702
869
146
39
889
665
1018
115
851
249
514
401
772
733
202
635
380
676
934
94
467
284
664
539
408
506
60
777
277
144
86
785
133
992
593
76
200
637
348
607
538
438
925
869
993
119
566
774
282
952
86
581
507
280
619
292
949
983
409
538
136
78
611
153
122
153
405
336
969
511
999
318
667
135
105
389
208
675
291
578
686
977
621
2
338
327
271
876
85
822
965
880
864
52
756
920
812
742
901
813
278
106
266
900
68
403
84
212
16
599
437
802
315
0
159
76
555
151
120
660
584
214
594
405
308
798
319
148
389
882
329
271
352
237
890
705
19
720
504
837
226
872
1017
50
668
592
727
743
920
246
199
966
68
439
364
895
273
759
693
686
649
922
588
455
867
495
654
822
39
74
402
209
249
85
5
239
519
494
577
425
312
419
891
134
725
402
1013
820
782
30
393
55
350
733
116
568
711
918
723
556
326
590
758
547
798
475
838
4
371
758
725
20
79
437
670
967
47
964
666
58
174
112
90
283
644
254
168
904
501
363
806
206
346
452
204
762
471
93
678
633
193
718
78
108
112
809
730
427
222
817
496
788
209
39
415
806
29
389
539
242
422
686
815
828
37
442
639
35
271
1011
843
227
6
457
18
852
811
383
181
789
490
518
702
655
966
171
747
669
911
185
479
552
595
73
692
48
252
322
959
179
783
626
226
779
32
842
396
856
323
440
981
961
439
33
674
281
944
496
117
558
1021
901
359
454
570
384
874
819
701
699
673
446
486
267
60
135
314
592
848
300
238
218
714
506
952
792
796
333
253
536
574
588
993
125
174
655
562
38
40
610
674
679
392
530
176
705
954
946
222
474
87
382
970
991
178
604
319
475
296
697
202
643
201
639
639
194
127
215
609
79
44
936
980
1005
417
180
251
131
785
18
793
259
552
335
349
18
505
132
145
526
345
820
231
255
687
857
650
376
40
31
163
284
877
806
157
447
201
882
777
27
205
690
520
711
285
1011
198
237
706
665
595
612
584
537
145
217
695
910
1020
23
529
842
883
680
53
470
747
168
861
853
372
892
878
1011
126
126
665
943
335
446
914
243
299
231
212
1007
426
867
420
641
69
788
56
743
914
928
1009
106
780
697
50
688
531
155
801
595
549
204
607
330
280
823
867
415
455
542
797
642
282
516
329
394
887
901
517
204
506
650
486
950
285
1018
557
630
216
839
121
626
107
336
459
675
999
316
127
581
306
605
683
804
1007
600
385
629
484
78
607
863
825
198
659
0
51
228
698
99
718
276
304
267
331
561
362
203
887
929
149
933
822
874
287
115
353
925
270
714
848
461
652
122
821
863
566
886
776
149
744
273
757
668
521
414
733
227
759
420
663
419
275
865
916
737
979
761
687
33
967
404
97
453
785
616
142
159
882
973
232
254
836
870
884
57
431
249
904
336
443
454
454
583
628
677
720
816
30
560
751
876
119
21
98
341
211
359
890
279
141
961
260
1006
767
412
27
529
25
57
845
409
879
670
778
497
619
1016
332
592
602
222
808
405
602
844
88
508
196
635
514
456
158
14
244
348
877
505
653
18
75
768
95
208
199
748
543
336
192
909
488
276
960
108
626
83
936
868
276
756
652
93
446
280
262
535
383
903
833
867
728
515
965
477
962
351
25
926
861
984
859
966
334
392
822
199
240
914
0
230
825
191
547
575
407
133
104
639
86
456
203
221
526
933
916
1011
519
639
855
236
23
996
315
931
324
918
335
121
493
180
361
467
865
683
804
348
992
287
14
668
812
34
362
164
129
62
802
135
814
978
126
785
643
700
304
60
623
321
476
266
579
977
794
172
321
153
629
250
32
396
625
361
974
630
711
380
14
272
962
924
387
138
924
809
508
333
864
662
499
670
963
586
46
732
835
715
693
426
442
86
356
981
194
335
124
715
463
455
304
34
457
978
767
241
961
372
333
806
402
257
282
113
298
361
717
457
881
455
892
57
446
274
394
115
271
66
397
399
309
630
870
63
256
309
535
434
707
561
963
863
660
561
942
291
175
879
916
506
640
50
272
101
858
362
533
475
944
284
62
911
340
476
155
951
241
302
715
819
983
937
257
153
916
1005
691
159
573
336
664
1004
61
423
326
58
260
827
405
363
287
303
979
581
858
981
140
785
631
653
786
928
828
663
683
406
377
364
1019
72
655
460
827
610
182
474
88
818
528
920
341
142
163
632
586
931
14
297
321
62
485
219
205
928
668
178
640
676
412
620
60
386
811
73
325
844
32
749
466
319
895
687
452
290
887
1023
685
594
920
313
494
446
792
99
516
233
746
197
680
70
216
538
925
522
329
393
206
646
576
746
64
409
565
627
169
529
822
998
929
13
429
429
677
391
841
501
912
396
945
804
211
856
431
367
524
322
815
653
577
573
872
830
790
80
453
176
840
172
256
257
509
47
991
940
696
343
630
584
755
556
576
959
309
345
978
703
747
417
28
485
874
127
1000
221
327
312
230
746
254
490
257
556
772
576
227
640
957
218
370
219
130
283
279
567
929
412
899
411
80
786
223
423
516
972
162
493
750
621
822
331
607
560
327
426
708
693
972
946
481
716
540
440
69
979
385
37
704
32
552
985
627
354
687
161
302
543
705
961
407
486
281
779
774
287
766
545
904
925
846
772
207
996
306
108
39
139
77
135
943
993
865
390
995
702
537
858
394
5
327
989
84
833
337
21
219
565
906
287
181
636
449
169
475
787
372
722
198
959
435
243
460
937
360
132
460
705
975
940
863
964
262
863
93
190
327
281
913
896
188
524
56
68
618
514
261
599
629
253
593
530
502
481
498
356
838
359
977
639
472
768
232
482
737
632
718
405
429
28
384
527
805
901
851
873
767
211
514
101
843
998
1005
932
93
842
457
269
713
3
872
280
336
677
99
755
205
980
149
263
963
666
328
198
408
297
832
962
408
309
835
192
1018
617
430
871
416
522
691
732
206
992
700
21
104
381
462
1012
862
620
517
30
654
280
193
111
491
453
379
803
512
115
317
598
395
820
759
654
337
993
57
445
250
27
303
296
264
982
117
347
422
1005
111
672
950
278
498
597
271
565
210
658
1005
636
383
326
995
651
378
57
443
703
923
696
138
825
494
452
455
166
631
207
123
499
643
901
41
166
400
530
45
767
910
850
901
538
186
519
581
458
866
78
954
596
74
439
946
5
361
157
589
999
458
294
966
141
425
827
851
337
578
654
321
17
394
573
792
599
159
227
27
225
614
124
253
366
394
959
404
516
436
376
817
300
782
360
176
416
169
776
172
933
970
65
108
293
886
886
598
712
32
369
883
303
786
399
528
549
59
489
818
152
510
737
333
87
765
733
672
949
391
346
618
760
874
795
225
261
884
315
692
531
116
935
314
820
758
343
224
884
699
719
418
745
411
66
57
498
370
487
496
664
95
560
92
1005
247
418
217
264
208
280
73
678
140
258
39
438
291
937
708
909
22
1018
784
749
871
249
108
1
777
110
70
864
1020
50
409
104
749
141
15
835
208
218
383
106
898
601
141
174
641
357
282
70
972
196
928
746
603
477
488
825
237
153
877
632
809
150
247
920
1004
546
147
163
463
134
979
74
436
327
322
864
352
641
787
709
847
438
418
692
759
298
910
590
529
1010
721
813
483
739
450
831
59
298
540
200
676
932
464
978
1013
169
556
560
130
582
667
740
582
549
234
812
230
237
829
469
673
180
839
349
694
398
905
648
812
1021
515
155
669
829
286
437
945
840
740
256
689
283
340
498
83
378
219
786
684
813
428
156
991
200
476
156
938
1009
42
125
242
391
93
580
250
535
112
688
213
454
129
571
114
687
789
273
634
182
608
748
956
731
286
363
123
852
80
136
688
147
342
722
340
119
185
901
562
911
137
48
20
309
328
392
249
401
786
494
864
421
993
518
871
402
553
587
155
411
503
531
569
177
625
988
283
598
525
358
257
204
661
85
503
155
38
587
15
236
822
876
942
306
821
199
776
145
304
702
113
744
428
858
398
705
294
617
739
779
710
845
840
438
914
682
640
293
663
383
1000
664
374
849
599
709
75
719
457
437
820
109
455
181
117
112
685
462
260
537
39
936
823
331
959
121
717
989
608
246
503
196
786
1012
16
650
107
566
4
878
14
419
2
793
502
479
505
727
741
52
598
113
240
126
34
647
43
779
676
383
666
427
149
464
718
126
587
912
50
322
494
411
167
722
75
492
133
672
787
750
552
343
433
105
979
706
196
536
656
163
140
461
926
279
479
103
824
589
805
541
400
792
464
881
842
560
645
460
236
696
385
602
615
646
923
734
727
863
378
541
431
168
928
769
18
307
478
159
217
865
186
483
263
626
843
934
175
730
100
285
101
445
714
282
482
687
97
186
932
62
284
201
4
269
207
433
399
707
859
930
58
1008
264
903
549
95
423
101
665
960
223
325
297
895
439
81
344
417
579
701
516
286
206
757
273
490
301
230
175
453
635
131
556
710
238
714
987
294
972
443
263
462
598
379
269
31
324
148
389
442
113
886
553
141
194
550
759
152
634
760
751
322
546
1011
756
423
347
482
31
508
501
556
984
588
416
879
443
180
881
589
69
384
936
8
410
558
491
42
950
549
517
124
633
229
163
531
928
397
505
277
261
372
1019
403
541
742
333
773
385
771
51
628
623
573
182
972
870
125
95
679
252
701
407
283
455
219
461
737
171
666
537
204
89
344
630
169
591
603
404
867
903
968
742
777
221
323
548
765
846
235
793
818
490
516
810
198
725
625
907
1007
592
859
226
938
969
542
259
141
339
577
847
634
907
411
670
100
606
549
157
785
509
298
957
86
339
263
342
46
209
936
888
846
746
800
66
93
42
297
575
841
558
576
969
80
729
818
253
774
129
629
977
940
34
527
328
482
326
414
453
352
339
718
177
975
808
130
812
826
753
546
595
821
174
334
964
369
347
998
758
384
651
648
591
262
28
925
307
28
391
701
236
622
141
579
228
225
296
493
698
224
306
932
718
778
789
14
533
665
100
359
894
699
157
231
164
512
654
320
515
447
637
1013
912
664
12
946
911
357
485
114
33
803
766
852
736
230
358
400
443
607
712
209
993
26
972
466
935
218
107
346
37
150
705
872
185
483
178
553
665
560
233
680
673
437
805
139
98
479
737
370
838
842
207
210
247
480
842
558
498
731
510
397
508
649
244
341
507
456
190
555
430
651
907
897
543
313
985
827
801
155
553
496
123
460
851
353
958
211
272
660
193
234
490
604
719
326
747
490
145
993
966
30
496
602
259
246
269
930
220
120
849
766
348
689
868
402
112
383
507
418
22
606
840
12
693
307
978
796
39
91
253
258
843
906
270
766
617
172
399
926
545
545
614
18
1014
742
678
533
1018
938
249
352
395
193
53
320
392
995
558
301
502
315
514
467
522
389
325
363
473
338
621
123
538
557
139
982
220
2
754
710
117
652
632
246
989
46
853
241
918
569
313
183
303
237
300
16
460
405
604
489
530
486
707
552
766
559
548
671
492
0
401
145
509
776
105
377
381
359
988
881
878
632
356
914
510
950
860
71
529
858
686
314
430
547
1
189
92
26
990
341
694
398
907
651
92
878
646
721
449
784
68
214
698
727
15
617
300
480
686
773
10
903
955
896
67
996
585
576
915
730
494
54
284
97
293
908
920
554
503
308
494
896
121
686
461
341
394
274
871
444
470
66
742
836
876
408
71
489
854
553
187
951
200
770
521
628
330
873
972
24
331
173
47
809
572
557
206
297
586
731
826
595
776
450
724
290
393
125
417
569
286
982
506
708
778
380
242
409
672
296
80
403
637
168
19
593
753
442
839
801
832
873
218
52
491
991
350
250
704
562
848
532
397
450
613
868
818
52
295
577
986
527
71
848
551
782
72
164
604
594
865
368
614
284
165
296
97
431
605
840
529
769
855
695
216
498
476
480
202
663
804
961
1019
141
928
1013
358
466
710
430
747
717
795
481
594
159
408
695
830
753
198
917
237
318
459
8
244
880
940
1003
787
116
1019
294
776
432
318
97
593
317
225
767
305
366
732
445
426
653
473
734
936
555
1015
520
923
780
605
569
179
541
349
602
773
667
763
625
684
661
87
790
743
813
652
104
284
565
523
382
21
22
588
618
898
342
65
707
910
891
320
834
739
719
184
512
454
879
402
371
592
276
196
462
116
687
60
521
787
305
317
457
334
365
403
887
378
531
439
803
821
706
758
182
305
561
322
393
94
296
984
28
563
852
241
576
287
419
1
419
652
70
546
174
31
175
539
482
631
550
928
629
316
879
17
388
64
418
741
25
254
215
221
955
677
245
863
501
518
167
970
31
601
492
500
117
666
746
589
181
82
700
735
301
165
947
573
607
584
792
657
885
237
457
461
644
783
856
544
338
85
889
842
766
240
65
726
627
897
104
787
141
573
62
300
725
511
154
419
767
251
317
0
856
534
310
367
344
555
132
447
312
418
722
344
147
39
127
766
156
867
650
805
375
216
717
333
831
14
135
577
803
136
495
642
860
848
618
600
408
533
255
67
76
723
0
508
958
771
157
81
902
838
35
237
1022
423
768
544
66
53
166
853
688
787
988
157
782
323
100
285
740
936
93
577
428
620
983
353
787
744
260
687
889
565
344
652
278
708
2
495
166
811
1001
164
200
970
571
727
825
630
71
840
776
378
367
720
845
351
291
91
575
183
852
959
254
97
257
368
156
351
440
544
595
482
251
164
243
62
179
298
916
839
549
566
752
842
159
948
625
808
222
294
190
509
176
239
203
210
524
781
145
4
384
836
21
785
704
727
817
439
487
817
68
920
976
139
639
461
570
260
519
55
425
251
361
342
1014
292
835
438
602
632
878
651
809
149
54
672
167
140
427
845
985
482
89
86
602
609
739
849
247
569
887
773
20
351
806
374
305
203
951
251
527
216
243
538
190
390
853
947
594
411
97
827
454
643
165
8
747
147
501
121
248
891
800
381
26
731
881
976
66
180
1010
567
844
178
8
682
595
686
1021
825
822
966
598
661
915
948
325
533
786
74
315
817
409
854
85
222
614
683
886
466
2
711
860
47
846
626
135
688
934
878
880
253
145
124
201
824
426
608
737
1020
1003
260
102
605
292
38
286
99
696
942
543
369
684
922
341
874
634
641
178
423
782
401
337
855
30
621
502
66
256
393
454
601
914
479
288
913
1004
663
448
439
676
936
731
291
608
896
976
575
934
727
317
541
749
1001
524
716
892
442
190
250
481
99
529
921
894
971
288
879
455
1006
12
346
225
983
155
341
988
676
79
327
935
46
665
211
233
750
466
905
736
900
36
36
607
711
1019
727
896
270
128
543
626
534
447
933
803
812
585
229
197
358
57
321
147
658
1011
167
188
224
500
586
817
852
157
147
932
475
535
217
939
126
747
198
817
949
811
184
188
284
760
535
73
655
779
505
27
696
89
907
600
312
904
819
299
204
566
925
635
250
204
635
928
30
534
328
470
401
851
307
1022
230
832
523
666
555
854
140
255
181
215
809
882
720
660
268
622
415
624
310
922
560
910
605
918
642
474
739
239
188
526
695
935
45
458
307
751
668
221
714
803
645
191
947
547
377
829
804
922
454
405
261
458
548
756
88
171
429
210
1004
717
179
492
738
183
72
318
849
110
250
103
548
1011
402
461
783
463
896
187
889
836
211
642
740
6
239
4
649
155
0
624
948
656
333
139
679
980
81
466
882
825
127
802
517
739
929
207
726
961
556
871
199
44
960
710
19
619
537
309
890
535
410
451
599
535
216
394
275
398
241
310
36
905
995
258
223
391
553
49
789
991
884
697
423
924
35
739
853
916
80
455
826
198
384
311
501
640
601
80
315
287
266
882
112
1023
442
717
678
827
954
316
402
110
917
477
647
867
221
884
645
474
739
159
533
258
787
795
925
756
543
76
618
794
671
704
989
429
742
777
91
299
404
398
866
284
433
706
433
225
925
850
284
318
704
874
908
788
46
659
777
461
571
771
919
562
881
278
311
668
440
849
663
204
364
808
658
407
876
857
991
320
199
890
469
227
42
571
383
382
259
101
818
1008
735
836
717
416
532
566
777
906
608
352
495
78
897
671
569
721
376
152
854
199
554
953
8
505
872
519
648
393
1016
948
4
764
901
930
94
669
969
255
116
892
253
57
72
652
361
250
931
457
488
317
961
361
371
364
271
218
895
799
890
950
199
388
185
798
716
609
324
890
707
541
96
563
76
283
759
74
99
616
315
244
159
740
239
418
974
576
719
357
533
88
792
301
723
723
990
267
219
13
704
747
271
403
137
126
703
816
191
155
480
477
815
326
732
734
83
619
1021
815
512
934
594
643
792
663
372
958
482
249
474
808
894
55
270
690
952
483
80
825
230
599
662
958
785
686
660
358
379
141
855
923
20
242
386
411
694
314
19
230
360
492
417
981
495
941
269
431
334
980
192
264
278
413
181
748
290
809
819
901
880
831
105
790
72
439
350
820
690
396
35
958
261
958
731
314
93
899
837
231
966
59
1002
530
753
687
883
976
915
61
346
723
556
337
284
618
736
311
39
794
1017
555
1019
687
172
71
613
593
764
861
353
601
1018
337
992
489
607
195
710
188
956
219
318
563
104
361
613
563
868
875
970
327
500
788
52
473
980
420
30
541
415
995
728
771
733
709
658
872
630
35
872
446
398
671
704
1008
572
725
720
372
267
419
777
716
291
1003
587
75
920
854
16
526
564
292
130
54
516
153
949
379
393
993
791
1009
517
668
729
1004
687
387
44
448
218
327
52
293
51
467
13
146
593
434
423
554
801
580
762
715
331
322
63
521
556
217
761
199
687
544
506
917
184
653
564
160
764
94
396
455
1022
679
220
468
479
150
325
639
598
514
330
146
521
545
942
180
443
182
172
71
707
125
784
400
939
970
71
89
275
106
239
136
906
123
374
315
515
262
532
800
81
967
923
542
269
48
450
1021
380
629
554
219
657
0
82
640
779
160
715
816
506
33
272
628
705
357
785
64
628
788
765
711
273
899
323
55
476
703
450
719
337
552
946
157
811
188
147
103
635
994
787
84
575
558
863
332
955
137
34
325
942
284
677
195
542
668
311
15
567
627
438
267
706
16
80
857
890
933
836
539
567
780
938
584
901
286
292
620
934
770
699
438
400
285
709
751
767
323
413
481
482
178
880
948
625
612
148
137
660
42
888
796
953
785
698
868
237
723
822
145
787
678
54
381
786
462
985
459
896
20
423
46
490
558
605
890
854
354
440
73
922
297
404
914
360
293
817
882
858
497
500
816
870
581
84
352
978
14
193
49
611
607
322
530
564
496
206
431
425
840
570
693
615
600
552
342
30
705
982
720
815
235
338
421
298
386
443
148
265
301
638
578
905
172
230
41
391
447
828
153
861
872
656
682
287
926
670
587
202
732
199
356
986
215
732
871
484
95
357
971
143
785
874
690
65
957
538
529
93
400
625
969
419
33
661
205
977
986
192
810
386
191
364
920
593
239
837
648
842
137
298
269
1012
867
917
146
211
607
64
319
949
227
982
168
1018
919
486
477
660
551
600
938
387
994
393
708
295
101
284
956
603
728
900
777
1016
608
973
1008
673
367
675
53
465
453
510
60
863
915
916
959
88
134
640
1011
371
287
51
808
76
517
630
26
14
873
303
938
406
893
705
63
603
591
250
969
5
702
936
970
898
984
775
689
9
833
402
592
352
355
228
449
634
632
560
655
794
57
587
297
439
783
903
980
692
453
819
166
799
338
574
516
58
784
313
332
152
392
25
345
411
48
195
989
405
775
77
767
986
29
788
1013
581
343
150
109
587
945
476
196
669
871
302
944
184
858
948
509
462
1014
960
652
571
817
553
648
243
796
490
262
863
290
508
328
495
484
118
917
797
540
30
807
363
525
127
435
698
696
134
126
791
793
191
356
944
78
748
137
392
71
674
414
325
191
987
440
750
224
716
466
1004
444
801
487
656
114
604
97
657
935
615
314
291
26
819
992
80
243
355
21
792
50
838
322
81
998
817
592
53
939
204
618
526
55
681
779
444
635
946
1008
656
803
373
636
982
734
631
657
383
265
382
13
860
1013
363
922
385
834
159
462
295
344
518
514
104
757
17
378
858
203
647
525
372
135
678
186
702
947
752
863
138
291
160
948
962
24
619
748
615
934
774
594
424
546
242
638
189
994
979
788
877
150
633
261
253
115
298
492
537
971
724
785
1006
175
595
254
169
124
336
462
520
9
612
454
314
457
799
142
873
545
171
59
67
402
36
733
551
644
377
403
497
783
303
660
785
244
445
558
444
606
996
366
501
821
814
38
688
732
386
405
809
517
562
754
720
74
274
87
33
567
570
103
704
662
95
532
167
733
670
371
365
588
866
200
665
100
244
297
476
46
273
29
786
349
52
644
322
210
564
202
337
562
632
561
190
830
179
800
268
316
679
526
905
390
845
218
577
446
11
687
344
1010
635
212
69
291
744
542
834
118
200
252
578
877
949
953
52
412
555
454
617
844
280
819
909
140
632
100
102
590
933
1006
341
105
718
97
723
752
981
964
455
666
390
815
710
787
75
959
689
571
406
546
1022
540
399
646
706
319
612
364
380
516
317
61
52
727
844
872
813
661
307
285
583
799
654
566
384
886
980
648
936
586
24
850
419
319
647
962
353
1020
86
682
844
829
726
292
687
828
744
85
483
245
470
955
748
531
816
11
77
608
235
130
76
152
469
461
331
674
779
742
770
798
1000
943
765
335
280
707
48
758
1007
369
686
87
505
366
526
260
82
131
439
878
667
574
227
721
999
971
78
951
220
772
523
966
433
830
1
384
617
877
841
176
317
957
383
523
487
66
146
51
292
848
524
431
247
818
25
579
630
551
553
562
483
3
451
295
535
389
404
13
852
984
814
962
64
580
316
552
731
243
183
593
281
475
555
776
934
262
289
865
886
791
264
253
641
805
803
582
996
244
227
299
21
430
144
325
148
705
228
205
532
415
167
978
583
339
711
405
71
622
803
320
513
496
457
426
282
989
153
811
639
542
792
0
895
391
708
408
639
598
843
937
684
685
843
925
715
357
970
214
569
68
401
445
729
308
688
113
285
307
446
66
677
438
924
1007
187
994
874
733
151
856
838
489
35
684
74
627
798
932
733
808
953
228
757
622
147
47
613
6
761