Files
Tutoring-APCompSci/100kRand1to1k

100001 lines
380 KiB
Plaintext

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